Coder Social home page Coder Social logo

shri-2021-infrastructure's Introduction

Домашнее задание ШРИ: Автотесты

Вам дано приложение — интернет магазин. С его помощью можно смотреть каталог товаров, добавлять товары в корзину и оформлять заказы.

Вам нужно написать автотесты: модульные и интеграционные. Главный критерий проверки — автотесты должны находить баги.

Функциональные требования

Общие требования:

  • вёрстка должна адаптироваться под ширину экрана
  • в шапке отображаются ссылки на страницы магазина, а также ссылка на корзину
  • название магазина в шапке должно быть ссылкой на главную страницу
  • на ширине меньше 576px навигационное меню должно скрываться за "гамбургер"
    • при выборе элемента из меню "гамбургера", меню должно закрываться

Страницы:

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

Каталог:

  • в каталоге должны отображаться товары, список которых приходит с сервера
  • для каждого товара в каталоге отображается название, цена и ссылка на страницу с подробной информацией о товаре
  • на странице с подробной информацией отображаются: название товара, его описание, цена, цвет, материал и кнопка "добавить в корзину"
  • если товар уже добавлен в корзину, в каталоге и на странице товара должно отображаться сообщение об этом
  • если товар уже добавлен в корзину, повторное нажатие кнопки "добавить в корзину" должно увеличивать его количество
  • содержимое корзины должно сохраняться между перезагрузками страницы

Корзина:

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

Выполнение задания

Форкните этот репозиторий, добавьте модульные и интеграционные тесты в папку test и отправьте репозиторий на проверку через личный кабинет.

Интеграционные тесты можно запускать на уже развернутом приложении: https://shri.yandex/hw/store

Внимание! Содержимое папки src менять нельзя!

Как происходит проверка

Ваши тесты будут запускаться на нескольких версиях приложения, каждая из которых содержит определенный баг. Чтобы пройти проверку, ваши тесты должны обнаружить этот баг. При этом на каждом запуске должно упасть не больше трех тестов. На разных багах должны падать разные тесты.

Deploy

Автоматический деплой организован через TravisCI

Как проверить:

  1. Сделать коммит в этот репозиторий, чтобы наполнить changelog
  2. Добавить новый тег и запушить его
    git tag -a v0.8 -m "rc8"
    git push origin --tags
  3. Сделать еще один коммит в репозиторий чтобы стригерить TravisCI скрипт
  4. Через несколько минут в трекере должен появиться новый тикет с двумя комментариями

Пример уже созданного тикета:
https://tracker.yandex.ru/TMP-1131

Конфиг в корне репозитория - .travis.yml
Скрипты которые используются для тестов и генерации лежат в /script/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.