Перейти к основному содержимому

Тестовая матрица CRM

Цели

  • проверить lifecycle accounts, leads, deals, products, orders, invoices, payments, refunds, entitlements и payroll;
  • подтвердить идемпотентность storefront leads, payment webhooks, entitlement sync и payroll calculations;
  • проверить permissions для PII, billing, refunds, payroll и exports;
  • подтвердить трассируемость CRM decisions до identity/LMS/competitions references.

Интеграционные сценарии

Lead из storefront

Шаги: отправить storefront lead, создать или связать account, создать lead, записать sync log.

Ожидание: один lead, один account или duplicate candidate, повторная доставка не создаёт дублей.

Оплата и entitlement

Шаги: создать order и invoice, принять payment webhook, провести payment, активировать entitlement.

Ожидание: invoice paid, balance entry append-only, entitlement active, опубликовано crm.entitlement.activated.

Потребление entitlement из LMS

Шаги: LMS публикует consumption event, CRM пишет consumption log и пересчитывает остаток.

Ожидание: повторная доставка идемпотентна, отрицательный баланс публикует crm.entitlement_balance.overdrawn.

Refund

Шаги: создать refund, провести provider webhook, изменить financial state.

Ожидание: payment history не удаляется, entitlement change auditable, balance entries append-only.

Teacher payroll

Шаги: LMS live delivery отдаёт факты занятий и проверок, CRM применяет teacher rate и формирует payroll item.

Ожидание: каждая сумма имеет source, rate, period и audit trail.

Security и permissions

  • financial write endpoints имеют unit/integration tests;
  • dangerous actions требуют reason и audit log;
  • payment webhooks проверяют подпись и idempotency key;
  • payroll, refunds и exports покрыты negative permission tests;
  • PII в events не публикуется.

Готовность

Сценарий считается закрытым, если есть unit tests бизнес-правил, integration tests по API/event boundary и e2e smoke для основных операторских flows.