hydrognomik / shri-testing-homework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Домашнее задание: автотесты

Запуск

# Установка и запуск selenium-standalone
npm i -g selenium-stanalone
selenium-standalone install
selenium-standalone start

# Установка и запуск проекта
npm i
npm start

Тесты

# Юнит тесты
npm run test:unit

# Интеграционные тесты
npm run test:hermione

# Интеграционные с GUI
npm run test:gui

Логические блоки

  • "Навигация"
    • "Хлебные крошки" buildBreadcrumbs
      • показывают HISTORY на списке коммитов
      • показывают урл на HISTORY при вызове с хэшем (переход в коммит)
      • показывают урлы на родительские директории при вызове с хэшем и путём (переход в файлы/папки)
    • "Генерация урлов" buildObjectUrl
      • возвращает урл на директорию
      • возвращает урл на файл
      • возвращает "хэш" в случае передачи невалидного типа
  • "Взаимодействие с git" executeGit
    • возвращает результат выполнения git команды в виде строки
  • "История коммитов" gitHistory
    • возвращает массив объектов, хранящих информацию о коммитах
  • "Содержимое дерева" gitFileTree
    • возвращает массив js-объектов, хранящих информацию об объектах в заданном git-дереве

Предметная область

Приложение отображает в браузере информацию из git репозитория: список коммитов, файловую систему для выбранного коммита, содержимое выбранного файла (поддерживаются только текстовые форматы). Для удобства навигации на каджой странице отображаются "хлебные крошки".

Как запустить

git clone git@github.com:dima117/shri-testing-homework.git
cd shri-testing-homework.git
npm i
npm start

Интеграционные тесты

Сценарии для интеграционных тестов

  • на всех страницах (история коммитов, просмотр файловой системы, просмотр содержимого файла) правильно отображается правильное их содержимое;
  • правильно работают переходы по страницам
    • из списка коммитов на список файлов
    • из списка файлов во вложенную папку
    • из списка файлов на страницу отдельного файла
    • переходы по хлебным крошкам

Модульные тесты

  • нужно добавить в README список логических блоков системы и их сценариев
  • для каждого блока нужно написать модульные тесты
  • если необходимо, выполните рефакторинг, чтобы реорганизовать логические блоки или добавить точки расширения

About


Languages

Language:JavaScript 87.5%Language:HTML 10.1%Language:CSS 2.4%