Skip to content

helliong/unit-tests-practice-

Repository files navigation

Практическая работа 7.5

Описание проекта

Проект выполнен в рамках практической работы по теме unit-тестирования. Цель работы — научиться писать и запускать unit-тесты с помощью Jest для функций валидации.

В проекте реализована логика проверки данных для формы бронирования жилья. Форма предполагает ввод локации, даты заезда и даты выезда.

Что было сделано

В проект добавлены функции валидации:

  • валидация даты;
  • валидация названия города или страны.

Для каждой функции написаны отдельные unit-тесты.

Тесты расположены в той же папке, что и проверяемый код:

src/
  validate/
    validateCity.ts
    validateCity.test.ts
    validateDate.ts
    validateDate.test.ts

Проверка даты

Функция validateDate проверяет дату, введённую пользователем.

Проверяется следующее:

  • дата пропускается в формате ДД.ММ.ГГГГ;
  • дата не пропускает специальные символы вместо точек;
  • дата не пропускает буквенные значения;
  • дата не может быть раньше текущей даты.

Проверка города

Функция validateCity проверяет название города или страны.

Проверяется следующее:

  • пустое значение не проходит валидацию;
  • значение с экранированием не проходит валидацию;
  • название с дефисами и восклицательным знаком проходит валидацию;
  • название со специальными символами, например Ağrı, проходит валидацию;
  • название из одной буквы проходит валидацию.

Настройка тестирования

Для запуска тестов используется Jest и ts-jest.

Были добавлены следующие файлы настройки:

jest.config.cjs
tsconfig.json

jest.config.cjs отвечает за запуск Jest и обработку TypeScript-файлов.

tsconfig.json содержит настройки TypeScript для корректной работы тестов.

Установка зависимостей

Перед запуском проекта необходимо установить зависимости:

npm install

Запуск проекта

Для запуска Vite-сервера используется команда:

npm run dev

После запуска приложение будет доступно по адресу:

http://localhost:5173

Запуск тестов

Для запуска unit-тестов используется команда:

npm test

При успешном выполнении тестов Jest выводит результат прохождения тестов для файлов:

validateCity.test.ts
validateDate.test.ts

Дополнительно

В проект добавлен файл .gitignore, чтобы не отправлять в репозиторий служебные файлы и папки, например:

node_modules/
dist/
coverage/
.env

Итог

В результате работы были реализованы функции валидации данных формы бронирования и написаны unit-тесты, проверяющие корректную работу этих функций. Тесты позволяют быстро проверить, что логика валидации работает правильно и не ломается при изменении кода.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors