Сборка фронтенда на React:
cd client && npm install && [npm run dev | npm run build]
Запуск тестов на фронтенд:
cd client && npm test
Запуск E2E тестов на Cypress:
cd client && npm run e2e
Запуск бекэнд сервера:
python manage.py runserver
Запуск всех тестов (включая Selenium); всех, кроме Selenium; только Selenium:
python manage.py test
python manage.py test server/unittests
python manage.py test selenium-e2e
Для запуска тестов с помощью pytest
с генерацией отчета для Allure:
pytest --alluredir=./allure/report
allure serve ./allure/report
Приложение деплоится с помощью интеграции Heroku с Github. Ссылка на деплой.
Альтернативно, можно использовать job heroku-deploy
в закомментированной секции файла с описанными actions.
Main часть:
- Создать репозиторий на GitHub, в котором создать папку client
- В папке client создать приложение на React / Angular / Vue фреймворке на ваш выбор.
- Должно содержать несколько страниц с роутингом
- Содержит сервис, который общается с node.js бекендом. (общается с Django бэкендом)
- Присутствуют unit, component и e2e тесты в минимальном количестве 1шт каждый.
Advanced часть:
- Приложение содержит авторизацию и не собрано из генераторов вида JHipster.
- Написаны тесты для проверки авторизации
- Существует нескольно наборов тестов (несколько suites)
Bonus часть:
- Рассмотрены Cypress и Selenium
- Примеры с каждым из фреймворков.
- Короткая статья или заметки в чем именно для вас кажутся основные отличия.
- Делаете в своем репозитории на GitHub активным GitHub pages и размещаете эту статью там.
Main часть:
- Сделать сервис на Java+Spring+любая DB (или NodeJS + DI tool) (используется Django).
- Написать Unit и Component тесты для этого сервиса.
- Использовать TestContainers для одного теста с DB. (не уверен, насколько применимо к Django)
- Использовать Mockito для мокирования тестов с внешним сервисом. (использованы другие средства мокирования)
- Написать документацию(README) какие тесты еще необходимо написать, но вы не успели.
Advanced часть:
- Сделать взаимодействие сервиса и вашего Frontend приложения.
- Сделать тесты на авторизацию.
- Создать отдельные Spring Test Configruation, которые можно переключать с помощью флага при запуске тестов.
- Сделать генерацию тестовой документации через Asci Doctor(Spring Rest Docs).
Bonus часть:
- Придумать функциональность, с которой можно использовать очереди/стримы вида RabbitMQ/Kafka streams.
- Написать компонентные тесты на эту функциональность(используя TestContainers).
Main часть:
- Добавить GitHub action для запуска тестов на UI и Backend по пушу из в master ветку.
Advanced часть:
- Добавить GitHub action для деплоя приложения UI+BE на Azure/Vercel/Яндекс Облако.
Bonus часть:
- Использовать Kubernetes в Azure/Яндекс Облаке для разворачивания среды.
Bonus часть:
- Использовать Allure reporting для написанных тестов.
Bonus часть:
- Написать Pact-тесты к своему сервису.
Bonus часть:
- Протестировать свой веб-сайт на а11y с помощью инструментов от Mozilla и Lighthouse.
- Пофиксить проблемы.
- Сделать автоматический тест с axe.
Main часть:
- Написать e2e тесты, используя Selenide.
Advanced часть:
- Настроить запуск тестов с Selenoid.
Bonus часть:
- Настроить генерацию отчетов с Allure report, сделав полный сетап в GitHub: e2e тесты с selenide запускаются с использованием Selenoid на разных окружениях(браузерах) параллельно и собирают отчет с помощью Allure Report.
- Написать статью как собрать такой сетап.
Main часть:
- Пройти воркшоп и выложить результат в гитхаб репозиторий.
Advanced часть:
- Настроить CI с Github actions.
Bonus часть:
- Настроить генерацию отчетов с Allure report.
- Не хватает E2E тестов для тестирования создания нового списка
- Компонентные тесты на рендер формы создания нового списка
- Компонентные тесты на рендер формы логина
- Проверка routing для неавторизованного пользователя