diff --git a/CMakeLists.txt b/CMakeLists.txt index 3553a52..e5f87c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,6 +53,7 @@ add_executable(App ./src/main.cpp ./src/exceptions/session_exception.h src/log/Log.h src/log/Log.cpp + tests/fixtures/AuthRegistrationExecutorTestFixture.h ) target_link_libraries(App PRIVATE Boost::boost @@ -88,7 +89,9 @@ add_executable(AuthRegistrationExecutorTests ./tests/endpoint_handlers/AuthRegis ./src/DAO/MySQLUserDAO.h ./src/DAO/MySQLUserDAO.cpp ./src/db/mysql_connector.h - ./src/db/mysql_connector.cpp) + ./src/db/mysql_connector.cpp + ./tests/fixtures/AuthRegistrationExecutorTestFixture.h + ./tests/fixtures/AuthRegistrationExecutorTestFixture.cpp) target_link_libraries(AuthRegistrationExecutorTests PRIVATE Boost::boost Boost::json Boost::log diff --git a/README.md b/README.md index dafb5a8..da3171e 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ - Посмотреть пулл соединений(Object pool) при использовании базы данных(посмотреть api MySQL-Connector) - Посмотреть, что дает MySQL, какие там есть возможность - Посмотреть и подумать, что лучше - корутины или многопоточность? -- Покрыть тестами класс User и AuthRegistrationExecutor +- ~~Покрыть тестами класс User и AuthRegistrationExecutor~~ - ~~Добавить clang-format(через CLion)~~ - ~~Перевести GetByUUID GetByLogin на const ref/string_view в IUserDAO - также не vector, а span(погуглить)~~ - span не применим - ~~Привести к единому виду функции IUserDAO~~ @@ -15,9 +15,14 @@ - ~~SharedPtr - передавать по константной ссылке.~~ - ~~Вынести обработку исключений в RootExecutor~~ - ~~Уменьшить дублирование кода в исключениях~~ -- Покрыть логами +- ~~Покрыть логами~~ - ~~Сделать один класс исключений, имеющих метод HTTP code - код и сообщение записывать уже в ловушке~~ -- Сделать интеграционный тест по ручкам +- ~~Сделать интеграционный тест по ручкам~~ +- UseCase'ы по работе с личным кабинетом +- Научиться поднимать базы данных под каждый тест - научиться Docker - docker-compose - а если тест что-то должен заполнить, то он заполняет в самом начале() +- Возможно, сделать тесты на CI/CD - приоритет - низкий +- Заменить internal_server_error на bad_request и перепроверить коды ошибок +- Создание и удаление вспомогательных классов должно быть вынесено в фикстуру # UseCase'ы приложения: @@ -172,7 +177,7 @@ null * Пользователю доступны операции добавления, модификации и удаления записей, а также схем лечения ### 8.API-Маршруты * `GET /api/v1/User/Diaries` - получить кусок дневника пользователя (требует Authorization: Bearer ) query-параметры: from (int, по умолч. 0), count (int, по умолч. 20) -* `GET /api/v1/User/TreatmentSchemes` - получить кусок дневника пользователя (требует Authorization: Bearer ) query-параметры: from (int, по умолч. 0), count (int, по умолч. 20) +* `GET /api/v1/User/TreatmentSchemes` - получить список схем пользователя (требует Authorization: Bearer ) query-параметры: from (int, по умолч. 0), count (int, по умолч. 20) ### 9.Контракт #### Diaries-Request diff --git a/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp b/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp index f8f62cf..6b2d139 100644 --- a/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp +++ b/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp @@ -13,6 +13,7 @@ #include "./../../src/db/mysql_connector.h" #include "./../../src/exceptions/session_exception.h" #include "./../../src/helpers/helpers.h" +#include "./../fixtures/AuthRegistrationExecutorTestFixture.h" const std::string kUUID = std::to_string(uad::Random()); diff --git a/tests/fixtures/AuthRegistrationExecutorTestFixture.cpp b/tests/fixtures/AuthRegistrationExecutorTestFixture.cpp new file mode 100644 index 0000000..ea41403 --- /dev/null +++ b/tests/fixtures/AuthRegistrationExecutorTestFixture.cpp @@ -0,0 +1,10 @@ +#include "AuthRegistrationExecutorTestFixture.h" + +#include + +namespace uad +{ +F::F(): i( 0 ) { BOOST_TEST_MESSAGE( "setup fixture" ); } + +F::~F() { BOOST_TEST_MESSAGE( "teardown fixture" ); } +} diff --git a/tests/fixtures/AuthRegistrationExecutorTestFixture.h b/tests/fixtures/AuthRegistrationExecutorTestFixture.h new file mode 100644 index 0000000..ab132ad --- /dev/null +++ b/tests/fixtures/AuthRegistrationExecutorTestFixture.h @@ -0,0 +1,11 @@ +#pragma once + +namespace uad +{ +class F { + F(); + ~F(); + + int i; +}; +}