# 3. Help Center — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: help_center.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 FAQs and Tutorials | FAQ: the FAQ (the FAQ, the question, the answer, the date) | TC-SA-21-03-001 |
| 3.1 FAQs and Tutorials | Question: the question (the question, the text, the date) | TC-SA-21-03-002 |
| 3.1 FAQs and Tutorials | Answer: the answer (the answer, the text, the date) | TC-SA-21-03-003 |
| 3.1 FAQs and Tutorials | Tutorial: the tutorial (the tutorial, the topic, the steps, the date) | TC-SA-21-03-004 |
| 3.1 FAQs and Tutorials | FAQ count: the count (the count of the FAQs) | TC-SA-21-03-005 |
| 3.1 FAQs and Tutorials | FAQ status: the status (the active, the archived) | TC-SA-21-03-006 |
| 3.1 FAQs and Tutorials | FAQ view: the view (the FAQs, the questions, the answers, the counts) | TC-SA-21-03-007 |
| 3.1 FAQs and Tutorials | Audit logging of the FAQ and tutorial configuration | TC-SA-21-03-008 |
| 3.1 FAQs and Tutorials | Rule: the FAQ is the reference (the FAQ, the question, the answer, the date); the FAQ is the answer | TC-SA-21-03-001 |
| 3.1 FAQs and Tutorials | Rule: the question is the query (the question, the text, the date); the question is the input | TC-SA-21-03-002 |
| 3.1 FAQs and Tutorials | Rule: the answer is the response (the answer, the text, the date); the answer is the output | TC-SA-21-03-003 |
| 3.1 FAQs and Tutorials | Rule: the tutorial is the guide (the tutorial, the topic, the steps, the date); the tutorial is the how-to | TC-SA-21-03-004 |
| 3.1 FAQs and Tutorials | Rule: the FAQ is provided (the FAQs, the questions, the answers, the counts); the reference is managed | TC-SA-21-03-007 |
| 3.1 FAQs and Tutorials | Rule: FAQ and tutorial configuration is audit-logged with the FAQ, question, and timestamp | TC-SA-21-03-008 |
| 3.2 Video Guides for Platform Usage | Video guide: the video (the video, the topic, the duration, the date) | TC-SA-21-03-009 |
| 3.2 Video Guides for Platform Usage | Topic: the topic (the topic of the video, the category) | TC-SA-21-03-010 |
| 3.2 Video Guides for Platform Usage | Duration: the duration (the duration of the video, the time) | TC-SA-21-03-011 |
| 3.2 Video Guides for Platform Usage | Video count: the count (the count of the videos) | TC-SA-21-03-012 |
| 3.2 Video Guides for Platform Usage | Video status: the status (the active, the archived) | TC-SA-21-03-013 |
| 3.2 Video Guides for Platform Usage | Video view: the view (the videos, the topics, the durations, the counts) | TC-SA-21-03-014 |
| 3.2 Video Guides for Platform Usage | Video export: the export (the videos, the format, the topic) | TC-SA-21-03-015 |
| 3.2 Video Guides for Platform Usage | Audit logging of the video guide configuration | TC-SA-21-03-016 |
| 3.2 Video Guides for Platform Usage | Rule: the video guide is the guide (the video, the topic, the duration, the date); the video is the tutorial | TC-SA-21-03-009 |
| 3.2 Video Guides for Platform Usage | Rule: the topic is the category (the topic of the video, the category); the topic is the segment | TC-SA-21-03-010 |
| 3.2 Video Guides for Platform Usage | Rule: the duration is the length (the duration of the video, the time); the duration is the measure | TC-SA-21-03-011 |
| 3.2 Video Guides for Platform Usage | Rule: the video count is the measure (the count of the videos); the count is the volume | TC-SA-21-03-012 |
| 3.2 Video Guides for Platform Usage | Rule: the video is provided (the videos, the topics, the durations, the counts); the guide is managed | TC-SA-21-03-014 |
| 3.2 Video Guides for Platform Usage | Rule: video guide configuration is audit-logged with the video, topic, and timestamp | TC-SA-21-03-016 |
| 3.3 Troubleshooting Articles | Article: the article (the article, the issue, the solution, the date) | TC-SA-21-03-017 |
| 3.3 Troubleshooting Articles | Issue: the issue (the issue, the description, the date) | TC-SA-21-03-018 |
| 3.3 Troubleshooting Articles | Solution: the solution (the solution, the steps, the date) | TC-SA-21-03-019 |
| 3.3 Troubleshooting Articles | Article count: the count (the count of the articles) | TC-SA-21-03-020 |
| 3.3 Troubleshooting Articles | Article status: the status (the active, the archived) | TC-SA-21-03-021 |
| 3.3 Troubleshooting Articles | Article view: the view (the articles, the issues, the solutions, the counts) | TC-SA-21-03-022 |
| 3.3 Troubleshooting Articles | Article export: the export (the articles, the format, the issue) | TC-SA-21-03-023 |
| 3.3 Troubleshooting Articles | Audit logging of the troubleshooting article configuration | TC-SA-21-03-024 |
| 3.3 Troubleshooting Articles | Rule: the article is the fix (the article, the issue, the solution, the date); the article is the guide | TC-SA-21-03-017 |
| 3.3 Troubleshooting Articles | Rule: the issue is the problem (the issue, the description, the date); the issue is the fault | TC-SA-21-03-018 |
| 3.3 Troubleshooting Articles | Rule: the solution is the fix (the solution, the steps, the date); the solution is the remedy | TC-SA-21-03-019 |
| 3.3 Troubleshooting Articles | Rule: the article count is the measure (the count of the articles); the count is the volume | TC-SA-21-03-020 |
| 3.3 Troubleshooting Articles | Rule: the article is provided (the articles, the issues, the solutions, the counts); the fix is managed | TC-SA-21-03-022 |
| 3.3 Troubleshooting Articles | Rule: troubleshooting article configuration is audit-logged with the article, issue, and timestamp | TC-SA-21-03-024 |
| 3.4 Community Forum | Forum: the forum (the forum, the post, the user, the date) | TC-SA-21-03-025 |
| 3.4 Community Forum | Post: the post (the post, the text, the user, the date) | TC-SA-21-03-026 |
| 3.4 Community Forum | User: the user (the user, the name, the post) | TC-SA-21-03-027 |
| 3.4 Community Forum | Post count: the count (the count of the posts) | TC-SA-21-03-028 |
| 3.4 Community Forum | Forum status: the status (the active, the archived) | TC-SA-21-03-029 |
| 3.4 Community Forum | Forum view: the view (the forums, the posts, the users, the counts) | TC-SA-21-03-030 |
| 3.4 Community Forum | Forum export: the export (the forums, the format, the post) | TC-SA-21-03-031 |
| 3.4 Community Forum | Audit logging of the community forum configuration | TC-SA-21-03-032 |
| 3.4 Community Forum | Rule: the forum is the discussion (the forum, the post, the user, the date); the forum is the community | TC-SA-21-03-025 |
| 3.4 Community Forum | Rule: the post is the contribution (the post, the text, the user, the date); the post is the entry | TC-SA-21-03-026 |
| 3.4 Community Forum | Rule: the user is the author (the user, the name, the post); the user is the participant | TC-SA-21-03-027 |
| 3.4 Community Forum | Rule: the post count is the measure (the count of the posts); the count is the volume | TC-SA-21-03-028 |
| 3.4 Community Forum | Rule: the forum is provided (the forums, the posts, the users, the counts); the discussion is managed | TC-SA-21-03-030 |
| 3.4 Community Forum | Rule: community forum configuration is audit-logged with the forum, post, and timestamp | TC-SA-21-03-032 |

