{"id":30688090,"url":"https://github.com/soblvsk/shri-2023-testing","last_synced_at":"2026-05-19T05:38:25.391Z","repository":{"id":182121218,"uuid":"663638634","full_name":"soblvsk/SHRI-2023-Testing","owner":"soblvsk","description":"🧪 Testing a website for React.js","archived":false,"fork":false,"pushed_at":"2023-07-11T17:08:14.000Z","size":778,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-07-18T19:51:03.301Z","etag":null,"topics":["playwright","testing","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/soblvsk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-07T19:07:52.000Z","updated_at":"2023-07-18T19:51:09.310Z","dependencies_parsed_at":"2023-07-18T20:15:08.580Z","dependency_job_id":null,"html_url":"https://github.com/soblvsk/SHRI-2023-Testing","commit_stats":null,"previous_names":["soblvsk/shri-2023-testing"],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/soblvsk/SHRI-2023-Testing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soblvsk%2FSHRI-2023-Testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soblvsk%2FSHRI-2023-Testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soblvsk%2FSHRI-2023-Testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soblvsk%2FSHRI-2023-Testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soblvsk","download_url":"https://codeload.github.com/soblvsk/SHRI-2023-Testing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soblvsk%2FSHRI-2023-Testing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273213957,"owners_count":25065059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["playwright","testing","typescript"],"created_at":"2025-09-02T00:43:14.269Z","updated_at":"2025-10-14T23:15:30.709Z","avatar_url":"https://github.com/soblvsk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Домашнее задание: Автотесты\n\n## Как запустить сервер\n\nУстановите зависимости\n\n```bash\n  npm ci\n```\n\nСоберите клиентский код приложения\n\n```bash\n  npm run build\n```\n\nЗапустите сервер\n\n```bash\n  npm start\n```\n\nПосле этого можете открыть приложение в браузере по адресу http://localhost:3000/hw/store\n\n## Выполнение тестов\n\nЗапустите `Playwright UI`\n\n```bash\nnpm run test:e2e:gui\n```\n\nЗапустите с `BUG_ID` от 1 до 10\n\n```bash\n# Если терминал bash\nBUG_ID=1 npm run start\n\n# Если терминал от windows\n$env:BUG_ID = '1'; npm run start\n```\n\n## Описание\n\nВам дано приложение — интернет магазин. С его помощью можно смотреть каталог товаров, добавлять товары в корзину и оформлять заказы.\n\nФоркните этот репозиторий и напишите тесты, проверяющие правильность работы продуктовых сценариев. Проверяйте сценарии модульными/интеграционными тестами, на свое усмотрение.\n\nГлавный критерий проверки — автотесты должны находить баги. Дополнительный критерий — на каждый баг должно падать небольшое количество тестов (не больше 1-2).\n\n## Функциональные требования\n\n**Общие требования:**\n\n- вёрстка должна адаптироваться под ширину экрана\n- в шапке отображаются ссылки на страницы магазина, а также ссылка на корзину\n- название магазина в шапке должно быть ссылкой на главную страницу\n- на ширине меньше 576px навигационное меню должно скрываться за \"гамбургер\"\n  - при выборе элемента из меню \"гамбургера\", меню должно закрываться\n\n**Страницы:**\n\n- в магазине должны быть страницы: главная, каталог, условия доставки, контакты\n- страницы главная, условия доставки, контакты должны иметь статическое содержимое\n\n**Каталог:**\n\n- в каталоге должны отображаться товары, список которых приходит с сервера\n- для каждого товара в каталоге отображается название, цена и ссылка на страницу с подробной информацией о товаре\n- на странице с подробной информацией отображаются: название товара, его описание, цена, цвет, материал и кнопка \"добавить в корзину\"\n- если товар уже добавлен в корзину, в каталоге и на странице товара должно отображаться сообщение об этом\n- если товар уже добавлен в корзину, повторное нажатие кнопки \"добавить в корзину\" должно увеличивать его количество\n- содержимое корзины должно сохраняться между перезагрузками страницы\n\n**Корзина:**\n\n- в шапке рядом со ссылкой на корзину должно отображаться количество не повторяющихся товаров в ней\n- в корзине должна отображаться таблица с добавленными в нее товарами\n- для каждого товара должны отображаться название, цена, количество , стоимость, а также должна отображаться общая сумма заказа\n- в корзине должна быть кнопка \"очистить корзину\", по нажатию на которую все товары должны удаляться\n- если корзина пустая, должна отображаться ссылка на каталог товаров\n\n## Как проверять\n\nВы можете запускать приложение с параметром `bug id`, который может принимать значение от 1 до 10. Каждое из значений `bug id` добавляет в работу приложения какой-то баг. Проверьте, что без параметра `bug id` все тесты проходят, а для каждого значения `bug id` падают 1-2 теста.\n\n**При использовании Hermione и Jest:**\n\n- при запуске интеграционных тестов передавайте значение в параметре запроса, например, http://localhost:3000/hw/store/catalog/0?bug_id=9\n- при запуске модульных тестов передавайте значение в переменной окружения `BUG_ID`, например, `BUG_ID=1 npm run test`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoblvsk%2Fshri-2023-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoblvsk%2Fshri-2023-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoblvsk%2Fshri-2023-testing/lists"}