# 4. Copyright Protection — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: copyright_protection.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 |
|---------|--------------------|----------|
| 4.1 DMCA Compliance | Compliance: the compliance (the compliance, the notice, the content, the date) | TC-SA-22-04-001 |
| 4.1 DMCA Compliance | Notice: the notice (the notice, the claimant, the date) | TC-SA-22-04-002 |
| 4.1 DMCA Compliance | Content: the content (the content, the type, the date) | TC-SA-22-04-003 |
| 4.1 DMCA Compliance | Takedown: the takedown (the takedown, the content, the date) | TC-SA-22-04-004 |
| 4.1 DMCA Compliance | Compliance status: the status (the compliant, the non-compliant) | TC-SA-22-04-005 |
| 4.1 DMCA Compliance | Compliance count: the count (the count of the notices by status) | TC-SA-22-04-006 |
| 4.1 DMCA Compliance | Compliance view: the view (the compliances, the notices, the content, the dates) | TC-SA-22-04-007 |
| 4.1 DMCA Compliance | Audit logging of the DMCA compliance | TC-SA-22-04-008 |
| 4.1 DMCA Compliance | Rule: the compliance is the adherence (the compliance, the notice, the content, the date); the compliance is the conformity | TC-SA-22-04-001 |
| 4.1 DMCA Compliance | Rule: the notice is the claim (the notice, the claimant, the date); the notice is the request | TC-SA-22-04-002 |
| 4.1 DMCA Compliance | Rule: the content is the subject (the content, the type, the date); the content is the asset | TC-SA-22-04-003 |
| 4.1 DMCA Compliance | Rule: the takedown is the action (the takedown, the content, the date); the takedown is the removal | TC-SA-22-04-004 |
| 4.1 DMCA Compliance | Rule: the DMCA is compliant (the compliances, the notices, the content, the dates); the adherence is managed | TC-SA-22-04-007 |
| 4.1 DMCA Compliance | Rule: DMCA compliance is audit-logged with the compliance, notice, and timestamp | TC-SA-22-04-008 |
| 4.2 Content Licensing Management | License: the license (the license, the content, the owner, the date) | TC-SA-22-04-009 |
| 4.2 Content Licensing Management | Content: the content (the content, the type, the date) | TC-SA-22-04-010 |
| 4.2 Content Licensing Management | Owner: the owner (the owner of the content, the name, the date) | TC-SA-22-04-011 |
| 4.2 Content Licensing Management | License type: the type (the type of the license, e.g., the exclusive, the non-exclusive) | TC-SA-22-04-012 |
| 4.2 Content Licensing Management | License status: the status (the active, the expired, the revoked) | TC-SA-22-04-013 |
| 4.2 Content Licensing Management | License count: the count (the count of the licenses) | TC-SA-22-04-014 |
| 4.2 Content Licensing Management | License view: the view (the licenses, the content, the owners, the dates) | TC-SA-22-04-015 |
| 4.2 Content Licensing Management | Audit logging of the content licensing management | TC-SA-22-04-016 |
| 4.2 Content Licensing Management | Rule: the license is the right (the license, the content, the owner, the date); the license is the permission | TC-SA-22-04-009 |
| 4.2 Content Licensing Management | Rule: the content is the subject (the content, the type, the date); the content is the asset | TC-SA-22-04-010 |
| 4.2 Content Licensing Management | Rule: the owner is the rights holder (the owner of the content, the name, the date); the owner is the creator | TC-SA-22-04-011 |
| 4.2 Content Licensing Management | Rule: the license status is the state (the active, the expired, the revoked); the status is the control | TC-SA-22-04-013 |
| 4.2 Content Licensing Management | Rule: the content is licensed (the licenses, the content, the owners, the dates); the control is managed | TC-SA-22-04-015 |
| 4.2 Content Licensing Management | Rule: content licensing management is audit-logged with the license, owner, and timestamp | TC-SA-22-04-016 |
| 4.3 Attribution Tracking | Attribution: the attribution (the attribution, the content, the creator, the date) | TC-SA-22-04-017 |
| 4.3 Attribution Tracking | Content: the content (the content, the type, the date) | TC-SA-22-04-018 |
| 4.3 Attribution Tracking | Creator: the creator (the creator of the content, the name, the date) | TC-SA-22-04-019 |
| 4.3 Attribution Tracking | Attribution status: the status (the credited, the not-credited) | TC-SA-22-04-020 |
| 4.3 Attribution Tracking | Attribution count: the count (the count of the attributions) | TC-SA-22-04-021 |
| 4.3 Attribution Tracking | Attribution view: the view (the attributions, the content, the creators, the dates) | TC-SA-22-04-022 |
| 4.3 Attribution Tracking | Attribution export: the export (the attributions, the format, the creator) | TC-SA-22-04-023 |
| 4.3 Attribution Tracking | Audit logging of the attribution tracking | TC-SA-22-04-024 |
| 4.3 Attribution Tracking | Rule: the attribution is the credit (the attribution, the content, the creator, the date); the attribution is the recognition | TC-SA-22-04-017 |
| 4.3 Attribution Tracking | Rule: the content is the subject (the content, the type, the date); the content is the asset | TC-SA-22-04-018 |
| 4.3 Attribution Tracking | Rule: the creator is the author (the creator of the content, the name, the date); the creator is the maker | TC-SA-22-04-019 |
| 4.3 Attribution Tracking | Rule: the attribution status is the state (the credited, the not-credited); the status is the control | TC-SA-22-04-020 |
| 4.3 Attribution Tracking | Rule: the creators are credited (the attributions, the content, the creators, the dates); the credit is managed | TC-SA-22-04-022 |
| 4.3 Attribution Tracking | Rule: attribution tracking is audit-logged with the attribution, creator, and timestamp | TC-SA-22-04-024 |
| 4.4 Plagiarism Detection for Student Submissions | Detection: the detection (the detection, the submission, the student, the date) | TC-SA-22-04-025 |
| 4.4 Plagiarism Detection for Student Submissions | Submission: the submission (the submission, the student, the date) | TC-SA-22-04-026 |
| 4.4 Plagiarism Detection for Student Submissions | Student: the student (the student, the name, the submission) | TC-SA-22-04-027 |
| 4.4 Plagiarism Detection for Student Submissions | Similarity score: the score (the score of the similarity, the percentage) | TC-SA-22-04-028 |
| 4.4 Plagiarism Detection for Student Submissions | Detection status: the status (the flagged, the cleared) | TC-SA-22-04-029 |
| 4.4 Plagiarism Detection for Student Submissions | Detection count: the count (the count of the detections) | TC-SA-22-04-030 |
| 4.4 Plagiarism Detection for Student Submissions | Detection view: the view (the detections, the submissions, the students, the dates) | TC-SA-22-04-031 |
| 4.4 Plagiarism Detection for Student Submissions | Audit logging of the plagiarism detection | TC-SA-22-04-032 |
| 4.4 Plagiarism Detection for Student Submissions | Rule: the detection is the check (the detection, the submission, the student, the date); the detection is the scan | TC-SA-22-04-025 |
| 4.4 Plagiarism Detection for Student Submissions | Rule: the submission is the work (the submission, the student, the date); the submission is the output | TC-SA-22-04-026 |
| 4.4 Plagiarism Detection for Student Submissions | Rule: the student is the author (the student, the name, the submission); the student is the learner | TC-SA-22-04-027 |
| 4.4 Plagiarism Detection for Student Submissions | Rule: the similarity score is the measure (the score of the similarity, the percentage); the score is the value | TC-SA-22-04-028 |
| 4.4 Plagiarism Detection for Student Submissions | Rule: the plagiarism is detected (the detections, the submissions, the students, the dates); the check is managed | TC-SA-22-04-031 |
| 4.4 Plagiarism Detection for Student Submissions | Rule: plagiarism detection is audit-logged with the detection, student, and timestamp | TC-SA-22-04-032 |

