# 4. Dedicated Support & Community — Test Cases

User Type: **Affiliate**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: dedicated_support_community.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 | Dedicated affiliate manager assigned | TC-AF-8-04-001 |
| 4.1 | Manager's contact details shown | TC-AF-8-04-002 |
| 4.1 | Send a message to the manager | TC-AF-8-04-003 |
| 4.1 | Schedule a 1:1 call | TC-AF-8-04-004 |
| 4.1 | Message history with the manager | TC-AF-8-04-005 |
| 4.1 | Manager available on web and mobile | TC-AF-8-04-006 |
| 4.1 | Manager event logging (messaged, call scheduled) | TC-AF-8-04-007 |
| 4.1 | Audit logging of the dedicated affiliate manager | TC-AF-8-04-008 |
| 4.1 | Rule: The manager is a named contact. | TC-AF-8-04-001 |
| 4.1 | Rule: A 1:1 call can be scheduled. | TC-AF-8-04-002 |
| 4.1 | Rule: Manager events (messaged, call scheduled) are logged with the account and the timestamp. | TC-AF-8-04-003 |
| 4.1 | Rule: The dedicated affiliate manager is audit-logged with the account and the timestamp. | TC-AF-8-04-004 |
| 4.2 | Access to the private community | TC-AF-8-04-009 |
| 4.2 | Browse community threads | TC-AF-8-04-010 |
| 4.2 | Post a new thread | TC-AF-8-04-011 |
| 4.2 | Reply to a thread | TC-AF-8-04-012 |
| 4.2 | Threads categorized by topic | TC-AF-8-04-013 |
| 4.2 | Community is moderated | TC-AF-8-04-014 |
| 4.2 | Community available on web and mobile | TC-AF-8-04-015 |
| 4.2 | Community event logging (posted, replied) | TC-AF-8-04-016 |
| 4.2 | Audit logging of the private affiliate community | TC-AF-8-04-017 |
| 4.2 | Rule: The community is private to Affiliates. | TC-AF-8-04-009 |
| 4.2 | Rule: The threads are categorized by topic. | TC-AF-8-04-010 |
| 4.2 | Rule: Community events (posted, replied) are logged with the account and the timestamp. | TC-AF-8-04-011 |
| 4.2 | Rule: The private affiliate community is audit-logged with the account and the timestamp. | TC-AF-8-04-012 |
| 4.3 | List of co-marketing opportunities | TC-AF-8-04-018 |
| 4.3 | Joint campaign details | TC-AF-8-04-019 |
| 4.3 | Apply for an opportunity | TC-AF-8-04-020 |
| 4.3 | Track the co-marketing campaign | TC-AF-8-04-021 |
| 4.3 | Campaign performance shown | TC-AF-8-04-022 |
| 4.3 | Opportunities available on web and mobile | TC-AF-8-04-023 |
| 4.3 | Opportunities event logging (applied, tracked) | TC-AF-8-04-024 |
| 4.3 | Audit logging of the co-marketing opportunities | TC-AF-8-04-025 |
| 4.3 | Rule: The opportunities are joint campaigns with the platform. | TC-AF-8-04-018 |
| 4.3 | Rule: An opportunity can be applied for and tracked. | TC-AF-8-04-019 |
| 4.3 | Rule: Opportunities events (applied, tracked) are logged with the account and the timestamp. | TC-AF-8-04-020 |
| 4.3 | Rule: The co-marketing opportunities is audit-logged with the account and the timestamp. | TC-AF-8-04-021 |

## 4.1 Dedicated Affiliate Manager

### TC-AF-8-04-001 — Dedicated affiliate manager assigned
**Type:** Positive
**Covers:** 4.1 → Dedicated affiliate manager assigned; Rule: The manager is a named contact.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Dedicated affiliate manager assigned.
2. Observe the result and verify the full behavior: Dedicated affiliate manager assigned.
**Expected Result:** Dedicated affiliate manager assigned — delivered exactly as documented.
**Priority:** Critical

### TC-AF-8-04-002 — Manager's contact details shown
**Type:** Positive
**Covers:** 4.1 → Manager's contact details shown; Rule: A 1:1 call can be scheduled.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Manager's contact details shown.
2. Observe the result and verify the full behavior: Manager's contact details shown.
**Expected Result:** Manager's contact details shown — delivered exactly as documented.
**Priority:** High

### TC-AF-8-04-003 — Send a message to the manager
**Type:** Positive
**Covers:** 4.1 → Send a message to the manager; Rule: Manager events (messaged, call scheduled) are logged with the account and the timestamp.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Send a message to the manager.
2. Observe the result and verify the full behavior: Send a message to the manager.
**Expected Result:** Send a message to the manager — delivered exactly as documented.
**Priority:** High

### TC-AF-8-04-004 — Schedule a 1:1 call
**Type:** Positive
**Covers:** 4.1 → Schedule a 1:1 call; Rule: The dedicated affiliate manager is audit-logged with the account and the timestamp.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Schedule a 1:1 call.
2. Observe the result and verify the full behavior: Schedule a 1:1 call.
**Expected Result:** Schedule a 1:1 call — delivered exactly as documented.
**Priority:** High

### TC-AF-8-04-005 — Message history with the manager
**Type:** Positive
**Covers:** 4.1 → Message history with the manager
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Message history with the manager.
2. Observe the result and verify the full behavior: Message history with the manager.
**Expected Result:** Message history with the manager — delivered exactly as documented.
**Priority:** High

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

