Автоматизация: событие, повтор и очередь ошибки
Четыре события проходят мысленный разбор по полному контракту; ответы можно проверить сразу по журналу.
Задача
Участник должен отличить новый заказ от повторной доставки события и некорректного входа. Иначе красивая схема создает двойную работу.
Одинаковый eventId нужно сравнить с данными
В контракте обязательны eventId, orderId и положительный amount. Упражнение сначала проверяет полноту сообщения, затем различает тот же eventId с прежними и изменёнными данными. Так ученик разбирает две отдельные причины отказа и не сводит обработку событий к единственной проверке наличия ID.
Короткий урок
Ключ события отделен от ID заказа. Повтор одинакового ключа не создает второе действие. Обязательное поле проверяется до записи. Некорректный вход попадает в очередь разбора с причиной, а не пропадает. Новая версия может стать отдельным событием при новом ключе.
Задание
По контракту посчитайте новые действия, повторы и ошибки; укажите ID некорректного события.
Полные исходные материалы
| ID | Текст |
|---|---|
| CONTRACT | Поля eventId, orderId, amount обязательны. amount — положительное число. Одинаковый eventId с тем же payload возвращает прежний результат. |
| E1 | eventId=EV1; orderId=O7; amount=1200 |
| E2 | eventId=EV1; orderId=O7; amount=1200 |
| E3 | eventId=EV2; orderId=O8; amount отсутствует |
| E4 | eventId=EV3; orderId=O9; amount=500 |
Что сделано
Я написала урок о контракте событий, подготовила входные сообщения и проверку повтора и конфликта.
Полный урок проверяет повтор, обязательное поле и сохранение ошибки на четырех событиях. Правильный ответ: два действия, один повтор, E3 в очередь разбора.
- index.html
- source.json
- source.csv
- result.json
- result.csv
- engine.js
- checks.json
- style.css
- lesson.txt
- answer-key.json
Открыть работающий материал · Контрольные примеры CSV · Повторить проверку · Модель и исходные условия