https://github.com/yuriyvyatkin/ahj-hw-4-testing
ДЗ к лекции «Организация тестирования (Unit, E2E)» курса «Продвинутый JavaScript в браузере» Нетологии
https://github.com/yuriyvyatkin/ahj-hw-4-testing
card-validator jest js jsdom puppeteer
Last synced: 3 months ago
JSON representation
ДЗ к лекции «Организация тестирования (Unit, E2E)» курса «Продвинутый JavaScript в браузере» Нетологии
- Host: GitHub
- URL: https://github.com/yuriyvyatkin/ahj-hw-4-testing
- Owner: yuriyvyatkin
- License: mpl-2.0
- Created: 2021-08-31T01:57:53.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-09-01T10:14:31.000Z (over 3 years ago)
- Last Synced: 2025-01-04T01:39:35.017Z (5 months ago)
- Topics: card-validator, jest, js, jsdom, puppeteer
- Language: JavaScript
- Homepage: https://yuriyvyatkin.github.io/ahj-hw-4-testing/
- Size: 199 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Домашнее задание к лекции «Организация тестирования (Unit, E2E)»
[](https://ci.appveyor.com/project/yuriyvyatkin/ahj-hw-4-testing)
## Credit Card Validator
#### Легенда
Вам пришла задача: сделать виджет, позволяющий вводить номер карты (можете в качестве общего развития почитать про PCI DSS).
Общий вид виджета должен выглядеть следующим образом:

Скриншот взят с сайта http://www.validcreditcardnumber.com.
Вам нужно провести исследовательскую работу и выяснить - на базе чего определяется, какой платёжной системе принадлежит определённая карта (не забудьте про "Мир").
#### Описание
Используйте [следующий алгоритм](https://en.wikipedia.org/wiki/Luhn_algorithm) для проверки валидности номера карты.
Изображения для карт необходимо найти самостоятельно (помните, про авторские права и недопустимость нелегального использования). Обычно информацию об использованных изображениях размещают в файле `licenses.txt` и кладут в корень сайта (настройте для этого соответствующим образом Webpack).
Разделите логику проверки номера карты, выяснения принадлежности определённой платёжной системе и взаимодействия с DOM.
Напишите авто-тесты на функции проверки номера карты и принадлежности определённой платёжной системе.
Удостоверьтесь, что всё работает при прогоне тестов в Appveyor.
**Подсказка: для поиска изображений можете воспользоваться сервисом https://findicons.com**
---
## Puppeteer
Подключите Puppeteer и проверьте взаимодействие для двух различных вариантов:
1. Ввод валидного номера карты
1. Ввод невалидного номера кратыУдостоверьтесь, что всё работает при прогоне тестов в Appveyor (не забудьте про headless-mode).
---
## JSDOM (задача со звёздочкой)
Важно: данная задача не является обязательной
К предыдущей задаче подключите JSDOM и реализуйте проверку с использованием `jest.each` (т.е. вам надо проверить взаимодействие с DOM).
Удостоверьтесь, что всё работает при прогоне тестов в Appveyor.