Stefan 16b866ccbd chore(CPP): Enhance type safety using phantom types
Important changes:

- Converted the easy to mix strings to named types as phantom types
- Renamed `AccountDto`s to `MultiAccount` to better match the status-go
domain knowledge.
- Renamed MultiAccount to ChatOrWalletAccount to better match its multi
purpose and don't confuse with the MultiAccount domain knowledge.
- Remove libs/CMakeLists.txt

Note: Tried to use the fluent::NamedType but it doesn't work with
nlohmann_json, gave up finding why. Therefore I extracted only
the needed functionality for the simple types we use.

Updates: #6321
2022-07-19 16:56:06 +02:00

51 lines
1011 B
CMake

# Unit and interface tests
cmake_minimum_required(VERSION 3.21)
project(TestOnboarding VERSION 0.1.0 LANGUAGES CXX)
set(QT_NO_CREATE_VERSIONLESS_FUNCTIONS true)
find_package(Qt6 ${STATUS_QT_VERSION} COMPONENTS Core REQUIRED)
qt6_standard_project_setup()
find_package(GTest REQUIRED)
enable_testing()
add_executable(${PROJECT_NAME}
test_AccountService.cpp
test_OnboardingController.cpp
test_OnboardingModule.cpp
ServiceMock.h
)
target_include_directories(${PROJECT_NAME}
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
add_subdirectory(OnboardingTestHelpers)
add_subdirectory(qml_tests)
target_link_libraries(${PROJECT_NAME}
PRIVATE
Qt6::Core
GTest::gtest
GTest::gmock
GTest::gtest_main
Status::TestHelpers
Status::ApplicationCore
Status::OnboardingTestHelpers
Status::Onboarding
)
include(GoogleTest)
gtest_add_tests(
TARGET ${PROJECT_NAME}
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
)