# 5. Export Management — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: export_management.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 |
|---------|--------------------|----------|
| 5.1 Choose Export Scope and Format | Scope: the scope (the scope, the data, the date) | TC-SA-23-05-001 |
| 5.1 Choose Export Scope and Format | Data: the data (the data of the export, the type, the date) | TC-SA-23-05-002 |
| 5.1 Choose Export Scope and Format | Format: the format (the format, the structure, the date) | TC-SA-23-05-003 |
| 5.1 Choose Export Scope and Format | Scope count: the count (the count of the scopes) | TC-SA-23-05-004 |
| 5.1 Choose Export Scope and Format | Format count: the count (the count of the formats) | TC-SA-23-05-005 |
| 5.1 Choose Export Scope and Format | Scope view: the view (the scopes, the data, the dates) | TC-SA-23-05-006 |
| 5.1 Choose Export Scope and Format | Format view: the view (the formats, the structures, the dates) | TC-SA-23-05-007 |
| 5.1 Choose Export Scope and Format | Audit logging of the export scope and format selection | TC-SA-23-05-008 |
| 5.1 Choose Export Scope and Format | Rule: the scope is the boundary (the scope, the data, the date); the scope is the limit | TC-SA-23-05-001 |
| 5.1 Choose Export Scope and Format | Rule: the data is the content (the data of the export, the type, the date); the data is the payload | TC-SA-23-05-002 |
| 5.1 Choose Export Scope and Format | Rule: the format is the structure (the format, the structure, the date); the format is the shape | TC-SA-23-05-003 |
| 5.1 Choose Export Scope and Format | Rule: the scope count is the measure (the count of the scopes); the count is the volume | TC-SA-23-05-004 |
| 5.1 Choose Export Scope and Format | Rule: the export is defined (the scopes, the data, the dates, the formats); the choice is managed | TC-SA-23-05-006 |
| 5.1 Choose Export Scope and Format | Rule: export scope and format selection is audit-logged with the scope, format, and timestamp | TC-SA-23-05-008 |
| 5.2 Track Export Jobs and Status | Job: the job (the job, the scope, the status, the date) | TC-SA-23-05-009 |
| 5.2 Track Export Jobs and Status | Scope: the scope (the scope of the job, the data, the date) | TC-SA-23-05-010 |
| 5.2 Track Export Jobs and Status | Status: the status (the status of the job, e.g., the completed, the in-progress, the failed) | TC-SA-23-05-011 |
| 5.2 Track Export Jobs and Status | Job count: the count (the count of the jobs by status) | TC-SA-23-05-012 |
| 5.2 Track Export Jobs and Status | Job duration: the duration (the duration of the job, the time) | TC-SA-23-05-013 |
| 5.2 Track Export Jobs and Status | Job view: the view (the jobs, the scopes, the statuses, the dates) | TC-SA-23-05-014 |
| 5.2 Track Export Jobs and Status | Job export: the export (the jobs, the format, the status) | TC-SA-23-05-015 |
| 5.2 Track Export Jobs and Status | Audit logging of the export job tracking | TC-SA-23-05-016 |
| 5.2 Track Export Jobs and Status | Rule: the job is the task (the job, the scope, the status, the date); the job is the work | TC-SA-23-05-009 |
| 5.2 Track Export Jobs and Status | Rule: the scope is the boundary (the scope of the job, the data, the date); the scope is the limit | TC-SA-23-05-010 |
| 5.2 Track Export Jobs and Status | Rule: the status is the state (the status of the job, e.g., the completed, the in-progress, the failed); the status is the condition | TC-SA-23-05-011 |
| 5.2 Track Export Jobs and Status | Rule: the job duration is the time (the duration of the job, the time); the duration is the length | TC-SA-23-05-013 |
| 5.2 Track Export Jobs and Status | Rule: the exports are visible (the jobs, the scopes, the statuses, the dates); the tracking is managed | TC-SA-23-05-014 |
| 5.2 Track Export Jobs and Status | Rule: export job tracking is audit-logged with the job, status, and timestamp | TC-SA-23-05-016 |
| 5.3 Secure Delivery of Exported Data | Delivery: the delivery (the delivery, the export, the method, the date) | TC-SA-23-05-017 |
| 5.3 Secure Delivery of Exported Data | Export: the export (the export, the scope, the date) | TC-SA-23-05-018 |
| 5.3 Secure Delivery of Exported Data | Method: the method (the method of the delivery, e.g., the secure link, the encrypted file) | TC-SA-23-05-019 |
| 5.3 Secure Delivery of Exported Data | Delivery status: the status (the delivered, the in-progress, the failed) | TC-SA-23-05-020 |
| 5.3 Secure Delivery of Exported Data | Delivery count: the count (the count of the deliveries) | TC-SA-23-05-021 |
| 5.3 Secure Delivery of Exported Data | Delivery view: the view (the deliveries, the exports, the methods, the dates) | TC-SA-23-05-022 |
| 5.3 Secure Delivery of Exported Data | Delivery log: the log (the log of the deliveries, the date) | TC-SA-23-05-023 |
| 5.3 Secure Delivery of Exported Data | Audit logging of the secure delivery | TC-SA-23-05-024 |
| 5.3 Secure Delivery of Exported Data | Rule: the delivery is the transfer (the delivery, the export, the method, the date); the delivery is the handoff | TC-SA-23-05-017 |
| 5.3 Secure Delivery of Exported Data | Rule: the export is the data (the export, the scope, the date); the export is the payload | TC-SA-23-05-018 |
| 5.3 Secure Delivery of Exported Data | Rule: the method is the technique (the method of the delivery, e.g., the secure link, the encrypted file); the method is the channel | TC-SA-23-05-019 |
| 5.3 Secure Delivery of Exported Data | Rule: the delivery status is the state (the delivered, the in-progress, the failed); the status is the control | TC-SA-23-05-020 |
| 5.3 Secure Delivery of Exported Data | Rule: the data is delivered safely (the deliveries, the exports, the methods, the dates); the transfer is managed | TC-SA-23-05-022 |
| 5.3 Secure Delivery of Exported Data | Rule: secure delivery is audit-logged with the delivery, method, and timestamp | TC-SA-23-05-024 |

