# 4. Data Exchange & SSO Integration — Test Cases

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

## Test Execution Policy

- Zero tolerance: any deviation from the documented behavior is a defect.
- Every failed test is logged with a Bug ID, the feature, the sub-feature, the expected vs actual result, and the severity; 100% of bugs are fixed before the group passes.
- 100% pass rate is required for the group to be marked complete.

## Coverage Matrix

| Feature | Sub-feature / Rule | Test IDs |
|---------|--------------------|----------|
| 4.1 | Data import via file upload | TC-TI-7-04-001 |
| 4.1 | Data export in standard formats | TC-TI-7-04-002 |
| 4.1 | Import validation | TC-TI-7-04-003 |
| 4.1 | Export scoped to institute records | TC-TI-7-04-004 |
| 4.1 | Import summary shown | TC-TI-7-04-005 |
| 4.1 | Export history shown | TC-TI-7-04-006 |
| 4.1 | Exchange available on web and mobile | TC-TI-7-04-007 |
| 4.1 | Exchange event logging (imported, exported) | TC-TI-7-04-008 |
| 4.1 | Audit logging of the data import and export | TC-TI-7-04-009 |
| 4.1 | Rule: The import validates the data before applying it. | TC-TI-7-04-001 |
| 4.1 | Rule: The export is scoped to the institute's records. | TC-TI-7-04-002 |
| 4.1 | Rule: Exchange events (imported, exported) are logged with the account and the timestamp. | TC-TI-7-04-003 |
| 4.1 | Rule: The data import and export is audit-logged with the account and the timestamp. | TC-TI-7-04-004 |
| 4.2 | Student SSO configuration | TC-TI-7-04-010 |
| 4.2 | Organization identity provider setup | TC-TI-7-04-011 |
| 4.2 | Students sign in via institute SSO | TC-TI-7-04-012 |
| 4.2 | SSO status shown | TC-TI-7-04-013 |
| 4.2 | Disable student SSO | TC-TI-7-04-014 |
| 4.2 | SSO available on web and mobile | TC-TI-7-04-015 |
| 4.2 | SSO event logging (enabled, disabled) | TC-TI-7-04-016 |
| 4.2 | Audit logging of the SSO integration for students | TC-TI-7-04-017 |
| 4.2 | Rule: A student without an SSO account falls back to email login. | TC-TI-7-04-010 |
| 4.2 | Rule: Disabling SSO requires students to use email login. | TC-TI-7-04-011 |
| 4.2 | Rule: SSO events (enabled, disabled) are logged with the account and the timestamp. | TC-TI-7-04-012 |
| 4.2 | Rule: The SSO integration for students is audit-logged with the account and the timestamp. | TC-TI-7-04-013 |
| 4.3 | API rate limits view | TC-TI-7-04-018 |
| 4.3 | Calls per minute shown | TC-TI-7-04-019 |
| 4.3 | Daily quota shown | TC-TI-7-04-020 |
| 4.3 | Current consumption shown | TC-TI-7-04-021 |
| 4.3 | Quota reset time shown | TC-TI-7-04-022 |
| 4.3 | Request a quota increase | TC-TI-7-04-023 |
| 4.3 | Limits available on web and mobile | TC-TI-7-04-024 |
| 4.3 | Limits event logging (viewed, increase requested) | TC-TI-7-04-025 |
| 4.3 | Audit logging of the API rate limits and quotas | TC-TI-7-04-026 |
| 4.3 | Rule: Exceeding the rate limit returns a throttling response. | TC-TI-7-04-018 |
| 4.3 | Rule: The quota resets at the scheduled time. | TC-TI-7-04-019 |
| 4.3 | Rule: Limits events (viewed, increase requested) are logged with the account and the timestamp. | TC-TI-7-04-020 |
| 4.3 | Rule: The API rate limits and quotas is audit-logged with the account and the timestamp. | TC-TI-7-04-021 |

## 4.1 Data Import & Export

### TC-TI-7-04-001 — Data import via file upload
**Type:** Positive
**Covers:** 4.1 → Data import via file upload; Rule: The import validates the data before applying it.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Data import via file upload.
2. Observe the result and verify the full behavior: Data import via file upload.
**Expected Result:** Data import via file upload — delivered exactly as documented.
**Priority:** Critical

### TC-TI-7-04-002 — Data export in standard formats
**Type:** Positive
**Covers:** 4.1 → Data export in standard formats; Rule: The export is scoped to the institute's records.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Data export in standard formats.
2. Observe the result and verify the full behavior: Data export in standard formats.
**Expected Result:** Data export in standard formats — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-003 — Import validation
**Type:** Edge
**Covers:** 4.1 → Import validation; Rule: Exchange events (imported, exported) are logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Import validation.
2. Observe the result and verify the full behavior: Import validation.
**Expected Result:** Import validation — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-004 — Export scoped to institute records
**Type:** Positive
**Covers:** 4.1 → Export scoped to institute records; Rule: The data import and export is audit-logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Export scoped to institute records.
2. Observe the result and verify the full behavior: Export scoped to institute records.
**Expected Result:** Export scoped to institute records — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-005 — Import summary shown
**Type:** Positive
**Covers:** 4.1 → Import summary shown
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Import summary shown.
2. Observe the result and verify the full behavior: Import summary shown.
**Expected Result:** Import summary shown — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-006 — Export history shown
**Type:** Positive
**Covers:** 4.1 → Export history shown
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Export history shown.
2. Observe the result and verify the full behavior: Export history shown.
**Expected Result:** Export history shown — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-007 — Exchange available on web and mobile
**Type:** Positive
**Covers:** 4.1 → Exchange available on web and mobile
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Exchange available on web and mobile.
2. Observe the result and verify the full behavior: Exchange available on web and mobile.
**Expected Result:** Exchange available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-008 — Exchange event logging (imported, exported)
**Type:** Positive
**Covers:** 4.1 → Exchange event logging (imported, exported)
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Exchange event logging (imported, exported).
2. Observe the result and verify the full behavior: Exchange event logging (imported, exported).
**Expected Result:** Exchange event logging (imported, exported) — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-009 — Audit logging of the data import and export
**Type:** Positive
**Covers:** 4.1 → Audit logging of the data import and export
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, perform the data import and export action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The data import and export action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 4.2 SSO Integration for Students

