# 3. Payout Configuration — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: payout_configuration.md — every feature, sub-feature, and rule covered

---

## Test Execution Policy
- Zero tolerance: any deviation from documented behavior = FAILED = bug
- Every bug is immediately logged/reported (Bug ID, feature, sub-feature,
  expected vs actual, severity) and fixed 100% before the group passes
- Feature group passes only at 100% test pass rate

## Coverage Matrix
| Feature | Sub-feature / Rule | Test IDs |
|---------|--------------------|----------|
| 3.1 Configure Payout Thresholds | Payout threshold: the threshold (the minimum amount, e.g., 1000) | TC-SA-14-03-001 |
| 3.1 Configure Payout Thresholds | Threshold scope: the scope (the threshold applies to the affiliate's earnings) | TC-SA-14-03-002 |
| 3.1 Configure Payout Thresholds | Threshold definition: the threshold defined by the Super Admin (the threshold, the scope) | TC-SA-14-03-001 |
| 3.1 Configure Payout Thresholds | Threshold enforcement: the threshold enforced (the payout is made only when the threshold is met) | TC-SA-14-03-003 |
| 3.1 Configure Payout Thresholds | Threshold record: the threshold recorded (the affiliate, the threshold, the earnings) | TC-SA-14-03-004 |
| 3.1 Configure Payout Thresholds | Threshold change: the threshold changed (the threshold updated) | TC-SA-14-03-005 |
| 3.1 Configure Payout Thresholds | Audit logging of the threshold definition and the enforcement | TC-SA-14-03-006 |
| 3.1 Configure Payout Thresholds | Rule: the payout threshold is the minimum (the minimum amount, e.g., 1000); the threshold is the gate | TC-SA-14-03-001 |
| 3.1 Configure Payout Thresholds | Rule: the threshold scope is the application (the threshold applies to the affiliate's earnings); the scope is the control | TC-SA-14-03-002 |
| 3.1 Configure Payout Thresholds | Rule: the threshold enforcement is the control (the payout is made only when the threshold is met); the enforcement is the gate | TC-SA-14-03-003 |
| 3.1 Configure Payout Thresholds | Rule: a threshold change (the threshold updated) is recorded (the new threshold, the time); it is auditable | TC-SA-14-03-005 |
| 3.1 Configure Payout Thresholds | Rule: the payout thresholds are visible (the affiliates, the thresholds, the earnings); the payouts are managed | TC-SA-14-03-007 |
| 3.1 Configure Payout Thresholds | Rule: threshold definition and enforcement are audit-logged with the affiliate, threshold, and timestamp | TC-SA-14-03-006 |
| 3.2 Configure Payout Schedules | Payout frequency: the frequency (the monthly, the quarterly) | TC-SA-14-03-008 |
| 3.2 Configure Payout Schedules | Payout date: the date (the date of the payout, e.g., the 1st of the month) | TC-SA-14-03-009 |
| 3.2 Configure Payout Schedules | Schedule scope: the scope (the schedule applies to the affiliates' payouts) | TC-SA-14-03-010 |
| 3.2 Configure Payout Schedules | Schedule definition: the schedule defined by the Super Admin (the frequency, the date, the scope) | TC-SA-14-03-008 |
| 3.2 Configure Payout Schedules | Schedule enforcement: the schedule enforced (the payout is made per the schedule) | TC-SA-14-03-011 |
| 3.2 Configure Payout Schedules | Schedule record: the schedule recorded (the affiliate, the frequency, the date, the payout) | TC-SA-14-03-012 |
| 3.2 Configure Payout Schedules | Audit logging of the schedule definition and the enforcement | TC-SA-14-03-013 |
| 3.2 Configure Payout Schedules | Rule: the payout frequency is the timing (the monthly, the quarterly); the frequency is the schedule | TC-SA-14-03-008 |
| 3.2 Configure Payout Schedules | Rule: the payout date is the day (the date of the payout, e.g., the 1st of the month); the date is the control | TC-SA-14-03-009 |
| 3.2 Configure Payout Schedules | Rule: the schedule scope is the application (the schedule applies to the affiliates' payouts); the scope is the control | TC-SA-14-03-010 |
| 3.2 Configure Payout Schedules | Rule: a schedule change (the frequency, the date, the scope updated) is recorded (the new frequency, the new date, the new scope, the time); it is auditable | TC-SA-14-03-014 |
| 3.2 Configure Payout Schedules | Rule: the payout schedules are visible (the affiliates, the frequencies, the dates, the payouts); the schedules are managed | TC-SA-14-03-015 |
| 3.2 Configure Payout Schedules | Rule: schedule definition and enforcement are audit-logged with the affiliate, frequency, and timestamp | TC-SA-14-03-013 |
| 3.3 Payment Request Approval Workflow | Payment request: the request (the affiliate's request for the payout) | TC-SA-14-03-016 |
| 3.3 Payment Request Approval Workflow | Approval steps: the steps (the steps for the approval, e.g., the review, the approval) | TC-SA-14-03-017 |
| 3.3 Payment Request Approval Workflow | Approver: the approver (the one who approves the request, e.g., the Super Admin) | TC-SA-14-03-018 |
| 3.3 Payment Request Approval Workflow | Workflow definition: the workflow defined by the Super Admin (the request, the steps, the approver) | TC-SA-14-03-016 |
| 3.3 Payment Request Approval Workflow | Request submission: the submission (the affiliate submits the request) | TC-SA-14-03-019 |
| 3.3 Payment Request Approval Workflow | Request approval: the approval (the approver approves the request) | TC-SA-14-03-020 |
| 3.3 Payment Request Approval Workflow | Audit logging of the workflow definition and the approvals | TC-SA-14-03-021 |
| 3.3 Payment Request Approval Workflow | Rule: the payment request is the trigger (the affiliate's request for the payout); the request is the start | TC-SA-14-03-016 |
| 3.3 Payment Request Approval Workflow | Rule: the approval steps are the process (the steps for the approval, e.g., the review, the approval); the steps are the workflow | TC-SA-14-03-017 |
| 3.3 Payment Request Approval Workflow | Rule: the approver is the authority (the one who approves the request, e.g., the Super Admin); the approver is the control | TC-SA-14-03-018 |
| 3.3 Payment Request Approval Workflow | Rule: a workflow change (the steps, the approver updated) is recorded (the new steps, the new approver, the time); it is auditable | TC-SA-14-03-022 |
| 3.3 Payment Request Approval Workflow | Rule: the approval workflow is visible (the requests, the steps, the approvers, the approvals); the workflow is managed | TC-SA-14-03-023 |
| 3.3 Payment Request Approval Workflow | Rule: workflow definition and approvals are audit-logged with the affiliate, request, and timestamp | TC-SA-14-03-021 |

## 3.1 Configure Payout Thresholds

### TC-SA-14-03-001 — Threshold definition: the threshold defined by the Super Admin (the threshold, the scope); the payout threshold is the minimum
**Type:** Positive
**Covers:** 3.1 → Payout threshold: the threshold (the minimum amount, e.g., 1000); Threshold definition: the threshold defined by the Super Admin (the threshold, the scope); Rule: the payout threshold is the minimum (the minimum amount, e.g., 1000); the threshold is the gate
**Preconditions:** The Super Admin opens the payout configuration.
**Steps:**
1. Define the payout threshold: the threshold (the minimum amount, e.g., 1000) and the scope (the threshold applies to the affiliate's earnings).
2. Save the threshold.
3. Verify the payout threshold is live and the payout is made only when the threshold is met.
**Expected Result:** The payout threshold is defined (the threshold, the scope) — the threshold is the minimum.
**Priority:** Critical

### TC-SA-14-03-002 — Threshold scope: the scope (the threshold applies to the affiliate's earnings); the scope is the control
**Type:** Positive
**Covers:** 3.1 → Threshold scope: the scope (the threshold applies to the affiliate's earnings); Rule: the threshold scope is the application (the threshold applies to the affiliate's earnings); the scope is the control
**Preconditions:** A payout threshold is defined with a scope.
**Steps:**
1. Open the threshold scope.
2. Verify the scope is the affiliate's earnings.
3. Verify the scope is the control.
**Expected Result:** The threshold scope is the application — the threshold applies to the affiliate's earnings.
**Priority:** High

### TC-SA-14-03-003 — Threshold enforcement: the threshold enforced (the payout is made only when the threshold is met); the payout is recorded
**Type:** Negative
**Covers:** 3.1 → Threshold enforcement: the threshold enforced (the payout is made only when the threshold is met); Rule: the threshold enforcement is the control (the payout is made only when the threshold is met); the enforcement is the gate
**Preconditions:** A payout threshold of 1000 is live.
**Steps:**
1. An affiliate's earnings are evaluated at 800 — verify the payout is not made (the threshold is not met).
2. The affiliate's earnings are evaluated at 1200 — verify the payout is made (the threshold is met).
3. Verify the payout is recorded.
**Expected Result:** The threshold is enforced — the payout is made only when the threshold is met.
**Priority:** Critical

### TC-SA-14-03-004 — Threshold record: the threshold recorded (the affiliate, the threshold, the earnings); the record is the proof
**Type:** Positive
**Covers:** 3.1 → Threshold record: the threshold recorded (the affiliate, the threshold, the earnings)
**Preconditions:** A payout threshold is defined and an affiliate's earnings are evaluated.
**Steps:**
1. Open the threshold record.
2. Verify it shows the affiliate, the threshold, and the earnings.
**Expected Result:** The threshold is recorded — the affiliate, the threshold, and the earnings are shown.
**Priority:** High

### TC-SA-14-03-005 — A threshold change (the threshold updated) is recorded (the new threshold, the time); it is auditable
**Type:** Positive
**Covers:** 3.1 → Threshold change: the threshold changed (the threshold updated); Rule: a threshold change (the threshold updated) is recorded (the new threshold, the time); it is auditable
**Preconditions:** A payout threshold is live.
**Steps:**
1. Change the threshold (the new threshold, the time).
2. Verify the threshold is updated.
3. Verify the change is recorded and auditable.
**Expected Result:** The threshold change is recorded (the new threshold, the time) — it is auditable.
**Priority:** High

### TC-SA-14-03-006 — Threshold definition and enforcement are audit-logged with the affiliate, threshold, and timestamp
**Type:** Positive
**Covers:** 3.1 → Audit logging of the threshold definition and the enforcement; Rule: threshold definition and enforcement are audit-logged with the affiliate, threshold, and timestamp
**Preconditions:** Threshold definition and enforcement events have occurred.
**Steps:**
1. Open the audit trail and filter by "payout threshold".
2. Verify entries show the affiliate, the threshold, and the timestamp.
**Expected Result:** The threshold definition and enforcement are audit-logged with the affiliate, threshold, and timestamp.
**Priority:** Critical

### TC-SA-14-03-007 — The payout thresholds are visible (the affiliates, the thresholds, the earnings); the payouts are managed
**Type:** Positive
**Covers:** 3.1 → Rule: the payout thresholds are visible (the affiliates, the thresholds, the earnings); the payouts are managed
**Preconditions:** Multiple payout thresholds are defined.
**Steps:**
1. Open the payout thresholds view.
2. Verify the affiliates, the thresholds, and the earnings are visible.
3. Verify the payouts are managed.
**Expected Result:** The payout thresholds are visible — the affiliates, the thresholds, and the earnings are shown.
**Priority:** Medium

## 3.2 Configure Payout Schedules

### TC-SA-14-03-008 — Schedule definition: the schedule defined by the Super Admin (the frequency, the date, the scope); the payout frequency is the timing
**Type:** Positive
**Covers:** 3.2 → Payout frequency: the frequency (the monthly, the quarterly); Schedule definition: the schedule defined by the Super Admin (the frequency, the date, the scope); Rule: the payout frequency is the timing (the monthly, the quarterly); the frequency is the schedule
**Preconditions:** The Super Admin opens the payout configuration.
**Steps:**
1. Define the payout schedule: the frequency (the monthly, the quarterly), the date (e.g., the 1st of the month), and the scope (the schedule applies to the affiliates' payouts).
2. Save the schedule.
3. Verify the payout schedule is live and the payout is made per the schedule.
**Expected Result:** The payout schedule is defined (the frequency, the date, the scope) — the frequency is the timing.
**Priority:** Critical

### TC-SA-14-03-009 — Payout date: the date (the date of the payout, e.g., the 1st of the month); the date is the control
**Type:** Positive
**Covers:** 3.2 → Payout date: the date (the date of the payout, e.g., the 1st of the month); Rule: the payout date is the day (the date of the payout, e.g., the 1st of the month); the date is the control
**Preconditions:** A payout schedule is defined with a date.
**Steps:**
1. Open the payout date.
2. Verify the date is the day of the payout (e.g., the 1st of the month).
3. Verify the date is the control.
**Expected Result:** The payout date is the day — the date of the payout is shown.
**Priority:** High

### TC-SA-14-03-010 — Schedule scope: the scope (the schedule applies to the affiliates' payouts); the scope is the control
**Type:** Positive
**Covers:** 3.2 → Schedule scope: the scope (the schedule applies to the affiliates' payouts); Rule: the schedule scope is the application (the schedule applies to the affiliates' payouts); the scope is the control
**Preconditions:** A payout schedule is defined with a scope.
**Steps:**
1. Open the schedule scope.
2. Verify the scope is the affiliates' payouts.
3. Verify the scope is the control.
**Expected Result:** The schedule scope is the application — the schedule applies to the affiliates' payouts.
**Priority:** High

### TC-SA-14-03-011 — Schedule enforcement: the schedule enforced (the payout is made per the schedule); the payout is recorded
**Type:** Negative
**Covers:** 3.2 → Schedule enforcement: the schedule enforced (the payout is made per the schedule)
**Preconditions:** A monthly payout schedule is live (the 1st of the month, threshold met).
**Steps:**
1. The payout date (the 1st of the month) arrives — verify the payout is made per the schedule (the threshold is met).
2. A payout is attempted on a non-schedule date — verify the payout is not made (the schedule is not met).
3. Verify the payout is recorded.
**Expected Result:** The schedule is enforced — the payout is made per the schedule and it is recorded.
**Priority:** Critical

### TC-SA-14-03-012 — Schedule record: the schedule recorded (the affiliate, the frequency, the date, the payout); the record is the proof
**Type:** Positive
**Covers:** 3.2 → Schedule record: the schedule recorded (the affiliate, the frequency, the date, the payout)
**Preconditions:** A payout has been made per the schedule.
**Steps:**
1. Open the schedule record.
2. Verify it shows the affiliate, the frequency, the date, and the payout.
**Expected Result:** The schedule is recorded — the affiliate, the frequency, the date, and the payout are shown.
**Priority:** High

### TC-SA-14-03-013 — Schedule definition and enforcement are audit-logged with the affiliate, frequency, and timestamp
**Type:** Positive
**Covers:** 3.2 → Audit logging of the schedule definition and the enforcement; Rule: schedule definition and enforcement are audit-logged with the affiliate, frequency, and timestamp
**Preconditions:** Schedule definition and enforcement events have occurred.
**Steps:**
1. Open the audit trail and filter by "payout schedule".
2. Verify entries show the affiliate, the frequency, and the timestamp.
**Expected Result:** The schedule definition and enforcement are audit-logged with the affiliate, frequency, and timestamp.
**Priority:** Critical

### TC-SA-14-03-014 — A schedule change (the frequency, the date, the scope updated) is recorded (the new frequency, the new date, the new scope, the time); it is auditable
**Type:** Positive
**Covers:** 3.2 → Rule: a schedule change (the frequency, the date, the scope updated) is recorded (the new frequency, the new date, the new scope, the time); it is auditable
**Preconditions:** A payout schedule is live.
**Steps:**
1. Change the schedule (the new frequency, the new date, the new scope, the time).
2. Verify the schedule is updated.
3. Verify the change is recorded and auditable.
**Expected Result:** The schedule change is recorded (the new frequency, the new date, the new scope, the time) — it is auditable.
**Priority:** High

### TC-SA-14-03-015 — The payout schedules are visible (the affiliates, the frequencies, the dates, the payouts); the schedules are managed
**Type:** Positive
**Covers:** 3.2 → Rule: the payout schedules are visible (the affiliates, the frequencies, the dates, the payouts); the schedules are managed
**Preconditions:** Multiple payout schedules are defined.
**Steps:**
1. Open the payout schedules view.
2. Verify the affiliates, the frequencies, the dates, and the payouts are visible.
3. Verify the schedules are managed.
**Expected Result:** The payout schedules are visible — the affiliates, the frequencies, the dates, and the payouts are shown.
**Priority:** Medium

## 3.3 Payment Request Approval Workflow

### TC-SA-14-03-016 — Workflow definition: the workflow defined by the Super Admin (the request, the steps, the approver); the payment request is the trigger
**Type:** Positive
**Covers:** 3.3 → Payment request: the request (the affiliate's request for the payout); Workflow definition: the workflow defined by the Super Admin (the request, the steps, the approver); Rule: the payment request is the trigger (the affiliate's request for the payout); the request is the start
**Preconditions:** The Super Admin opens the payout configuration.
**Steps:**
1. Define the approval workflow: the request (the affiliate's request for the payout), the approval steps (e.g., the review, the approval), and the approver (e.g., the Super Admin).
2. Save the workflow.
3. Verify the approval workflow is live and the payouts are approved (the request is approved before the payout).
**Expected Result:** The approval workflow is defined (the request, the steps, the approver) — the request is the trigger.
**Priority:** Critical

### TC-SA-14-03-017 — Approval steps: the steps (the steps for the approval, e.g., the review, the approval); the steps are the workflow
**Type:** Positive
**Covers:** 3.3 → Approval steps: the steps (the steps for the approval, e.g., the review, the approval); Rule: the approval steps are the process (the steps for the approval, e.g., the review, the approval); the steps are the workflow
**Preconditions:** An approval workflow is defined with steps (the review, the approval).
**Steps:**
1. Open the approval steps.
2. Verify the steps are the review and the approval.
3. Verify the steps are the process.
**Expected Result:** The approval steps are the steps for the approval — the steps are the workflow.
**Priority:** High

### TC-SA-14-03-018 — Approver: the approver (the one who approves the request, e.g., the Super Admin); the approver is the control
**Type:** Negative
**Covers:** 3.3 → Approver: the approver (the one who approves the request, e.g., the Super Admin); Rule: the approver is the authority (the one who approves the request, e.g., the Super Admin); the approver is the control
**Preconditions:** An approval workflow is live with the approver set to the Super Admin.
**Steps:**
1. A user without approver authority attempts to approve a payment request — verify the approval is not allowed (the approver is the control).
2. The Super Admin approves the request — verify the approval is allowed.
3. Verify the approver is the authority.
**Expected Result:** The approver is enforced — only the approver can approve the request.
**Priority:** Critical

### TC-SA-14-03-019 — Request submission: the submission (the affiliate submits the request); the request is recorded
**Type:** Positive
**Covers:** 3.3 → Request submission: the submission (the affiliate submits the request)
**Preconditions:** An approval workflow is live and an affiliate's earnings meet the threshold.
**Steps:**
1. The affiliate submits a payment request.
2. Verify the request is recorded and enters the workflow.
3. Verify the request is the trigger.
**Expected Result:** The request is submitted — the affiliate's request for the payout is recorded and enters the workflow.
**Priority:** Critical

### TC-SA-14-03-020 — Request approval: the approval (the approver approves the request); the approval is recorded
**Type:** Positive
**Covers:** 3.3 → Request approval: the approval (the approver approves the request)
**Preconditions:** A payment request has been submitted and reviewed.
**Steps:**
1. The approver (the Super Admin) approves the request.
2. Verify the approval is recorded.
3. Verify the payout proceeds after the approval.
**Expected Result:** The request is approved — the approver approves the request and it is recorded.
**Priority:** Critical

### TC-SA-14-03-021 — Workflow definition and approvals are audit-logged with the affiliate, request, and timestamp
**Type:** Positive
**Covers:** 3.3 → Audit logging of the workflow definition and the approvals; Rule: workflow definition and approvals are audit-logged with the affiliate, request, and timestamp
**Preconditions:** Workflow definition and approval events have occurred.
**Steps:**
1. Open the audit trail and filter by "payment request".
2. Verify entries show the affiliate, the request, and the timestamp.
**Expected Result:** The workflow definition and approvals are audit-logged with the affiliate, request, and timestamp.
**Priority:** Critical

### TC-SA-14-03-022 — A workflow change (the steps, the approver updated) is recorded (the new steps, the new approver, the time); it is auditable
**Type:** Positive
**Covers:** 3.3 → Rule: a workflow change (the steps, the approver updated) is recorded (the new steps, the new approver, the time); it is auditable
**Preconditions:** An approval workflow is live.
**Steps:**
1. Change the workflow (the new steps, the new approver, the time).
2. Verify the workflow is updated.
3. Verify the change is recorded and auditable.
**Expected Result:** The workflow change is recorded (the new steps, the new approver, the time) — it is auditable.
**Priority:** High

### TC-SA-14-03-023 — The approval workflow is visible (the requests, the steps, the approvers, the approvals); the workflow is managed
**Type:** Positive
**Covers:** 3.3 → Rule: the approval workflow is visible (the requests, the steps, the approvers, the approvals); the workflow is managed
**Preconditions:** An approval workflow is live with requests and approvals.
**Steps:**
1. Open the approval workflow view.
2. Verify the requests, the steps, the approvers, and the approvals are visible.
3. Verify the workflow is managed.
**Expected Result:** The approval workflow is visible — the requests, the steps, the approvers, and the approvals are shown.
**Priority:** Medium