## 5.1 Choose Export Scope and Format

### TC-SA-23-05-001 — Scope: the scope (the scope, the data, the date); the scope is the limit
**Type:** Positive
**Covers:** 5.1 → Scope: the scope (the scope, the data, the date); Rule: the scope is the boundary (the scope, the data, the date); the scope is the limit
**Preconditions:** Super Admin is logged in; multiple data areas exist.
**Steps:**
1. Open Backup & Data Export → Export Management → Choose Export Scope and Format.
2. Set the scope: the scope (the scope, the data, the date) — verify the scope is the boundary.
3. Verify the scope shows the data and the date.
4. Run an export with the scope — verify only the scoped data is exported (out-of-scope data is never captured).
**Expected Result:** The scope is chosen — the scope, the data, and the date are the limit; exports respect the boundary exactly.
**Priority:** Critical

### TC-SA-23-05-002 — Data: the data (the data of the export, the type, the date); the data is the payload
**Type:** Positive
**Covers:** 5.1 → Data: the data (the data of the export, the type, the date); Rule: the data is the content (the data of the export, the type, the date); the data is the payload
**Preconditions:** Multiple data types exist.
**Steps:**
1. Select the data: the data (the data of the export, the type, the date) — verify the data is the content.
2. Verify the data shows the type and the date.
3. Export with a data-type selection — verify only the selected data types are included.
**Expected Result:** The data is selected — the data of the export, the type, and the date are the payload.
**Priority:** High

### TC-SA-23-05-003 — Format: the format (the format, the structure, the date); the format is the shape
**Type:** Edge
**Covers:** 5.1 → Format: the format (the format, the structure, the date); Rule: the format is the structure (the format, the structure, the date); the format is the shape
**Preconditions:** Export data containing special characters, unicode text, and embedded delimiters (format-integrity edge) exists.
**Steps:**
1. Set the format: the format (the format, the structure, the date) — verify the format is the structure.
2. Verify the format shows the structure and the date.
3. Export in each available format — verify every file is valid and parseable (CSV columns intact, JSON parseable) with identical data across formats.
**Expected Result:** The format is chosen — the format, the structure, and the date are the shape; every format produces a valid, parseable file.
**Priority:** High

### TC-SA-23-05-004 — Scope count: the count (the count of the scopes); the count is the volume
**Type:** Positive
**Covers:** 5.1 → Scope count: the count (the count of the scopes); Rule: the scope count is the measure (the count of the scopes); the count is the volume
**Preconditions:** Multiple scopes are defined.
**Steps:**
1. View the scope count: the count (the count of the scopes) — verify the scope count is the measure.
2. Verify the count matches the actual number of scopes.
3. Define a new scope — verify the count increments.
**Expected Result:** The scope count is shown — the count of the scopes is the volume.
**Priority:** High