## 4.1 DMCA Compliance

### TC-SA-22-04-001 — Compliance: the compliance (the compliance, the notice, the content, the date); the compliance is the conformity
**Type:** Positive
**Covers:** 4.1 → Compliance: the compliance (the compliance, the notice, the content, the date); Rule: the compliance is the adherence (the compliance, the notice, the content, the date); the compliance is the conformity
**Preconditions:** Super Admin is logged in; a DMCA notice has been received.
**Steps:**
1. Open Data Protection & Compliance → Copyright Protection → DMCA Compliance.
2. Process the compliance: the compliance (the compliance, the notice, the content, the date) — verify the compliance is the adherence.
3. Verify the compliance shows the notice, the content, and the date.
4. Verify the platform responds to the notice within the documented DMCA timeframe.
**Expected Result:** The compliance is processed — the compliance, the notice, the content, and the date are the conformity.
**Priority:** Critical

### TC-SA-22-04-002 — Notice: the notice (the notice, the claimant, the date); the notice is the request
**Type:** Positive
**Covers:** 4.1 → Notice: the notice (the notice, the claimant, the date); Rule: the notice is the claim (the notice, the claimant, the date); the notice is the request
**Preconditions:** A claimant has submitted a DMCA notice.
**Steps:**
1. View the notice: the notice (the notice, the claimant, the date) — verify the notice is the claim.
2. Verify the notice shows the claimant and the date.
3. Verify the notice is validated (claimant identity, content identification, good-faith statement) before processing.
**Expected Result:** The notice is shown — the notice, the claimant, and the date are the request.
**Priority:** High