### TC-AF-8-04-007 — Manager event logging (messaged, call scheduled)
**Type:** Positive
**Covers:** 4.1 → Manager event logging (messaged, call scheduled)
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Manager event logging (messaged, call scheduled).
2. Observe the result and verify the full behavior: Manager event logging (messaged, call scheduled).
**Expected Result:** Manager event logging (messaged, call scheduled) — delivered exactly as documented.
**Priority:** High

### TC-AF-8-04-008 — Audit logging of the dedicated affiliate manager
**Type:** Positive
**Covers:** 4.1 → Audit logging of the dedicated affiliate manager
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, perform the dedicated affiliate manager action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The dedicated affiliate manager action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 4.2 Private Affiliate Community

### TC-AF-8-04-009 — Access to the private community
**Type:** Positive
**Covers:** 4.2 → Access to the private community; Rule: The community is private to Affiliates.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Access to the private community.
2. Observe the result and verify the full behavior: Access to the private community.
**Expected Result:** Access to the private community — delivered exactly as documented.
**Priority:** Critical

### TC-AF-8-04-010 — Browse community threads
**Type:** Positive
**Covers:** 4.2 → Browse community threads; Rule: The threads are categorized by topic.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Browse community threads.
2. Observe the result and verify the full behavior: Browse community threads.
**Expected Result:** Browse community threads — delivered exactly as documented.
**Priority:** High

### TC-AF-8-04-011 — Post a new thread
**Type:** Positive
**Covers:** 4.2 → Post a new thread; Rule: Community events (posted, replied) are logged with the account and the timestamp.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Post a new thread.
2. Observe the result and verify the full behavior: Post a new thread.
**Expected Result:** Post a new thread — delivered exactly as documented.
**Priority:** High

### TC-AF-8-04-012 — Reply to a thread
**Type:** Positive
**Covers:** 4.2 → Reply to a thread; Rule: The private affiliate community is audit-logged with the account and the timestamp.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Reply to a thread.
2. Observe the result and verify the full behavior: Reply to a thread.
**Expected Result:** Reply to a thread — delivered exactly as documented.
**Priority:** High

### TC-AF-8-04-013 — Threads categorized by topic
**Type:** Positive
**Covers:** 4.2 → Threads categorized by topic
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Threads categorized by topic.
2. Observe the result and verify the full behavior: Threads categorized by topic.
**Expected Result:** Threads categorized by topic — delivered exactly as documented.
**Priority:** High

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

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

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

### TC-AF-8-04-017 — Audit logging of the private affiliate community
**Type:** Positive
**Covers:** 4.2 → Audit logging of the private affiliate community
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, perform the private affiliate community action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The private affiliate community action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 4.3 Co-Marketing Opportunities

### TC-AF-8-04-018 — List of co-marketing opportunities
**Type:** Positive
**Covers:** 4.3 → List of co-marketing opportunities; Rule: The opportunities are joint campaigns with the platform.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: List of co-marketing opportunities.
2. Observe the result and verify the full behavior: List of co-marketing opportunities.
**Expected Result:** List of co-marketing opportunities — delivered exactly as documented.
**Priority:** Critical

### TC-AF-8-04-019 — Joint campaign details
**Type:** Positive
**Covers:** 4.3 → Joint campaign details; Rule: An opportunity can be applied for and tracked.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Joint campaign details.
2. Observe the result and verify the full behavior: Joint campaign details.
**Expected Result:** Joint campaign details — delivered exactly as documented.
**Priority:** High

### TC-AF-8-04-020 — Apply for an opportunity
**Type:** Positive
**Covers:** 4.3 → Apply for an opportunity; Rule: Opportunities events (applied, tracked) are logged with the account and the timestamp.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Apply for an opportunity.
2. Observe the result and verify the full behavior: Apply for an opportunity.
**Expected Result:** Apply for an opportunity — delivered exactly as documented.
**Priority:** High

### TC-AF-8-04-021 — Track the co-marketing campaign
**Type:** Positive
**Covers:** 4.3 → Track the co-marketing campaign; Rule: The co-marketing opportunities is audit-logged with the account and the timestamp.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Track the co-marketing campaign.
2. Observe the result and verify the full behavior: Track the co-marketing campaign.
**Expected Result:** Track the co-marketing campaign — delivered exactly as documented.
**Priority:** High

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

### TC-AF-8-04-023 — Opportunities available on web and mobile
**Type:** Positive
**Covers:** 4.3 → Opportunities available on web and mobile
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Opportunities available on web and mobile.
2. Observe the result and verify the full behavior: Opportunities available on web and mobile.
**Expected Result:** Opportunities available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-AF-8-04-024 — Opportunities event logging (applied, tracked)
**Type:** Positive
**Covers:** 4.3 → Opportunities event logging (applied, tracked)
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Opportunities event logging (applied, tracked).
2. Observe the result and verify the full behavior: Opportunities event logging (applied, tracked).
**Expected Result:** Opportunities event logging (applied, tracked) — delivered exactly as documented.
**Priority:** High

### TC-AF-8-04-025 — Audit logging of the co-marketing opportunities
**Type:** Positive
**Covers:** 4.3 → Audit logging of the co-marketing opportunities
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, perform the co-marketing opportunities action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The co-marketing opportunities action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical
