- Термінал.
- Встановлені Node 8+ та NPM 5+.
- Редактор коду (Visual Studio Code, Notepad++, Atom, Sublime, etc.).
- Базові знання з підготовки тестів та використання assertion functions в Jest.
- Склонувати репозиторій з проектом за посиланням.
- Запустити термінал і зайти в кореневий каталог
/cart-parser
(в ньому має бути файлpackage.json
). - Виконати наступну команду в терміналі:
npm i
- Дочекатися поки всі пакети будуть встановлені.
- Запустити watcher, виконавши наступну команду:
npm test
- Кожного разу, коли ви зберігаєте зміни в файлі, всі тести будуть виконуватися.
- Перейти до написання тестів.
Проект містить модуль /src/CartParser.js
який дозволяє завантажити файл в форматі CSV з даними щодо доданих товарів до кошика онлайн-магазину (приклад: /samples/cart.csv
). На основі цих даних модуль розраховує загальну суму товарів і формує об’єкт в форматі JSON (приклад: /samples/cart.json
).
Необхідно написати мінімум 9 (ідеально 11) юніт-тестів і 1 інтеграцій тест та зберегти їх в файлі /src/CartParser.test.js
. Файл вже існує в проекті і містить мінімальну конфігурацію і вказівки де додавати тести.
Буде оцінюватися не лише правильність тестів, а й їх цінність. Наявність більше ніж 11 юніт-тестів і 1 інеграційного тесту призведе до заниження оцінки!
Кожен написаний тест оцінюється в 1 бал: 0.5 балів за правильність реалізації тесту та 0.5 балів за цінність тесту. Всього 10 правильних і цінних тестів вам дадуть 10 балів. Наявність 11 юніт-тестів => +1 бал. Відсутність інтеграційного тесту => -1 бал. Наявність загальної кількості тестів більшої ніж 12 => -2 бали.