# SPDX-FileCopyrightText: 2020-2025 Laurent Montel <montel@kde.org>
# SPDX-License-Identifier: BSD-3-Clause
add_definitions(-DRUQOLA_DATA_DIR="${CMAKE_CURRENT_SOURCE_DIR}/data")
add_definitions(-DRUQOLA_BINARY_DATA_DIR="${CMAKE_CURRENT_BINARY_DIR}/data")
macro(add_ruqola_test _source)
    set(_test ${_source})
    get_filename_component(_name ${_source} NAME_WE)
    add_executable(${_name} ${_test} ${ARGN} ${_name}.h)
    add_test(NAME ${_name} COMMAND ${_name})
    ecm_mark_as_test(${_name})
    target_link_libraries(${_name} Qt::Test libruqolacore)
    set_target_properties(${_name} PROPERTIES
        DISABLE_PRECOMPILE_HEADERS ON
)

endmacro()

add_ruqola_test(accountschannelsmodeltest.cpp)
add_ruqola_test(rocketchatmessagetest.cpp)
add_ruqola_test(roommodeltest.cpp)
add_ruqola_test(messagesmodeltest.cpp)
add_ruqola_test(typingnotificationtest.cpp)
add_ruqola_test(utilstest.cpp)
add_ruqola_test(usertest.cpp)
add_ruqola_test(messageattachmenttest.cpp)
add_ruqola_test(rocketchataccountsettingstest.cpp)
add_ruqola_test(messagetest.cpp)
add_ruqola_test(messageurltest.cpp)
add_ruqola_test(roomtest.cpp)
add_ruqola_test(ruqolaserverconfigtest.cpp)
add_ruqola_test(statusmodeltest.cpp)
add_ruqola_test(rocketchatcachetest.cpp)
add_ruqola_test(loadrecenthistorymanagertest.cpp)
add_ruqola_test(notificationtest.cpp)
if(NOT TARGET KF6::TextEmoticonsWidgets)
   add_ruqola_test(customemojitest.cpp)