## 3.1 FAQs and Tutorials

### TC-SA-21-03-001 — FAQ: the FAQ (the FAQ, the question, the answer, the date); the FAQ is the answer
**Type:** Positive
**Covers:** 3.1 → FAQ: the FAQ (the FAQ, the question, the answer, the date); Rule: the FAQ is the reference (the FAQ, the question, the answer, the date); the FAQ is the answer
**Preconditions:** Super Admin is logged in.
**Steps:**
1. Open Customer Support Management → Help Center → FAQs and Tutorials.
2. Create the FAQ: the FAQ (the FAQ, the question, the answer, the date) — verify the FAQ is the reference.
3. Verify the FAQ shows the question, the answer, and the date.
4. Save the FAQ — verify it appears in the FAQ list and is visible to users.
**Expected Result:** The FAQ is created — the FAQ, the question, the answer, and the date are the answer.
**Priority:** Critical

### TC-SA-21-03-002 — Question: the question (the question, the text, the date); the question is the input
**Type:** Positive
**Covers:** 3.1 → Question: the question (the question, the text, the date); Rule: the question is the query (the question, the text, the date); the question is the input
**Preconditions:** An FAQ is being created.
**Steps:**
1. Create the question: the question (the question, the text, the date) — verify the question is the query.
2. Verify the question shows the text and the date.
3. Verify the question is displayed prominently in the FAQ entry.
**Expected Result:** The question is created — the question, the text, and the date are the input.
**Priority:** High