### TC-SA-23-05-005 — Format count: the count (the count of the formats); the count is the measure
**Type:** Positive
**Covers:** 5.1 → Format count: the count (the count of the formats)
**Preconditions:** Multiple formats are available.
**Steps:**
1. View the format count: the count (the count of the formats) — verify the format count is the measure.
2. Verify the count matches the actual number of available formats.
3. Verify the count updates when the available formats change.
**Expected Result:** The format count is shown — the count of the formats is the measure.
**Priority:** High

### TC-SA-23-05-006 — Scope view: the view (the scopes, the data, the dates); the choice is managed
**Type:** Positive
**Covers:** 5.1 → Scope view: the view (the scopes, the data, the dates); Rule: the export is defined (the scopes, the data, the dates, the formats); the choice is managed
**Preconditions:** Multiple scopes exist.
**Steps:**
1. View the scopes: the view (the scopes, the data, the dates) — verify the export is defined.
2. Verify each scope shows the data and the date.
3. Verify the choice is managed (view, define, select, apply).
**Expected Result:** The scopes are viewed — the scopes, the data, and the dates are visible; the choice is managed.
**Priority:** High

### TC-SA-23-05-007 — Format view: the view (the formats, the structures, the dates); the format is the shape
**Type:** Positive
**Covers:** 5.1 → Format view: the view (the formats, the structures, the dates)
**Preconditions:** Multiple formats are available.
**Steps:**
1. View the formats: the view (the formats, the structures, the dates) — verify each format is visible.
2. Verify each format shows the structure and the date.
3. Verify the view matches the actual available formats (no phantom or missing formats).
**Expected Result:** The formats are viewed — the formats, the structures, and the dates are visible.
**Priority:** High

### TC-SA-23-05-008 — Export scope and format selection is audit-logged with the scope, format, and timestamp
**Type:** Positive
**Covers:** 5.1 → Audit logging of the export scope and format selection; Rule: export scope and format selection is audit-logged with the scope, format, and timestamp
**Preconditions:** Super Admin has chosen an export scope and format.
**Steps:**
1. Open the audit trail and filter by "export scope and format".
2. Verify entries show the scope, the format, and the timestamp.
**Expected Result:** The export scope and format selection is audit-logged with the scope, format, and timestamp.
**Priority:** Critical

## 5.2 Track Export Jobs and Status

### TC-SA-23-05-009 — Job: the job (the job, the scope, the status, the date); the job is the work
**Type:** Positive
**Covers:** 5.2 → Job: the job (the job, the scope, the status, the date); Rule: the job is the task (the job, the scope, the status, the date); the job is the work
**Preconditions:** Super Admin is logged in; export jobs exist.
**Steps:**
1. Open Backup & Data Export → Export Management → Track Export Jobs and Status.
2. Track the job: the job (the job, the scope, the status, the date) — verify the job is the task.
3. Verify the job shows the scope, the status, and the date.
4. Verify every export job is tracked (no export runs untracked).
**Expected Result:** The job is tracked — the job, the scope, the status, and the date are the work; every export is tracked.
**Priority:** Critical

### TC-SA-23-05-010 — Scope: the scope (the scope of the job, the data, the date); the scope is the limit
**Type:** Positive
**Covers:** 5.2 → Scope: the scope (the scope of the job, the data, the date); Rule: the scope is the boundary (the scope of the job, the data, the date); the scope is the limit
**Preconditions:** Export jobs with different scopes exist.
**Steps:**
1. Select the job and view the scope: the scope (the scope of the job, the data, the date) — verify the scope is the boundary.
2. Verify the scope shows the data and the date.
3. Verify the job's exported data matches exactly its scoped data.
**Expected Result:** The scope is shown — the scope of the job, the data, and the date are the limit.
**Priority:** High

### TC-SA-23-05-011 — Status: the status (the status of the job, e.g., the completed, the in-progress, the failed); the status is the condition
**Type:** Edge
**Covers:** 5.2 → Status: the status (the status of the job, e.g., the completed, the in-progress, the failed); Rule: the status is the state (the status of the job, e.g., the completed, the in-progress, the failed); the status is the condition
**Preconditions:** Jobs in completed, in-progress, and failed statuses exist; a job that has been in-progress far beyond its normal duration (stuck-job edge) is also prepared.
**Steps:**
1. View the status: the status (the status of the job, e.g., the completed, the in-progress, the failed) — verify the status is the state.
2. Verify each job shows its current status.
3. Check the stuck job — verify the tracking flags it (timeout alert / failed status per the documented rule); a stuck job is never left silently in-progress.
**Expected Result:** The status is shown — the status of the job (the completed, the in-progress, the failed) is the condition; stuck jobs are always flagged.
**Priority:** High