### TC-SA-22-04-003 — Content: the content (the content, the type, the date); the content is the asset
**Type:** Positive
**Covers:** 4.1 → Content: the content (the content, the type, the date); Rule: the content is the subject (the content, the type, the date); the content is the asset
**Preconditions:** A DMCA notice references specific content.
**Steps:**
1. Select the content: the content (the content, the type, the date) — verify the content is the subject.
2. Verify the content shows the type and the date.
3. Verify the notice is linked to the exact content item claimed.
**Expected Result:** The content is selected — the content, the type, and the date are the asset.
**Priority:** High

### TC-SA-22-04-004 — Takedown: the takedown (the takedown, the content, the date); the takedown is the removal
**Type:** Edge
**Covers:** 4.1 → Takedown: the takedown (the takedown, the content, the date); Rule: the takedown is the action (the takedown, the content, the date); the takedown is the removal
**Preconditions:** A valid DMCA notice is processed; a counter-notice from the uploader (counter-notice edge) is also prepared.
**Steps:**
1. Execute the takedown: the takedown (the takedown, the content, the date) — verify the takedown is the action.
2. Verify the takedown shows the content and the date.
3. Verify the content is immediately inaccessible to all users after takedown.
4. Submit the counter-notice — verify the documented counter-notice workflow applies (content is restored only if the claimant does not pursue, per the documented rule); the state transitions are visible at every step.
**Expected Result:** The takedown is executed — the takedown, the content, and the date are the removal; content is instantly inaccessible, and counter-notices follow the documented workflow.
**Priority:** High

### TC-SA-22-04-005 — Compliance status: the status (the compliant, the non-compliant); the status is the control
**Type:** Positive
**Covers:** 4.1 → Compliance status: the status (the compliant, the non-compliant)
**Preconditions:** DMCA notices with compliant and non-compliant statuses exist.
**Steps:**
1. View the compliance status: the status (the compliant, the non-compliant) — verify the compliance status is the state.
2. Verify a fully processed notice shows compliant.
3. Verify an overdue/unprocessed notice shows non-compliant with an alert.
**Expected Result:** The compliance status is shown — the compliant and the non-compliant are the state.
**Priority:** High

### TC-SA-22-04-006 — Compliance count: the count (the count of the notices by status); the count is the measure
**Type:** Positive
**Covers:** 4.1 → Compliance count: the count (the count of the notices by status)
**Preconditions:** DMCA notices with multiple statuses exist.
**Steps:**
1. View the compliance count: the count (the count of the notices by status) — verify the count is the measure.
2. Verify the count per status matches the actual number of notices in that status.
3. Verify the total equals the sum of the per-status counts.
**Expected Result:** The compliance count is shown — the count of the notices by status is the measure.
**Priority:** High

### TC-SA-22-04-007 — Compliance view: the view (the compliances, the notices, the content, the dates); the adherence is managed
**Type:** Positive
**Covers:** 4.1 → Compliance view: the view (the compliances, the notices, the content, the dates); Rule: the DMCA is compliant (the compliances, the notices, the content, the dates); the adherence is managed
**Preconditions:** Multiple DMCA notices exist.
**Steps:**
1. View the compliances: the view (the compliances, the notices, the content, the dates) — verify the DMCA is compliant.
2. Verify each entry shows the notice, the content, and the date.
3. Verify the adherence is managed (view, process, takedown, close).
**Expected Result:** The compliances are viewed — the compliances, the notices, the content, and the dates are visible; the adherence is managed.
**Priority:** High