### TC-SA-21-03-003 — Answer: the answer (the answer, the text, the date); the answer is the output
**Type:** Positive
**Covers:** 3.1 → Answer: the answer (the answer, the text, the date); Rule: the answer is the response (the answer, the text, the date); the answer is the output
**Preconditions:** An FAQ with a question exists.
**Steps:**
1. Create the answer: the answer (the answer, the text, the date) — verify the answer is the response.
2. Verify the answer shows the text and the date.
3. Verify the answer is linked to the correct question.
**Expected Result:** The answer is created — the answer, the text, and the date are the output.
**Priority:** High

### TC-SA-21-03-004 — Tutorial: the tutorial (the tutorial, the topic, the steps, the date); the tutorial is the how-to
**Type:** Positive
**Covers:** 3.1 → Tutorial: the tutorial (the tutorial, the topic, the steps, the date); Rule: the tutorial is the guide (the tutorial, the topic, the steps, the date); the tutorial is the how-to
**Preconditions:** Super Admin is logged in.
**Steps:**
1. Create the tutorial: the tutorial (the tutorial, the topic, the steps, the date) — verify the tutorial is the guide.
2. Verify the tutorial shows the topic, the steps, and the date.
3. Verify the steps are in logical order and the tutorial is visible to users.
**Expected Result:** The tutorial is created — the tutorial, the topic, the steps, and the date are the how-to.
**Priority:** High

### TC-SA-21-03-005 — FAQ count: the count (the count of the FAQs); the count is the measure
**Type:** Edge
**Covers:** 3.1 → FAQ count: the count (the count of the FAQs)
**Preconditions:** Multiple FAQs exist; a fresh Help Center with zero FAQs (zero-count edge) is also prepared.
**Steps:**
1. View the FAQ count: the count (the count of the FAQs) — verify the count is the measure.
2. Verify the count matches the actual number of FAQs.
3. Check the zero-FAQ state — verify the count shows 0 (no error, no negative value).
**Expected Result:** The FAQ count is shown — the count of the FAQs is the measure; the zero-FAQ state displays cleanly.
**Priority:** High

### TC-SA-21-03-006 — FAQ status: the status (the active, the archived); the status is the state
**Type:** Positive
**Covers:** 3.1 → FAQ status: the status (the active, the archived)
**Preconditions:** FAQs with active and archived statuses exist.
**Steps:**
1. View the FAQ status: the status (the active, the archived) — verify the FAQ status is the state.
2. Archive an active FAQ — verify it is no longer shown to users.
3. Reactivate it — verify it is visible to users again.
**Expected Result:** The FAQ status is shown — the active and the archived are the state.
**Priority:** High

### TC-SA-21-03-007 — FAQ view: the view (the FAQs, the questions, the answers, the counts); the reference is managed
**Type:** Positive
**Covers:** 3.1 → FAQ view: the view (the FAQs, the questions, the answers, the counts); Rule: the FAQ is provided (the FAQs, the questions, the answers, the counts); the reference is managed
**Preconditions:** Multiple FAQs and tutorials exist.
**Steps:**
1. View the FAQs: the view (the FAQs, the questions, the answers, the counts) — verify the FAQ is provided.
2. Verify each FAQ shows the question, the answer, and the count.
3. Verify the reference is managed (create, edit, archive).
**Expected Result:** The FAQs are viewed — the FAQs, the questions, the answers, and the counts are visible; the reference is managed.
**Priority:** High

