Если система получает одинаковый запрос несколько раз, а результат не меняется — операция идемпотентна. Это важно, когда возможен дубль клика или повтор запроса из-за таймаута.
🔴 Пример из жизни
✅ Идемпотентно:
Выключатель света
• Нажал 1 раз → свет выключен
• Нажал ещё 10 раз → свет всё равно выключен
❌ Неидемпотентно:
Кнопка «добавить в корзину»
• Нажал 1 раз → 1 товар
• Нажал 5 раз → 5 товаров
🔴 Где проверять:
— API-методы (особенно PUT, DELETE)
— Кнопки, которые можно нажать дважды
— Повтор запросов при таймаутах или нестабильной сети
🔴 Типичный баг
POST
/create-paymentКлик → 100₽ списано
Двойной клик → 200₽ списано ❌
🔴 Правильная реализация
PUT
/payment/1231 запрос → платёж создан
10 запросов → платёж всё равно один ✅
🐸 Библиотека тестировщика
#теория_на_пальцах
