Skip to content

VerlorenMind/todo-list

Repository files navigation

Сборка и запуск проекта

Сборка фронтенда на 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.

Homework check list

1. Тестирование Frontend

Main часть:

  • Создать репозиторий на GitHub, в котором создать папку client
  • В папке client создать приложение на React / Angular / Vue фреймворке на ваш выбор.
  • Должно содержать несколько страниц с роутингом
  • Содержит сервис, который общается с node.js бекендом. (общается с Django бэкендом)
  • Присутствуют unit, component и e2e тесты в минимальном количестве 1шт каждый.

Advanced часть:

  • Приложение содержит авторизацию и не собрано из генераторов вида JHipster.
  • Написаны тесты для проверки авторизации
  • Существует нескольно наборов тестов (несколько suites)

Bonus часть:

  • Рассмотрены Cypress и Selenium
  • Примеры с каждым из фреймворков.
  • Короткая статья или заметки в чем именно для вас кажутся основные отличия.
  • Делаете в своем репозитории на GitHub активным GitHub pages и размещаете эту статью там.

2. Тестирование Backend

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).

3. Github Actions

Main часть:

  • Добавить GitHub action для запуска тестов на UI и Backend по пушу из в master ветку.

Advanced часть:

  • Добавить GitHub action для деплоя приложения UI+BE на Azure/Vercel/Яндекс Облако.

Bonus часть:

  • Использовать Kubernetes в Azure/Яндекс Облаке для разворачивания среды.

4. Allure reporting

Bonus часть:

  • Использовать Allure reporting для написанных тестов.

5. Pact-тестирование

Bonus часть:

  • Написать Pact-тесты к своему сервису.

6. A11Y

Bonus часть:

  • Протестировать свой веб-сайт на а11y с помощью инструментов от Mozilla и Lighthouse.
  • Пофиксить проблемы.
  • Сделать автоматический тест с axe.

7. Selenium

Main часть:

  • Написать e2e тесты, используя Selenide.

Advanced часть:

  • Настроить запуск тестов с Selenoid.

Bonus часть:

  • Настроить генерацию отчетов с Allure report, сделав полный сетап в GitHub: e2e тесты с selenide запускаются с использованием Selenoid на разных окружениях(браузерах) параллельно и собирают отчет с помощью Allure Report.
  • Написать статью как собрать такой сетап.

8. Performance testing

Main часть:

  • Пройти воркшоп и выложить результат в гитхаб репозиторий.

Advanced часть:

  • Настроить CI с Github actions.

Bonus часть:

  • Настроить генерацию отчетов с Allure report.

Каких тестов не хватает

  • Не хватает E2E тестов для тестирования создания нового списка
  • Компонентные тесты на рендер формы создания нового списка
  • Компонентные тесты на рендер формы логина
  • Проверка routing для неавторизованного пользователя

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published