Всем привет.
Впервые покрываю компонент тестами, возникла, наверное, распространенная проблема с правильным определением конечного числа сценариев, которые нужно тестами покрыть. Ведь нет смысла покрывать все подряд, ибо иногда это трата времени, не приносящая особой выгоды.
К слову, компонент -> 3х шаговая формочка. В зависимости от activeStep отображается один из трех экранов, проходя каждый из которых юзер уходит вглубь.
С моей, джуновской т.з., выделил следующие сценарии, которые надо покрывать в данном кейсе:
- describe на переход на второй экран с первого (проверить, что он должен осуществиться только тогда, когда все поля провалидированы и запрос на бэк зарезолвился). Данный сценарий разбивается на следующие 'it':
1) показ ошибки у каждого поля, если оно не прошло валидацию,
2) проверка самой валидации на разных данных (тут уже сложно, ибо кейсов может быть много),
3) проверка успешного асинхронного запроса - activeStep должен стать +1,
4) проверка зафейлившегося асинхронный запроса -> должна отобразится ошибка
- describe для экрана 2:
- describe на корректную работу логики "выслать код"
- тесткейс на кнопку "назад" (activeStep должен стать минус 1)
- describe на переход с 2 шага на 3й:
1) тесткейс на валидацию,
2) тесткейс на показ ошибки при непрохождении валидации,
3) тесткейс на успешный асинхронный запрос,
4) тесткейс на фейл асинхронного запроса
Подскажите, пожалуйста, не дергается ли глаз от такого "покрытия", похоже ли это на что-то около "нормальное" ?