### TC-SA-21-03-008 — FAQ and tutorial configuration is audit-logged with the FAQ, question, and timestamp
**Type:** Positive
**Covers:** 3.1 → Audit logging of the FAQ and tutorial configuration; Rule: FAQ and tutorial configuration is audit-logged with the FAQ, question, and timestamp
**Preconditions:** Super Admin has created an FAQ and a tutorial.
**Steps:**
1. Open the audit trail and filter by "FAQ".
2. Verify entries show the FAQ, the question, and the timestamp.
**Expected Result:** The FAQ and tutorial configuration is audit-logged with the FAQ, question, and timestamp.
**Priority:** Critical

## 3.2 Video Guides for Platform Usage

### TC-SA-21-03-009 — Video guide: the video (the video, the topic, the duration, the date); the video is the tutorial
**Type:** Positive
**Covers:** 3.2 → Video guide: the video (the video, the topic, the duration, the date); Rule: the video guide is the guide (the video, the topic, the duration, the date); the video is the tutorial
**Preconditions:** Super Admin is logged in; a video file is available.
**Steps:**
1. Open Customer Support Management → Help Center → Video Guides for Platform Usage.
2. Provide the video guide: the video (the video, the topic, the duration, the date) — verify the video guide is the guide.
3. Verify the video shows the topic, the duration, and the date.
4. Play the video — verify it streams correctly and is visible to users.
**Expected Result:** The video guide is provided — the video, the topic, the duration, and the date are the tutorial.
**Priority:** Critical

### TC-SA-21-03-010 — Topic: the topic (the topic of the video, the category); the topic is the segment
**Type:** Positive
**Covers:** 3.2 → Topic: the topic (the topic of the video, the category); Rule: the topic is the category (the topic of the video, the category); the topic is the segment
**Preconditions:** Video guides with different topics exist.
**Steps:**
1. Select the topic: the topic (the topic of the video, the category) — verify the topic is the category.
2. Verify each video shows its topic.
3. Verify videos can be filtered by topic.
**Expected Result:** The topic is selected — the topic of the video and the category are the segment.
**Priority:** High

### TC-SA-21-03-011 — Duration: the duration (the duration of the video, the time); the duration is the measure
**Type:** Edge
**Covers:** 3.2 → Duration: the duration (the duration of the video, the time); Rule: the duration is the length (the duration of the video, the time); the duration is the measure
**Preconditions:** Video guides of varying lengths exist; a zero-length/corrupt video file (zero-duration edge) is also prepared.
**Steps:**
1. View the duration: the duration (the duration of the video, the time) — verify the duration is the length.
2. Verify the duration matches the actual video length.
3. Upload the zero-length file — verify the system rejects it with a clear validation error (no broken video entry created).
**Expected Result:** The duration is shown — the duration of the video and the time are the measure; zero-length videos are rejected with a clear error.
**Priority:** High

### TC-SA-21-03-012 — Video count: the count (the count of the videos); the count is the volume
**Type:** Positive
**Covers:** 3.2 → Video count: the count (the count of the videos); Rule: the video count is the measure (the count of the videos); the count is the volume
**Preconditions:** Multiple video guides exist.
**Steps:**
1. View the video count: the count (the count of the videos) — verify the video count is the measure.
2. Verify the count matches the actual number of videos.
3. Add a new video — verify the count increments.
**Expected Result:** The video count is shown — the count of the videos is the volume.
**Priority:** High

### TC-SA-21-03-013 — Video status: the status (the active, the archived); the status is the state
**Type:** Positive
**Covers:** 3.2 → Video status: the status (the active, the archived)
**Preconditions:** Video guides with active and archived statuses exist.
**Steps:**
1. View the video status: the status (the active, the archived) — verify the video status is the state.
2. Archive an active video — verify it is no longer shown to users.
3. Reactivate it — verify it is visible to users again.
**Expected Result:** The video status is shown — the active and the archived are the state.
**Priority:** High