### TC-SA-23-05-012 — Job count: the count (the count of the jobs by status); the count is the measure
**Type:** Positive
**Covers:** 5.2 → Job count: the count (the count of the jobs by status)
**Preconditions:** Jobs in multiple statuses exist.
**Steps:**
1. View the job count: the count (the count of the jobs by status) — verify the job count is the measure.
2. Verify the count matches the actual number of jobs per status.
3. Complete a job — verify the per-status counts update.
**Expected Result:** The job count is shown — the count of the jobs by status is the measure.
**Priority:** High

### TC-SA-23-05-013 — Job duration: the duration (the duration of the job, the time); the duration is the length
**Type:** Positive
**Covers:** 5.2 → Job duration: the duration (the duration of the job, the time); Rule: the job duration is the time (the duration of the job, the time); the duration is the length
**Preconditions:** Multiple completed jobs with recorded durations exist.
**Steps:**
1. View the job duration: the duration (the duration of the job, the time) — verify the job duration is the duration.
2. Verify the duration shows the time taken for each job.
3. Verify the recorded duration matches the actual elapsed time (start to completion).
**Expected Result:** The job duration is shown — the duration of the job, the time, is the length.
**Priority:** High

### TC-SA-23-05-014 — Job view: the view (the jobs, the scopes, the statuses, the dates); the tracking is managed
**Type:** Positive
**Covers:** 5.2 → Job view: the view (the jobs, the scopes, the statuses, the dates); Rule: the exports are visible (the jobs, the scopes, the statuses, the dates); the tracking is managed
**Preconditions:** Multiple export jobs exist.
**Steps:**
1. View the jobs: the view (the jobs, the scopes, the statuses, the dates) — verify the exports are visible.
2. Verify each job shows the scope, the status, and the date.
3. Verify the tracking is managed (view, filter, monitor, alert).
**Expected Result:** The jobs are viewed — the jobs, the scopes, the statuses, and the dates are visible; the tracking is managed.
**Priority:** High

### TC-SA-23-05-015 — Job export: the export (the jobs, the format, the status); the export is the record
**Type:** Edge
**Covers:** 5.2 → Job export: the export (the jobs, the format, the status)
**Preconditions:** Export jobs exist for multiple statuses; a status filter with no matching jobs (zero-row export edge) is also prepared.
**Steps:**
1. Export the jobs: the export (the jobs, the format, the status) — verify the export is the record.
2. Verify the export contains all jobs for the selected status in the selected format.
3. Export the empty status filter — verify the export completes (empty file or clear "no data" message, no error/corrupt file).
**Expected Result:** The jobs are exported — the jobs, the format, and the status are the record; empty-filter exports never produce corrupt files or errors.
**Priority:** High

### TC-SA-23-05-016 — Export job tracking is audit-logged with the job, status, and timestamp
**Type:** Positive
**Covers:** 5.2 → Audit logging of the export job tracking; Rule: export job tracking is audit-logged with the job, status, and timestamp
**Preconditions:** Super Admin has tracked export jobs.
**Steps:**
1. Open the audit trail and filter by "export job tracking".
2. Verify entries show the job, the status, and the timestamp.
**Expected Result:** The export job tracking is audit-logged with the job, status, and timestamp.
**Priority:** Critical

## 5.3 Secure Delivery of Exported Data

### TC-SA-23-05-017 — Delivery: the delivery (the delivery, the export, the method, the date); the delivery is the handoff
**Type:** Positive
**Covers:** 5.3 → Delivery: the delivery (the delivery, the export, the method, the date); Rule: the delivery is the transfer (the delivery, the export, the method, the date); the delivery is the handoff
**Preconditions:** Super Admin is logged in; a completed export exists.
**Steps:**
1. Open Backup & Data Export → Export Management → Secure Delivery of Exported Data.
2. Deliver the exported data: the delivery (the delivery, the export, the method, the date) — verify the delivery is the transfer.
3. Verify the delivery shows the export, the method, and the date.
4. Verify the recipient receives exactly the exported data (complete, uncorrupted handoff).
**Expected Result:** The delivery is performed — the delivery, the export, the method, and the date are the handoff; the data is delivered safely.
**Priority:** Critical