### TC-SA-22-04-008 — DMCA compliance is audit-logged with the compliance, notice, and timestamp
**Type:** Positive
**Covers:** 4.1 → Audit logging of the DMCA compliance; Rule: DMCA compliance is audit-logged with the compliance, notice, and timestamp
**Preconditions:** Super Admin has processed a DMCA notice.
**Steps:**
1. Open the audit trail and filter by "DMCA compliance".
2. Verify entries show the compliance, the notice, and the timestamp.
**Expected Result:** The DMCA compliance is audit-logged with the compliance, notice, and timestamp.
**Priority:** Critical

## 4.2 Content Licensing Management

### TC-SA-22-04-009 — License: the license (the license, the content, the owner, the date); the license is the permission
**Type:** Positive
**Covers:** 4.2 → License: the license (the license, the content, the owner, the date); Rule: the license is the right (the license, the content, the owner, the date); the license is the permission
**Preconditions:** Super Admin is logged in; content owners have submitted licenses.
**Steps:**
1. Open Data Protection & Compliance → Copyright Protection → Content Licensing Management.
2. Record the license: the license (the license, the content, the owner, the date) — verify the license is the right.
3. Verify the license shows the content, the owner, and the date.
4. Verify the licensed content is published only within the licensed scope.
**Expected Result:** The license is recorded — the license, the content, the owner, and the date are the permission.
**Priority:** Critical

### TC-SA-22-04-010 — Content: the content (the content, the type, the date); the content is the asset
**Type:** Positive
**Covers:** 4.2 → Content: the content (the content, the type, the date); Rule: the content is the subject (the content, the type, the date); the content is the asset
**Preconditions:** Multiple licensed content items exist.
**Steps:**
1. Select the content: the content (the content, the type, the date) — verify the content is the subject.
2. Verify the content shows the type and the date.
3. Verify each content item is linked to exactly one license record.
**Expected Result:** The content is selected — the content, the type, and the date are the asset.
**Priority:** High

### TC-SA-22-04-011 — Owner: the owner (the owner of the content, the name, the date); the owner is the creator
**Type:** Positive
**Covers:** 4.2 → Owner: the owner (the owner of the content, the name, the date); Rule: the owner is the rights holder (the owner of the content, the name, the date); the owner is the creator
**Preconditions:** Multiple content owners exist.
**Steps:**
1. Select the owner: the owner (the owner of the content, the name, the date) — verify the owner is the rights holder.
2. Verify the owner shows the name and the date.
3. Verify ownership is verified before the license is accepted (no unverified owner is granted a license).
**Expected Result:** The owner is selected — the owner of the content, the name, and the date are the creator; only verified owners hold licenses.
**Priority:** High

### TC-SA-22-04-012 — License type: the type (the type of the license, e.g., the exclusive, the non-exclusive); the type is the mode
**Type:** Positive
**Covers:** 4.2 → License type: the type (the type of the license, e.g., the exclusive, the non-exclusive)
**Preconditions:** Exclusive and non-exclusive licenses exist.
**Steps:**
1. Set the license type: the type (the type of the license, e.g., the exclusive, the non-exclusive) — verify the license type is the mode.
2. Verify an exclusive license prevents the same content from being licensed to another party.
3. Verify a non-exclusive license allows multiple licensees for the same content.
**Expected Result:** The license type is set — the type of the license (the exclusive, the non-exclusive) is the mode.
**Priority:** High

### TC-SA-22-04-013 — License status: the status (the active, the expired, the revoked); the status is the control
**Type:** Edge
**Covers:** 4.2 → License status: the status (the active, the expired, the revoked); Rule: the license status is the state (the active, the expired, the revoked); the status is the control
**Preconditions:** Licenses with active, expired, and revoked statuses exist; a license that reaches its expiry date while its content is live (expiry edge) is also prepared.
**Steps:**
1. View the license status: the status (the active, the expired, the revoked) — verify the license status is the state.
2. Verify a valid license shows active.
3. Check the license at expiry — verify it automatically moves to expired and the licensed content is taken down (or flagged for takedown) at the expiry moment; no content is ever served on an expired license.
**Expected Result:** The license status is shown — the active, the expired, and the revoked are the control; expired licenses never keep content live.
**Priority:** High