### TC-SA-21-03-014 — Video view: the view (the videos, the topics, the durations, the counts); the guide is managed
**Type:** Positive
**Covers:** 3.2 → Video view: the view (the videos, the topics, the durations, the counts); Rule: the video is provided (the videos, the topics, the durations, the counts); the guide is managed
**Preconditions:** Multiple video guides exist.
**Steps:**
1. View the videos: the view (the videos, the topics, the durations, the counts) — verify the video is provided.
2. Verify each video shows the topic, the duration, and the count.
3. Verify the guide is managed (upload, view, archive).
**Expected Result:** The videos are viewed — the videos, the topics, the durations, and the counts are visible; the guide is managed.
**Priority:** High

### TC-SA-21-03-015 — Video export: the export (the videos, the format, the topic); the export is the record
**Type:** Edge
**Covers:** 3.2 → Video export: the export (the videos, the format, the topic)
**Preconditions:** Video guides exist across topics; a topic with no videos (zero-row export edge) is also prepared.
**Steps:**
1. Export the videos: the export (the videos, the format, the topic) — verify the export is the record.
2. Verify the export contains all videos for the selected topic in the selected format.
3. Export the empty topic — verify the export completes (empty file or clear "no data" message, no error/corrupt file).
**Expected Result:** The videos are exported — the videos, the format, and the topic are the record; empty-topic exports never produce corrupt files or errors.
**Priority:** High

### TC-SA-21-03-016 — Video guide configuration is audit-logged with the video, topic, and timestamp
**Type:** Positive
**Covers:** 3.2 → Audit logging of the video guide configuration; Rule: video guide configuration is audit-logged with the video, topic, and timestamp
**Preconditions:** Super Admin has provided a video guide.
**Steps:**
1. Open the audit trail and filter by "video guide".
2. Verify entries show the video, the topic, and the timestamp.
**Expected Result:** The video guide configuration is audit-logged with the video, topic, and timestamp.
**Priority:** Critical

## 3.3 Troubleshooting Articles

### TC-SA-21-03-017 — Article: the article (the article, the issue, the solution, the date); the article is the guide
**Type:** Positive
**Covers:** 3.3 → Article: the article (the article, the issue, the solution, the date); Rule: the article is the fix (the article, the issue, the solution, the date); the article is the guide
**Preconditions:** Super Admin is logged in.
**Steps:**
1. Open Customer Support Management → Help Center → Troubleshooting Articles.
2. Provide the article: the article (the article, the issue, the solution, the date) — verify the article is the fix.
3. Verify the article shows the issue, the solution, and the date.
4. Save the article — verify it appears in the article list and is visible to users.
**Expected Result:** The article is provided — the article, the issue, the solution, and the date are the guide.
**Priority:** Critical

### TC-SA-21-03-018 — Issue: the issue (the issue, the description, the date); the issue is the fault
**Type:** Positive
**Covers:** 3.3 → Issue: the issue (the issue, the description, the date); Rule: the issue is the problem (the issue, the description, the date); the issue is the fault
**Preconditions:** A troubleshooting article is being created.
**Steps:**
1. Create the issue: the issue (the issue, the description, the date) — verify the issue is the problem.
2. Verify the issue shows the description and the date.
3. Verify the issue is displayed as the article's title/heading.
**Expected Result:** The issue is created — the issue, the description, and the date are the fault.
**Priority:** High

### TC-SA-21-03-019 — Solution: the solution (the solution, the steps, the date); the solution is the remedy
**Type:** Positive
**Covers:** 3.3 → Solution: the solution (the solution, the steps, the date); Rule: the solution is the fix (the solution, the steps, the date); the solution is the remedy
**Preconditions:** A troubleshooting article with an issue exists.
**Steps:**
1. Create the solution: the solution (the solution, the steps, the date) — verify the solution is the fix.
2. Verify the solution shows the steps and the date.
3. Verify the steps are in logical order and linked to the correct issue.
**Expected Result:** The solution is created — the solution, the steps, and the date are the remedy.
**Priority:** High

### TC-SA-21-03-020 — Article count: the count (the count of the articles); the count is the volume
**Type:** Positive
**Covers:** 3.3 → Article count: the count (the count of the articles); Rule: the article count is the measure (the count of the articles); the count is the volume
**Preconditions:** Multiple troubleshooting articles exist.
**Steps:**
1. View the article count: the count (the count of the articles) — verify the article count is the measure.
2. Verify the count matches the actual number of articles.
3. Add a new article — verify the count increments.
**Expected Result:** The article count is shown — the count of the articles is the volume.
**Priority:** High

### TC-SA-21-03-021 — Article status: the status (the active, the archived); the status is the state
**Type:** Positive
**Covers:** 3.3 → Article status: the status (the active, the archived)
**Preconditions:** Articles with active and archived statuses exist.
**Steps:**
1. View the article status: the status (the active, the archived) — verify the article status is the state.
2. Archive an active article — verify it is no longer shown to users.
3. Reactivate it — verify it is visible to users again.
**Expected Result:** The article status is shown — the active and the archived are the state.
**Priority:** High

### TC-SA-21-03-022 — Article view: the view (the articles, the issues, the solutions, the counts); the fix is managed
**Type:** Positive
**Covers:** 3.3 → Article view: the view (the articles, the issues, the solutions, the counts); Rule: the article is provided (the articles, the issues, the solutions, the counts); the fix is managed
**Preconditions:** Multiple troubleshooting articles exist.
**Steps:**
1. View the articles: the view (the articles, the issues, the solutions, the counts) — verify the article is provided.
2. Verify each article shows the issue, the solution, and the count.
3. Verify the fix is managed (create, edit, archive).
**Expected Result:** The articles are viewed — the articles, the issues, the solutions, and the counts are visible; the fix is managed.
**Priority:** High

### TC-SA-21-03-023 — Article export: the export (the articles, the format, the issue); the export is the record
**Type:** Edge
**Covers:** 3.3 → Article export: the export (the articles, the format, the issue)
**Preconditions:** Articles exist for multiple issues; an issue with no articles (zero-row export edge) is also prepared.
**Steps:**
1. Export the articles: the export (the articles, the format, the issue) — verify the export is the record.
2. Verify the export contains all articles for the selected issue in the selected format.
3. Export the empty issue — verify the export completes (empty file or clear "no data" message, no error/corrupt file).
**Expected Result:** The articles are exported — the articles, the format, and the issue are the record; empty-issue exports never produce corrupt files or errors.
**Priority:** High

### TC-SA-21-03-024 — Troubleshooting article configuration is audit-logged with the article, issue, and timestamp
**Type:** Positive
**Covers:** 3.3 → Audit logging of the troubleshooting article configuration; Rule: troubleshooting article configuration is audit-logged with the article, issue, and timestamp
**Preconditions:** Super Admin has provided a troubleshooting article.
**Steps:**
1. Open the audit trail and filter by "troubleshooting article".
2. Verify entries show the article, the issue, and the timestamp.
**Expected Result:** The troubleshooting article configuration is audit-logged with the article, issue, and timestamp.
**Priority:** Critical

## 3.4 Community Forum

### TC-SA-21-03-025 — Forum: the forum (the forum, the post, the user, the date); the forum is the community
**Type:** Positive
**Covers:** 3.4 → Forum: the forum (the forum, the post, the user, the date); Rule: the forum is the discussion (the forum, the post, the user, the date); the forum is the community
**Preconditions:** Super Admin is logged in.
**Steps:**
1. Open Customer Support Management → Help Center → Community Forum.
2. Provide the forum: the forum (the forum, the post, the user, the date) — verify the forum is the discussion.
3. Verify the forum shows the post, the user, and the date.
4. Verify the forum is accessible to users and accepts posts.
**Expected Result:** The forum is provided — the forum, the post, the user, and the date are the community.
**Priority:** Critical