### TC-SA-23-05-018 — Export: the export (the export, the scope, the date); the export is the payload
**Type:** Positive
**Covers:** 5.3 → Export: the export (the export, the scope, the date); Rule: the export is the data (the export, the scope, the date); the export is the payload
**Preconditions:** Multiple completed exports exist.
**Steps:**
1. Select the export: the export (the export, the scope, the date) — verify the export is the data.
2. Verify the export shows the scope and the date.
3. Verify only completed exports are selectable for delivery.
**Expected Result:** The export is selected — the export, the scope, and the date are the payload.
**Priority:** High

### TC-SA-23-05-019 — Method: the method (the method of the delivery, e.g., the secure link, the encrypted file); the method is the channel
**Type:** Edge
**Covers:** 5.3 → Method: the method (the method of the delivery, e.g., the secure link, the encrypted file); Rule: the method is the technique (the method of the delivery, e.g., the secure link, the encrypted file); the method is the channel
**Preconditions:** A completed export exists; an unauthorized recipient (no access to the export) is prepared (unauthorized-access edge).
**Steps:**
1. Set the method: the method (the method of the delivery, e.g., the secure link, the encrypted file) — verify the method is the technique.
2. Verify the method shows the technique (secure link / encrypted file) and the date.
3. Verify the secure link is access-controlled (only the intended recipient can open it) and the file is actually encrypted at rest/in transit.
4. Attempt access with the unauthorized recipient — verify access is denied (no data exposure); the denial is logged.
**Expected Result:** The method is set — the method of the delivery (the secure link, the encrypted file) is the channel; unauthorized access is always denied and logged.
**Priority:** High

### TC-SA-23-05-020 — Delivery status: the status (the delivered, the in-progress, the failed); the status is the control
**Type:** Positive
**Covers:** 5.3 → Delivery status: the status (the delivered, the in-progress, the failed); Rule: the delivery status is the state (the delivered, the in-progress, the failed); the status is the control
**Preconditions:** Deliveries with various statuses exist.
**Steps:**
1. View the delivery status: the status (the delivered, the in-progress, the failed) — verify the delivery status is the state.
2. Start a delivery — verify it shows in-progress, then delivered on success.
3. Verify a failed delivery shows failed with the reason.
**Expected Result:** The delivery status is shown — the delivered, the in-progress, and the failed are the control.
**Priority:** High

### TC-SA-23-05-021 — Delivery count: the count (the count of the deliveries); the count is the measure
**Type:** Positive
**Covers:** 5.3 → Delivery count: the count (the count of the deliveries)
**Preconditions:** Multiple deliveries exist.
**Steps:**
1. View the delivery count: the count (the count of the deliveries) — verify the delivery count is the measure.
2. Verify the count matches the actual number of deliveries.
3. Complete a new delivery — verify the count increments.
**Expected Result:** The delivery count is shown — the count of the deliveries is the measure.
**Priority:** High

### TC-SA-23-05-022 — Delivery view: the view (the deliveries, the exports, the methods, the dates); the transfer is managed
**Type:** Positive
**Covers:** 5.3 → Delivery view: the view (the deliveries, the exports, the methods, the dates); Rule: the data is delivered safely (the deliveries, the exports, the methods, the dates); the transfer is managed
**Preconditions:** Multiple deliveries exist.
**Steps:**
1. View the deliveries: the view (the deliveries, the exports, the methods, the dates) — verify the data is delivered safely.
2. Verify each delivery shows the export, the method, and the date.
3. Verify the transfer is managed (view, select, deliver, verify).
**Expected Result:** The deliveries are viewed — the deliveries, the exports, the methods, and the dates are visible; the transfer is managed.
**Priority:** High

### TC-SA-23-05-023 — Delivery log: the log (the log of the deliveries, the date); the log is the record
**Type:** Positive
**Covers:** 5.3 → Delivery log: the log (the log of the deliveries, the date)
**Preconditions:** Multiple deliveries have occurred.
**Steps:**
1. View the delivery log: the log (the log of the deliveries, the date) — verify the log is the record.
2. Verify the log shows each delivery and the date.
3. Verify every delivery appears in the log (no delivery is missing from the record).
**Expected Result:** The delivery log is shown — the log of the deliveries, the date, is the record; every delivery is logged.
**Priority:** High

### TC-SA-23-05-024 — Secure delivery is audit-logged with the delivery, method, and timestamp
**Type:** Positive
**Covers:** 5.3 → Audit logging of the secure delivery; Rule: secure delivery is audit-logged with the delivery, method, and timestamp
**Preconditions:** Super Admin has delivered exported data.
**Steps:**
1. Open the audit trail and filter by "secure delivery".
2. Verify entries show the delivery, the method, and the timestamp.
**Expected Result:** The secure delivery is audit-logged with the delivery, method, and timestamp.
**Priority:** Critical