endif()
add_ruqola_test(emojimanagertest.cpp)
add_ruqola_test(otrtest.cpp)
add_ruqola_test(otrmanagertest.cpp)
add_ruqola_test(rocketchataccounttest.cpp)
add_ruqola_test(usersmodeltest.cpp)
add_ruqola_test(usersforroommodeltest.cpp)
add_ruqola_test(filetest.cpp)
add_ruqola_test(filesforroommodeltest.cpp)
add_ruqola_test(filesforroomfilterproxymodeltest.cpp)
add_ruqola_test(usersforroomfilterproxymodeltest.cpp)
add_ruqola_test(usercompletermodeltest.cpp)
add_ruqola_test(roomfilterproxymodeltest.cpp)
add_ruqola_test(roomlistheadingsproxymodeltest.cpp)
add_ruqola_test(usercompleterfilterproxymodeltest.cpp)
add_ruqola_test(inputcompletermodeltest.cpp)
add_ruqola_test(inputtextmanagertest.cpp)
add_ruqola_test(authenticationinfotest.cpp)
add_ruqola_test(commonmessagesmodeltest.cpp)
add_ruqola_test(commonmessagefilterproxymodeltest.cpp)
add_ruqola_test(accountmanagertest.cpp)
add_ruqola_test(rocketchataccountmodeltest.cpp)
add_ruqola_test(ruqolatest.cpp)
add_ruqola_test(managerdatapathstest.cpp)
add_ruqola_test(rocketchataccountfilterproxymodeltest.cpp)
add_ruqola_test(notificationoptionstest.cpp)
add_ruqola_test(reactionstest.cpp)
add_ruqola_test(reactiontest.cpp)
add_ruqola_test(receivetypingnotificationmanagertest.cpp)
add_ruqola_test(serverconfiginfotest.cpp)
add_ruqola_test(notificationpreferencemodeltest.cpp)
add_ruqola_test(notificationpreferencestest.cpp)
add_ruqola_test(roletest.cpp)
add_ruqola_test(rolestest.cpp)
add_ruqola_test(messagestarredtest.cpp)
add_ruqola_test(messagepinnedtest.cpp)
add_ruqola_test(notificationdesktopdurationpreferencemodeltest.cpp)
add_ruqola_test(notificationdesktopsoundpreferencemodeltest.cpp)
add_ruqola_test(discussionsmodeltest.cpp)
add_ruqola_test(discussionsfilterproxymodeltest.cpp)
add_ruqola_test(discussiontest.cpp)
add_ruqola_test(discussionstest.cpp)
add_ruqola_test(fileattachmentstest.cpp)
add_ruqola_test(threadmessagemodeltest.cpp)
add_ruqola_test(listmessagesmodeltest.cpp)
add_ruqola_test(listmessagesfilterproxymodeltest.cpp)
add_ruqola_test(autotranslatelanguagesmodeltest.cpp)
add_ruqola_test(autotranslatelanguagetest.cpp)
add_ruqola_test(autotranslatelanguagestest.cpp)
add_ruqola_test(messagetranslationstest.cpp)
add_ruqola_test(accountroomsettingstest.cpp)
add_ruqola_test(messagecachetest.cpp)
add_ruqola_test(commandtest.cpp)
add_ruqola_test(commandstest.cpp)
add_ruqola_test(lrucachetest.cpp)
add_ruqola_test(notifierjobtest.cpp)
add_ruqola_test(ddpauthenticationmanagertest.cpp)
add_ruqola_test(restauthenticationmanagertest.cpp)
add_ruqola_test(downloadappslanguagesparsertest.cpp)
add_ruqola_test(downloadappslanguagesinfotest.cpp)
add_ruqola_test(downloadappslanguagesmanagertest.cpp)
add_ruqola_test(ownusertest.cpp)
add_ruqola_test(servicepasswordtest.cpp)
add_ruqola_test(messageattachmentfieldtest.cpp)
add_ruqola_test(roominfotest.cpp)
add_ruqola_test(adminroomsmodeltest.cpp)
add_ruqola_test(channelcounterinfotest.cpp)
add_ruqola_test(customuserstatusestest.cpp)
add_ruqola_test(customuserstatustest.cpp)
add_ruqola_test(ownuserpreferencestest.cpp)
add_ruqola_test(permissiontest.cpp)
add_ruqola_test(permissionsmanagertest.cpp)
add_ruqola_test(adminusersallmodeltest.cpp)
add_ruqola_test(systemmessagesmodeltest.cpp)
add_ruqola_test(retentioninfotest.cpp)
add_ruqola_test(statusmodelfilterproxymodeltest.cpp)
add_ruqola_test(teaminfotest.cpp)
add_ruqola_test(teamroomtest.cpp)
add_ruqola_test(teamroomcompletertest.cpp)
add_ruqola_test(inviteinfotest.cpp)
add_ruqola_test(teamcompletertest.cpp)
add_ruqola_test(roleinfotest.cpp)
add_ruqola_test(customsoundinfotest.cpp)
add_ruqola_test(permissionstest.cpp)
add_ruqola_test(rolesmodeltest.cpp)
add_ruqola_test(otrnotificationjobtest.cpp)
add_ruqola_test(customsoundsmanagertest.cpp)
add_ruqola_test(rolesmanagertest.cpp)
add_ruqola_test(awaymanagertest.cpp)
add_ruqola_test(parserocketchaturlutilstest.cpp)
add_ruqola_test(oauthinfotest.cpp)
add_ruqola_test(notificationinfotest.cpp)
add_ruqola_test(notificationhistorymanagertest.cpp)
add_ruqola_test(bannerinfotest.cpp)
add_ruqola_test(bannerinfostest.cpp)
add_ruqola_test(deviceinfotest.cpp)
add_ruqola_test(deviceinfostest.cpp)
add_ruqola_test(licensesmanagertest.cpp)
add_ruqola_test(personalaccesstokeninfotest.cpp)
add_ruqola_test(personalaccesstokeninfostest.cpp)
add_ruqola_test(blocktest.cpp)
add_ruqola_test(videoconferencenotificationjobtest.cpp)
add_ruqola_test(videoconferencetest.cpp)
add_ruqola_test(videoconferenceinfotest.cpp)
add_ruqola_test(commandsmodeltest.cpp)
add_ruqola_test(servererrorinfotest.cpp)
add_ruqola_test(updatevideoconferencemessagejobtest.cpp)
add_ruqola_test(videoconferencemessageinfomanagertest.cpp)
add_ruqola_test(authenticationmanagerutilstest.cpp)
add_ruqola_test(managelocaldatabasetest.cpp)
add_ruqola_test(manageloadhistoryparsesyncmessagesutilstest.cpp)
add_ruqola_test(moderationreportedmessageinfotest.cpp)
add_ruqola_test(moderationreportinfotest.cpp)
add_ruqola_test(channelusercompletertest.cpp)
add_ruqola_test(ruqolaktexttohtmltest.cpp)
add_ruqola_test(previewurlcachemanagertest.cpp)
add_ruqola_test(e2ekeymanagertest.cpp)
add_ruqola_test(videoconferenceinfostest.cpp)
add_ruqola_test(blockactiontest.cpp)
add_ruqola_test(systemmessagetypeutiltest.cpp)
add_ruqola_test(messageextratest.cpp)
add_ruqola_test(moderationreporteduserinfotest.cpp)
add_ruqola_test(appscategoryinfotest.cpp)
if(HAVE_TEXT_TRANSLATOR)
    add_ruqola_test(translatetextjobtest.cpp)
endif()

add_ruqola_test(appsmarketplaceinfotest.cpp)
add_ruqola_test(textconvertertest.cpp)
if(USE_E2E_SUPPORT)
    add_ruqola_test(encryptionutilstest.cpp)
endif()

add_ruqola_test(channelstest.cpp)
add_ruqola_test(blockstest.cpp)
add_ruqola_test(messageurlstest.cpp)
add_ruqola_test(repliestest.cpp)
add_ruqola_test(moderationreportuserinfotest.cpp)
add_ruqola_test(moderationreportuserinfostest.cpp)
add_ruqola_test(appscountinfotest.cpp)
add_ruqola_test(appsmarketplaceinstalledinfotest.cpp)
add_ruqola_test(applicationssettingssettingsinfotest.cpp)
add_ruqola_test(applicationssettingslogsinfotest.cpp)
add_ruqola_test(actionbuttontest.cpp)
add_ruqola_test(actionbuttonsmanagertest.cpp)
add_ruqola_test(previewcommandtest.cpp)
add_ruqola_test(previewcommandutilstest.cpp)