### TC-SA-21-03-026 — Post: the post (the post, the text, the user, the date); the post is the entry
**Type:** Positive
**Covers:** 3.4 → Post: the post (the post, the text, the user, the date); Rule: the post is the contribution (the post, the text, the user, the date); the post is the entry
**Preconditions:** The forum is active; a user has posted.
**Steps:**
1. View the post: the post (the post, the text, the user, the date) — verify the post is the contribution.
2. Verify the post shows the text, the user, and the date.
3. Verify the post appears in the forum thread in chronological order.
**Expected Result:** The post is shown — the post, the text, the user, and the date are the entry.
**Priority:** High

### TC-SA-21-03-027 — User: the user (the user, the name, the post); the user is the participant
**Type:** Positive
**Covers:** 3.4 → User: the user (the user, the name, the post); Rule: the user is the author (the user, the name, the post); the user is the participant
**Preconditions:** Multiple users have posted in the forum.
**Steps:**
1. View the user: the user (the user, the name, the post) — verify the user is the author.
2. Verify the user shows the name and the post.
3. Verify each post is attributed to the correct user.
**Expected Result:** The user is shown — the user, the name, and the post are the participant.
**Priority:** High

### TC-SA-21-03-028 — Post count: the count (the count of the posts); the count is the volume
**Type:** Edge
**Covers:** 3.4 → Post count: the count (the count of the posts); Rule: the post count is the measure (the count of the posts); the count is the volume
**Preconditions:** Posts exist in the forum; a brand-new forum with zero posts (zero-count edge) is also prepared.
**Steps:**
1. View the post count: the count (the count of the posts) — verify the post count is the measure.
2. Verify the count matches the actual number of posts.
3. Check the zero-post forum — verify the count shows 0 (no error, no negative value).
**Expected Result:** The post count is shown — the count of the posts is the volume; the zero-post forum displays cleanly.
**Priority:** High

### TC-SA-21-03-029 — Forum status: the status (the active, the archived); the status is the state
**Type:** Positive
**Covers:** 3.4 → Forum status: the status (the active, the archived)
**Preconditions:** Forums with active and archived statuses exist.
**Steps:**
1. View the forum status: the status (the active, the archived) — verify the forum status is the state.
2. Archive an active forum — verify users can no longer post in it.
3. Reactivate it — verify users can post again.
**Expected Result:** The forum status is shown — the active and the archived are the state.
**Priority:** High

### TC-SA-21-03-030 — Forum view: the view (the forums, the posts, the users, the counts); the discussion is managed
**Type:** Positive
**Covers:** 3.4 → Forum view: the view (the forums, the posts, the users, the counts); Rule: the forum is provided (the forums, the posts, the users, the counts); the discussion is managed
**Preconditions:** Multiple forums with posts exist.
**Steps:**
1. View the forums: the view (the forums, the posts, the users, the counts) — verify the forum is provided.
2. Verify each forum shows the posts, the users, and the counts.
3. Verify the discussion is managed (create, moderate, archive).
**Expected Result:** The forums are viewed — the forums, the posts, the users, and the counts are visible; the discussion is managed.
**Priority:** High

### TC-SA-21-03-031 — Forum export: the export (the forums, the format, the post); the export is the record
**Type:** Edge
**Covers:** 3.4 → Forum export: the export (the forums, the format, the post)
**Preconditions:** Forums with posts exist; a forum with no posts (zero-row export edge) is also prepared.
**Steps:**
1. Export the forums: the export (the forums, the format, the post) — verify the export is the record.
2. Verify the export contains all posts for the selected forum in the selected format.
3. Export the empty forum — verify the export completes (empty file or clear "no data" message, no error/corrupt file).
**Expected Result:** The forums are exported — the forums, the format, and the post are the record; empty-forum exports never produce corrupt files or errors.
**Priority:** High

### TC-SA-21-03-032 — Community forum configuration is audit-logged with the forum, post, and timestamp
**Type:** Positive
**Covers:** 3.4 → Audit logging of the community forum configuration; Rule: community forum configuration is audit-logged with the forum, post, and timestamp
**Preconditions:** Super Admin has configured the community forum.
**Steps:**
1. Open the audit trail and filter by "community forum".
2. Verify entries show the forum, the post, and the timestamp.
**Expected Result:** The community forum configuration is audit-logged with the forum, post, and timestamp.
**Priority:** Critical