### TC-SA-22-04-014 — License count: the count (the count of the licenses); the count is the measure
**Type:** Positive
**Covers:** 4.2 → License count: the count (the count of the licenses)
**Preconditions:** Multiple licenses exist.
**Steps:**
1. View the license count: the count (the count of the licenses) — verify the count is the measure.
2. Verify the count matches the actual number of licenses.
3. Record a new license — verify the count increments.
**Expected Result:** The license count is shown — the count of the licenses is the measure.
**Priority:** High

### TC-SA-22-04-015 — License view: the view (the licenses, the content, the owners, the dates); the control is managed
**Type:** Positive
**Covers:** 4.2 → License view: the view (the licenses, the content, the owners, the dates); Rule: the content is licensed (the licenses, the content, the owners, the dates); the control is managed
**Preconditions:** Multiple licenses exist.
**Steps:**
1. View the licenses: the view (the licenses, the content, the owners, the dates) — verify the content is licensed.
2. Verify each license shows the content, the owner, and the date.
3. Verify the control is managed (view, renew, revoke).
**Expected Result:** The licenses are viewed — the licenses, the content, the owners, and the dates are visible; the control is managed.
**Priority:** High

### TC-SA-22-04-016 — Content licensing management is audit-logged with the license, owner, and timestamp
**Type:** Positive
**Covers:** 4.2 → Audit logging of the content licensing management; Rule: content licensing management is audit-logged with the license, owner, and timestamp
**Preconditions:** Super Admin has managed a content license.
**Steps:**
1. Open the audit trail and filter by "content licensing".
2. Verify entries show the license, the owner, and the timestamp.
**Expected Result:** The content licensing management is audit-logged with the license, owner, and timestamp.
**Priority:** Critical

## 4.3 Attribution Tracking

### TC-SA-22-04-017 — Attribution: the attribution (the attribution, the content, the creator, the date); the attribution is the recognition
**Type:** Positive
**Covers:** 4.3 → Attribution: the attribution (the attribution, the content, the creator, the date); Rule: the attribution is the credit (the attribution, the content, the creator, the date); the attribution is the recognition
**Preconditions:** Super Admin is logged in; content with creators exists.
**Steps:**
1. Open Data Protection & Compliance → Copyright Protection → Attribution Tracking.
2. Record the attribution: the attribution (the attribution, the content, the creator, the date) — verify the attribution is the credit.
3. Verify the attribution shows the content, the creator, and the date.
4. View the content — verify the creator's credit is displayed with the content.
**Expected Result:** The attribution is recorded — the attribution, the content, the creator, and the date are the recognition.
**Priority:** Critical

### TC-SA-22-04-018 — Content: the content (the content, the type, the date); the content is the asset
**Type:** Positive
**Covers:** 4.3 → Content: the content (the content, the type, the date); Rule: the content is the subject (the content, the type, the date); the content is the asset
**Preconditions:** Multiple attributed content items exist.
**Steps:**
1. Select the content: the content (the content, the type, the date) — verify the content is the subject.
2. Verify the content shows the type and the date.
3. Verify each content item shows its attribution.
**Expected Result:** The content is selected — the content, the type, and the date are the asset.
**Priority:** High

### TC-SA-22-04-019 — Creator: the creator (the creator of the content, the name, the date); the creator is the maker
**Type:** Positive
**Covers:** 4.3 → Creator: the creator (the creator of the content, the name, the date); Rule: the creator is the author (the creator of the content, the name, the date); the creator is the maker
**Preconditions:** Multiple creators have attributed content.
**Steps:**
1. Select the creator: the creator (the creator of the content, the name, the date) — verify the creator is the author.
2. Verify the creator shows the name and the date.
3. Verify each creator's content can be listed from their profile.
**Expected Result:** The creator is selected — the creator of the content, the name, and the date are the maker.
**Priority:** High