### TC-TI-7-04-010 — Student SSO configuration
**Type:** Positive
**Covers:** 4.2 → Student SSO configuration; Rule: A student without an SSO account falls back to email login.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Student SSO configuration.
2. Observe the result and verify the full behavior: Student SSO configuration.
**Expected Result:** Student SSO configuration — delivered exactly as documented.
**Priority:** Critical

### TC-TI-7-04-011 — Organization identity provider setup
**Type:** Positive
**Covers:** 4.2 → Organization identity provider setup; Rule: Disabling SSO requires students to use email login.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Organization identity provider setup.
2. Observe the result and verify the full behavior: Organization identity provider setup.
**Expected Result:** Organization identity provider setup — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-012 — Students sign in via institute SSO
**Type:** Positive
**Covers:** 4.2 → Students sign in via institute SSO; Rule: SSO events (enabled, disabled) are logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Students sign in via institute SSO.
2. Observe the result and verify the full behavior: Students sign in via institute SSO.
**Expected Result:** Students sign in via institute SSO — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-013 — SSO status shown
**Type:** Positive
**Covers:** 4.2 → SSO status shown; Rule: The SSO integration for students is audit-logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: SSO status shown.
2. Observe the result and verify the full behavior: SSO status shown.
**Expected Result:** SSO status shown — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-014 — Disable student SSO
**Type:** Positive
**Covers:** 4.2 → Disable student SSO
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Disable student SSO.
2. Observe the result and verify the full behavior: Disable student SSO.
**Expected Result:** Disable student SSO — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-015 — SSO available on web and mobile
**Type:** Positive
**Covers:** 4.2 → SSO available on web and mobile
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: SSO available on web and mobile.
2. Observe the result and verify the full behavior: SSO available on web and mobile.
**Expected Result:** SSO available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-016 — SSO event logging (enabled, disabled)
**Type:** Positive
**Covers:** 4.2 → SSO event logging (enabled, disabled)
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: SSO event logging (enabled, disabled).
2. Observe the result and verify the full behavior: SSO event logging (enabled, disabled).
**Expected Result:** SSO event logging (enabled, disabled) — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-017 — Audit logging of the SSO integration for students
**Type:** Positive
**Covers:** 4.2 → Audit logging of the SSO integration for students
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, perform the SSO integration for students action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The SSO integration for students action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 4.3 API Rate Limits & Quotas

### TC-TI-7-04-018 — API rate limits view
**Type:** Edge
**Covers:** 4.3 → API rate limits view; Rule: Exceeding the rate limit returns a throttling response.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: API rate limits view.
2. Observe the result and verify the full behavior: API rate limits view.
**Expected Result:** API rate limits view — delivered exactly as documented.
**Priority:** Critical

### TC-TI-7-04-019 — Calls per minute shown
**Type:** Positive
**Covers:** 4.3 → Calls per minute shown; Rule: The quota resets at the scheduled time.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Calls per minute shown.
2. Observe the result and verify the full behavior: Calls per minute shown.
**Expected Result:** Calls per minute shown — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-020 — Daily quota shown
**Type:** Positive
**Covers:** 4.3 → Daily quota shown; Rule: Limits events (viewed, increase requested) are logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Daily quota shown.
2. Observe the result and verify the full behavior: Daily quota shown.
**Expected Result:** Daily quota shown — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-021 — Current consumption shown
**Type:** Positive
**Covers:** 4.3 → Current consumption shown; Rule: The API rate limits and quotas is audit-logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Current consumption shown.
2. Observe the result and verify the full behavior: Current consumption shown.
**Expected Result:** Current consumption shown — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-022 — Quota reset time shown
**Type:** Positive
**Covers:** 4.3 → Quota reset time shown
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Quota reset time shown.
2. Observe the result and verify the full behavior: Quota reset time shown.
**Expected Result:** Quota reset time shown — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-023 — Request a quota increase
**Type:** Positive
**Covers:** 4.3 → Request a quota increase
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Request a quota increase.
2. Observe the result and verify the full behavior: Request a quota increase.
**Expected Result:** Request a quota increase — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-024 — Limits available on web and mobile
**Type:** Edge
**Covers:** 4.3 → Limits available on web and mobile
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Limits available on web and mobile.
2. Observe the result and verify the full behavior: Limits available on web and mobile.
**Expected Result:** Limits available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-025 — Limits event logging (viewed, increase requested)
**Type:** Edge
**Covers:** 4.3 → Limits event logging (viewed, increase requested)
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Limits event logging (viewed, increase requested).
2. Observe the result and verify the full behavior: Limits event logging (viewed, increase requested).
**Expected Result:** Limits event logging (viewed, increase requested) — delivered exactly as documented.
**Priority:** High

### TC-TI-7-04-026 — Audit logging of the API rate limits and quotas
**Type:** Edge
**Covers:** 4.3 → Audit logging of the API rate limits and quotas
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, perform the API rate limits and quotas action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The API rate limits and quotas action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical
