Skip to content

Проверка архитектурных контрактов

DSA не задаёт конкретный инструмент тестирования. Здесь важно понять, что стоит проверять, независимо от выбранного test runner.

Valibot schemas

Проверьте:

  • корректный объект принимается;
  • отсутствующее обязательное поле отклоняется;
  • поле неверного типа отклоняется.

Особенно полезны fixtures, похожие на реальные внешние ответы.

Mappers

Mapper — чистая функция, поэтому для него достаточно входа и ожидаемого результата.

Проверьте преобразования вроде:

txt
published_at: string

publishedAt: Date

MobX stores

Проверьте публичное поведение:

  • начальное состояние;
  • actions;
  • computed;
  • reset;
  • переходы loading state для асинхронного сценария.

Не привязывайте проверку к приватным деталям class.

React-компоненты

Для dumb UI важнее props-контракт.

Для smart UI важнее, что он корректно читает public state и вызывает нужные actions.

React Hook Form + Valibot

Проверьте сценарии пользователя:

  • пустой обязательный title не проходит;
  • корректные значения доходят до submit;
  • ошибки schema отображаются рядом с полями.

Архитектурные проверки

Отдельно полезно контролировать:

  • отсутствие deep imports;
  • направление зависимостей;
  • отсутствие DTO в props;
  • отсутствие route hooks внутри stores.

Конкретный инструмент для этих проверок DSA не предписывает.