### TC-SA-22-04-020 — Attribution status: the status (the credited, the not-credited); the status is the control
**Type:** Edge
**Covers:** 4.3 → Attribution status: the status (the credited, the not-credited); Rule: the attribution status is the state (the credited, the not-credited); the status is the control
**Preconditions:** Credited and not-credited content exists; newly published third-party content that has no attribution yet (not-credited edge) is also prepared.
**Steps:**
1. View the attribution status: the status (the credited, the not-credited) — verify the attribution status is the state.
2. Verify attributed content shows credited.
3. Check the new not-credited content — verify it is flagged with an alert (third-party content is never silently published without credit); the system either blocks publication until credited or raises a visible warning.
**Expected Result:** The attribution status is shown — the credited and the not-credited are the control; no third-party content is ever silently published uncredited.
**Priority:** High

### TC-SA-22-04-021 — Attribution count: the count (the count of the attributions); the count is the measure
**Type:** Positive
**Covers:** 4.3 → Attribution count: the count (the count of the attributions)
**Preconditions:** Multiple attributions exist.
**Steps:**
1. View the attribution count: the count (the count of the attributions) — verify the count is the measure.
2. Verify the count matches the actual number of attributions.
3. Record a new attribution — verify the count increments.
**Expected Result:** The attribution count is shown — the count of the attributions is the measure.
**Priority:** High

### TC-SA-22-04-022 — Attribution view: the view (the attributions, the content, the creators, the dates); the credit is managed
**Type:** Positive
**Covers:** 4.3 → Attribution view: the view (the attributions, the content, the creators, the dates); Rule: the creators are credited (the attributions, the content, the creators, the dates); the credit is managed
**Preconditions:** Multiple attributions exist.
**Steps:**
1. View the attributions: the view (the attributions, the content, the creators, the dates) — verify the creators are credited.
2. Verify each attribution shows the content, the creator, and the date.
3. Verify the credit is managed (view, add, correct).
**Expected Result:** The attributions are viewed — the attributions, the content, the creators, and the dates are visible; the credit is managed.
**Priority:** High

### TC-SA-22-04-023 — Attribution export: the export (the attributions, the format, the creator); the export is the record
**Type:** Edge
**Covers:** 4.3 → Attribution export: the export (the attributions, the format, the creator)
**Preconditions:** Attributions exist for multiple creators; a creator with no attributions (zero-row export edge) is also prepared.
**Steps:**
1. Export the attributions: the export (the attributions, the format, the creator) — verify the export is the record.
2. Verify the export contains all attributions for the selected creator in the selected format.
3. Export the creator with no attributions — verify the export completes (empty file or clear "no data" message, no error/corrupt file).
**Expected Result:** The attributions are exported — the attributions, the format, and the creator are the record; empty-creator exports never produce corrupt files or errors.
**Priority:** High

### TC-SA-22-04-024 — Attribution tracking is audit-logged with the attribution, creator, and timestamp
**Type:** Positive
**Covers:** 4.3 → Audit logging of the attribution tracking; Rule: attribution tracking is audit-logged with the attribution, creator, and timestamp
**Preconditions:** Super Admin has recorded an attribution.
**Steps:**
1. Open the audit trail and filter by "attribution".
2. Verify entries show the attribution, the creator, and the timestamp.
**Expected Result:** The attribution tracking is audit-logged with the attribution, creator, and timestamp.
**Priority:** Critical

## 4.4 Plagiarism Detection for Student Submissions

### TC-SA-22-04-025 — Detection: the detection (the detection, the submission, the student, the date); the detection is the scan
**Type:** Positive
**Covers:** 4.4 → Detection: the detection (the detection, the submission, the student, the date); Rule: the detection is the check (the detection, the submission, the student, the date); the detection is the scan
**Preconditions:** Super Admin is logged in; student submissions exist.
**Steps:**
1. Open Data Protection & Compliance → Copyright Protection → Plagiarism Detection for Student Submissions.
2. Run the detection: the detection (the detection, the submission, the student, the date) — verify the detection is the check.
3. Verify the detection shows the submission, the student, and the date.
4. Verify the scan completes and produces a similarity result for the submission.
**Expected Result:** The detection is run — the detection, the submission, the student, and the date are the scan.
**Priority:** Critical

### TC-SA-22-04-026 — Submission: the submission (the submission, the student, the date); the submission is the output
**Type:** Positive
**Covers:** 4.4 → Submission: the submission (the submission, the student, the date); Rule: the submission is the work (the submission, the student, the date); the submission is the output
**Preconditions:** Multiple student submissions exist.
**Steps:**
1. Select the submission: the submission (the submission, the student, the date) — verify the submission is the work.
2. Verify the submission shows the student and the date.
3. Verify the submission content is scanned in full (no partial scan).
**Expected Result:** The submission is selected — the submission, the student, and the date are the output.
**Priority:** High

### TC-SA-22-04-027 — Student: the student (the student, the name, the submission); the student is the learner
**Type:** Positive
**Covers:** 4.4 → Student: the student (the student, the name, the submission); Rule: the student is the author (the student, the name, the submission); the student is the learner
**Preconditions:** Multiple students have submissions.
**Steps:**
1. Select the student: the student (the student, the name, the submission) — verify the student is the author.
2. Verify the student shows the name and the submission.
3. Verify each detection is attributed to the correct student.
**Expected Result:** The student is selected — the student, the name, and the submission are the learner.
**Priority:** High

### TC-SA-22-04-028 — Similarity score: the score (the score of the similarity, the percentage); the score is the value
**Type:** Edge
**Covers:** 4.4 → Similarity score: the score (the score of the similarity, the percentage); Rule: the similarity score is the measure (the score of the similarity, the percentage); the score is the value
**Preconditions:** Submissions with known similarity levels exist; a submission with exactly the flag-threshold similarity (boundary edge) and a 0% similarity submission (zero edge) are also prepared.
**Steps:**
1. View the similarity score: the score (the score of the similarity, the percentage) — verify the score is the measure.
2. Verify the score is a percentage between 0 and 100.
3. Check the boundary submission — verify it is flagged exactly per the documented threshold (no off-by-one: at-threshold behaves per the documented rule).
4. Check the 0% submission — verify it is cleared with a score of 0 (no false flag).
**Expected Result:** The similarity score is shown — the score of the similarity, the percentage, is the value; threshold boundaries and zero scores behave exactly per the documented rule.
**Priority:** High

### TC-SA-22-04-029 — Detection status: the status (the flagged, the cleared); the status is the control
**Type:** Positive
**Covers:** 4.4 → Detection status: the status (the flagged, the cleared)
**Preconditions:** Detections with flagged and cleared statuses exist.
**Steps:**
1. View the detection status: the status (the flagged, the cleared) — verify the detection status is the state.
2. Verify a high-similarity submission shows flagged.
3. Verify a low-similarity submission shows cleared.
**Expected Result:** The detection status is shown — the flagged and the cleared are the state.
**Priority:** High

### TC-SA-22-04-030 — Detection count: the count (the count of the detections); the count is the measure
**Type:** Positive
**Covers:** 4.4 → Detection count: the count (the count of the detections)
**Preconditions:** Multiple detections exist.
**Steps:**
1. View the detection count: the count (the count of the detections) — verify the count is the measure.
2. Verify the count matches the actual number of detections.
3. Run a new detection — verify the count increments.
**Expected Result:** The detection count is shown — the count of the detections is the measure.
**Priority:** High

### TC-SA-22-04-031 — Detection view: the view (the detections, the submissions, the students, the dates); the check is managed
**Type:** Positive
**Covers:** 4.4 → Detection view: the view (the detections, the submissions, the students, the dates); Rule: the plagiarism is detected (the detections, the submissions, the students, the dates); the check is managed
**Preconditions:** Multiple detections exist.
**Steps:**
1. View the detections: the view (the detections, the submissions, the students, the dates) — verify the plagiarism is detected.
2. Verify each detection shows the submission, the student, and the date.
3. Verify the check is managed (view, review flagged, resolve).
**Expected Result:** The detections are viewed — the detections, the submissions, the students, and the dates are visible; the check is managed.
**Priority:** High

### TC-SA-22-04-032 — Plagiarism detection is audit-logged with the detection, student, and timestamp
**Type:** Positive
**Covers:** 4.4 → Audit logging of the plagiarism detection; Rule: plagiarism detection is audit-logged with the detection, student, and timestamp
**Preconditions:** A plagiarism detection has been run.
**Steps:**
1. Open the audit trail and filter by "plagiarism detection".
2. Verify entries show the detection, the student, and the timestamp.
**Expected Result:** The plagiarism detection is audit-logged with the detection, student, and timestamp.
**Priority:** Critical
