# 1. Academic Pricing — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: academic_pricing.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 |
|---------|--------------------|----------|
| 1.1 Grade-Wise Pricing | Grade-wise price: the price per grade (the grade, the price, the period) | TC-SA-12-01-001 |
| 1.1 Grade-Wise Pricing | Grade scope: the price is for the grade (the access to the grade's content) | TC-SA-12-01-002 |
| 1.1 Grade-Wise Pricing | Price definition: the price defined by the Super Admin (the grade, the price, the period) | TC-SA-12-01-001 |
| 1.1 Grade-Wise Pricing | Price application: the price applied (the grade's subscription is the grade's price) | TC-SA-12-01-003 |
| 1.1 Grade-Wise Pricing | Price record: the price recorded (the grade, the price, the time) | TC-SA-12-01-004 |
| 1.1 Grade-Wise Pricing | Price change: the price changed (the grade's price updated) | TC-SA-12-01-005 |
| 1.1 Grade-Wise Pricing | Audit logging of the price definition and the changes | TC-SA-12-01-006 |
| 1.1 Grade-Wise Pricing | Rule: the grade-wise price is per grade (the grade, the price, the period); the price is explicit per grade | TC-SA-12-01-001 |
| 1.1 Grade-Wise Pricing | Rule: the grade scope is the access to the grade's content; the scope is the grade | TC-SA-12-01-002 |
| 1.1 Grade-Wise Pricing | Rule: a price change (a grade's price updated) is recorded (the new price, the time); it is auditable | TC-SA-12-01-005 |
| 1.1 Grade-Wise Pricing | Rule: the grade-wise prices are visible (the grades, the prices, the periods); the academic pricing is managed | TC-SA-12-01-007 |
| 1.1 Grade-Wise Pricing | Rule: the price application is the grade's subscription is the grade's price; the application is the price | TC-SA-12-01-003 |
| 1.1 Grade-Wise Pricing | Rule: price definition and changes are audit-logged with the grade, price, and timestamp | TC-SA-12-01-006 |
| 1.2 Subject-Wise Pricing | Subject-wise price: the price per subject (the subject, the price, the period) | TC-SA-12-01-008 |
| 1.2 Subject-Wise Pricing | Subject scope: the price is for the subject (the access to the subject's content) | TC-SA-12-01-009 |
| 1.2 Subject-Wise Pricing | Price definition: the price defined by the Super Admin (the subject, the price, the period) | TC-SA-12-01-008 |
| 1.2 Subject-Wise Pricing | Price application: the price applied (the subject's subscription is the subject's price) | TC-SA-12-01-010 |
| 1.2 Subject-Wise Pricing | Price record: the price recorded (the subject, the price, the time) | TC-SA-12-01-011 |
| 1.2 Subject-Wise Pricing | Price change: the price changed (the subject's price updated) | TC-SA-12-01-012 |
| 1.2 Subject-Wise Pricing | Audit logging of the price definition and the changes | TC-SA-12-01-013 |
| 1.2 Subject-Wise Pricing | Rule: the subject-wise price is per subject (the subject, the price, the period); the price is explicit per subject | TC-SA-12-01-008 |
| 1.2 Subject-Wise Pricing | Rule: the subject scope is the access to the subject's content; the scope is the subject | TC-SA-12-01-009 |
| 1.2 Subject-Wise Pricing | Rule: a price change (a subject's price updated) is recorded (the new price, the time); it is auditable | TC-SA-12-01-012 |
| 1.2 Subject-Wise Pricing | Rule: the subject-wise prices are visible (the subjects, the prices, the periods); the academic pricing is managed | TC-SA-12-01-014 |
| 1.2 Subject-Wise Pricing | Rule: the price application is the subject's subscription is the subject's price; the application is the price | TC-SA-12-01-010 |
| 1.2 Subject-Wise Pricing | Rule: price definition and changes are audit-logged with the subject, price, and timestamp | TC-SA-12-01-013 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Bundle price: the price per bundle (the bundle, the discount, the period) | TC-SA-12-01-015 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Bundle scope: the price is for the bundle (the access to the bundle's subjects) | TC-SA-12-01-016 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Bundle discount: the discount (the bundle is cheaper than the individual subjects) | TC-SA-12-01-017 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Price definition: the price defined by the Super Admin (the bundle, the discount, the period) | TC-SA-12-01-015 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Price application: the price applied (the bundle's subscription is the bundle's price) | TC-SA-12-01-018 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Price record: the price recorded (the bundle, the price, the time) | TC-SA-12-01-019 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Audit logging of the price definition and the changes | TC-SA-12-01-020 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Rule: the bundle price is per bundle (the bundle, the discount, the period); the price is explicit per bundle | TC-SA-12-01-015 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Rule: the bundle scope is the access to the bundle's subjects; the scope is the bundle | TC-SA-12-01-016 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Rule: the bundle discount is the incentive (the bundle is cheaper than the individual subjects); the discount is the value | TC-SA-12-01-017 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Rule: a price change (a bundle's price updated) is recorded (the new price, the new discount, the time); it is auditable | TC-SA-12-01-021 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Rule: the bundle prices are visible (the bundles, the prices, the discounts, the periods); the bundle pricing is managed | TC-SA-12-01-022 |
| 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates) | Rule: price definition and changes are audit-logged with the bundle, price, and timestamp | TC-SA-12-01-020 |
| 1.4 Full Grade Pricing | Full-grade price: the price per grade (the grade, the price, the period) | TC-SA-12-01-023 |
| 1.4 Full Grade Pricing | Full-grade scope: the price is for the full grade (the access to all the subjects of the grade) | TC-SA-12-01-024 |
| 1.4 Full Grade Pricing | Full-grade value: the value (the full grade is cheaper than the individual subjects) | TC-SA-12-01-025 |
| 1.4 Full Grade Pricing | Price definition: the price defined by the Super Admin (the grade, the price, the period) | TC-SA-12-01-023 |
| 1.4 Full Grade Pricing | Price application: the price applied (the full grade's subscription is the full-grade price) | TC-SA-12-01-026 |
| 1.4 Full Grade Pricing | Price record: the price recorded (the grade, the price, the time) | TC-SA-12-01-027 |
| 1.4 Full Grade Pricing | Audit logging of the price definition and the changes | TC-SA-12-01-028 |
| 1.4 Full Grade Pricing | Rule: the full-grade price is per grade (the grade, the price, the period); the price is explicit per full grade | TC-SA-12-01-023 |
| 1.4 Full Grade Pricing | Rule: the full-grade scope is the access to all the subjects of the grade; the scope is the full grade | TC-SA-12-01-024 |
| 1.4 Full Grade Pricing | Rule: the full-grade value is the incentive (the full grade is cheaper than the individual subjects); the value is the deal | TC-SA-12-01-025 |
| 1.4 Full Grade Pricing | Rule: a price change (a full grade's price updated) is recorded (the new price, the time); it is auditable | TC-SA-12-01-029 |
| 1.4 Full Grade Pricing | Rule: the full-grade prices are visible (the grades, the prices, the periods); the full-grade pricing is managed | TC-SA-12-01-030 |
| 1.4 Full Grade Pricing | Rule: price definition and changes are audit-logged with the grade, price, and timestamp | TC-SA-12-01-028 |

## 1.1 Grade-Wise Pricing

### TC-SA-12-01-001 — Price definition: the price defined by the Super Admin (the grade, the price, the period); the price is explicit per grade
**Type:** Positive
**Covers:** 1.1 → Grade-wise price: the price per grade (the grade, the price, the period); Price definition: the price defined by the Super Admin (the grade, the price, the period); Rule: the grade-wise price is per grade; the price is explicit per grade
**Preconditions:** The Super Admin opens the academic pricing.
**Steps:**
1. Define the grade-wise price: the grade (the one the price is for), the price, and the period.
2. Save the price.
3. Verify the grade-wise price is live and explicit per grade.
**Expected Result:** The grade-wise price is defined (the grade, the price, the period) — the price is explicit per grade.
**Priority:** Critical

### TC-SA-12-01-002 — Grade scope: the price is for the grade (the access to the grade's content); the scope is the grade
**Type:** Positive
**Covers:** 1.1 → Grade scope: the price is for the grade (the access to the grade's content); Rule: the grade scope is the access to the grade's content; the scope is the grade
**Preconditions:** A grade-wise price is defined.
**Steps:**
1. Open the grade scope for the price.
2. Verify the price is for the grade (the access to the grade's content).
3. Verify the scope is the grade.
**Expected Result:** The grade scope is the access to the grade's content — the scope is the grade.
**Priority:** High

### TC-SA-12-01-003 — Price application: the price applied (the grade's subscription is the grade's price); the application is the price
**Type:** Positive
**Covers:** 1.1 → Price application: the price applied (the grade's subscription is the grade's price); Rule: the price application is the grade's subscription is the grade's price; the application is the price
**Preconditions:** A grade-wise price is live.
**Steps:**
1. As a learner, subscribe to the grade.
2. Verify the price charged is the grade's price (the grade-wise price applied).
**Expected Result:** The price is applied — the grade's subscription is the grade's price.
**Priority:** Critical

### TC-SA-12-01-004 — Price record: the price recorded (the grade, the price, the time); the record is the proof
**Type:** Positive
**Covers:** 1.1 → Price record: the price recorded (the grade, the price, the time)
**Preconditions:** A grade-wise price has been applied to a subscription.
**Steps:**
1. Open the price record.
2. Verify it shows the grade, the price, and the time.
**Expected Result:** The price is recorded — the grade, the price, and the time are shown.
**Priority:** High

### TC-SA-12-01-005 — Price change: the price changed (the grade's price updated); the change is recorded and auditable
**Type:** Positive
**Covers:** 1.1 → Price change: the price changed (the grade's price updated); Rule: a price change (a grade's price updated) is recorded (the new price, the time); it is auditable
**Preconditions:** A grade-wise price is live.
**Steps:**
1. Change the grade's price (the new price, the time).
2. Verify the price is updated.
3. Verify the change is recorded and auditable.
**Expected Result:** The price is changed (the grade's price updated) — the change is recorded and auditable.
**Priority:** High

### TC-SA-12-01-006 — Price definition and changes are audit-logged with the grade, price, and timestamp
**Type:** Positive
**Covers:** 1.1 → Audit logging of the price definition and the changes; Rule: price definition and changes are audit-logged with the grade, price, and timestamp
**Preconditions:** Grade-wise price definition and change events have occurred.
**Steps:**
1. Open the audit trail and filter by "grade-wise price".
2. Verify entries show the grade, the price, and the timestamp.
**Expected Result:** The price definition and changes are audit-logged with the grade, price, and timestamp.
**Priority:** Critical

### TC-SA-12-01-007 — The grade-wise prices are visible (the grades, the prices, the periods); the academic pricing is managed
**Type:** Positive
**Covers:** 1.1 → Rule: the grade-wise prices are visible (the grades, the prices, the periods); the academic pricing is managed
**Preconditions:** Multiple grade-wise prices are defined.
**Steps:**
1. Open the grade-wise prices view.
2. Verify the grades, the prices, and the periods are visible.
3. Verify the academic pricing is managed.
**Expected Result:** The grade-wise prices are visible — the grades, the prices, and the periods are shown.
**Priority:** Medium

## 1.2 Subject-Wise Pricing

### TC-SA-12-01-008 — Price definition: the price defined by the Super Admin (the subject, the price, the period); the price is explicit per subject
**Type:** Positive
**Covers:** 1.2 → Subject-wise price: the price per subject (the subject, the price, the period); Price definition: the price defined by the Super Admin (the subject, the price, the period); Rule: the subject-wise price is per subject; the price is explicit per subject
**Preconditions:** The Super Admin opens the academic pricing.
**Steps:**
1. Define the subject-wise price: the subject (the one the price is for), the price, and the period.
2. Save the price.
3. Verify the subject-wise price is live and explicit per subject.
**Expected Result:** The subject-wise price is defined (the subject, the price, the period) — the price is explicit per subject.
**Priority:** Critical

### TC-SA-12-01-009 — Subject scope: the price is for the subject (the access to the subject's content); the scope is the subject
**Type:** Positive
**Covers:** 1.2 → Subject scope: the price is for the subject (the access to the subject's content); Rule: the subject scope is the access to the subject's content; the scope is the subject
**Preconditions:** A subject-wise price is defined.
**Steps:**
1. Open the subject scope for the price.
2. Verify the price is for the subject (the access to the subject's content).
3. Verify the scope is the subject.
**Expected Result:** The subject scope is the access to the subject's content — the scope is the subject.
**Priority:** High

### TC-SA-12-01-010 — Price application: the price applied (the subject's subscription is the subject's price); the application is the price
**Type:** Positive
**Covers:** 1.2 → Price application: the price applied (the subject's subscription is the subject's price); Rule: the price application is the subject's subscription is the subject's price; the application is the price
**Preconditions:** A subject-wise price is live.
**Steps:**
1. As a learner, subscribe to the subject.
2. Verify the price charged is the subject's price (the subject-wise price applied).
**Expected Result:** The price is applied — the subject's subscription is the subject's price.
**Priority:** Critical

### TC-SA-12-01-011 — Price record: the price recorded (the subject, the price, the time); the record is the proof
**Type:** Positive
**Covers:** 1.2 → Price record: the price recorded (the subject, the price, the time)
**Preconditions:** A subject-wise price has been applied to a subscription.
**Steps:**
1. Open the price record.
2. Verify it shows the subject, the price, and the time.
**Expected Result:** The price is recorded — the subject, the price, and the time are shown.
**Priority:** High

### TC-SA-12-01-012 — Price change: the price changed (the subject's price updated); the change is recorded and auditable
**Type:** Positive
**Covers:** 1.2 → Price change: the price changed (the subject's price updated); Rule: a price change (a subject's price updated) is recorded (the new price, the time); it is auditable
**Preconditions:** A subject-wise price is live.
**Steps:**
1. Change the subject's price (the new price, the time).
2. Verify the price is updated.
3. Verify the change is recorded and auditable.
**Expected Result:** The price is changed (the subject's price updated) — the change is recorded and auditable.
**Priority:** High

### TC-SA-12-01-013 — Price definition and changes are audit-logged with the subject, price, and timestamp
**Type:** Positive
**Covers:** 1.2 → Audit logging of the price definition and the changes; Rule: price definition and changes are audit-logged with the subject, price, and timestamp
**Preconditions:** Subject-wise price definition and change events have occurred.
**Steps:**
1. Open the audit trail and filter by "subject-wise price".
2. Verify entries show the subject, the price, and the timestamp.
**Expected Result:** The price definition and changes are audit-logged with the subject, price, and timestamp.
**Priority:** Critical

### TC-SA-12-01-014 — The subject-wise prices are visible (the subjects, the prices, the periods); the academic pricing is managed
**Type:** Positive
**Covers:** 1.2 → Rule: the subject-wise prices are visible (the subjects, the prices, the periods); the academic pricing is managed
**Preconditions:** Multiple subject-wise prices are defined.
**Steps:**
1. Open the subject-wise prices view.
2. Verify the subjects, the prices, and the periods are visible.
3. Verify the academic pricing is managed.
**Expected Result:** The subject-wise prices are visible — the subjects, the prices, and the periods are shown.
**Priority:** Medium

## 1.3 Bundle Pricing (Multiple Subjects at Discounted Rates)

### TC-SA-12-01-015 — Price definition: the price defined by the Super Admin (the bundle, the discount, the period); the price is explicit per bundle
**Type:** Positive
**Covers:** 1.3 → Bundle price: the price per bundle (the bundle, the discount, the period); Price definition: the price defined by the Super Admin (the bundle, the discount, the period); Rule: the bundle price is per bundle; the price is explicit per bundle
**Preconditions:** The Super Admin opens the academic pricing.
**Steps:**
1. Define the bundle price: the bundle (the subjects in the bundle), the discount, and the period.
2. Save the price.
3. Verify the bundle price is live and explicit per bundle.
**Expected Result:** The bundle price is defined (the bundle, the discount, the period) — the price is explicit per bundle.
**Priority:** Critical

### TC-SA-12-01-016 — Bundle scope: the price is for the bundle (the access to the bundle's subjects); the scope is the bundle
**Type:** Positive
**Covers:** 1.3 → Bundle scope: the price is for the bundle (the access to the bundle's subjects); Rule: the bundle scope is the access to the bundle's subjects; the scope is the bundle
**Preconditions:** A bundle price is defined.
**Steps:**
1. Open the bundle scope for the price.
2. Verify the price is for the bundle (the access to the bundle's subjects).
3. Verify the scope is the bundle.
**Expected Result:** The bundle scope is the access to the bundle's subjects — the scope is the bundle.
**Priority:** High

### TC-SA-12-01-017 — Bundle discount: the discount (the bundle is cheaper than the individual subjects); the discount is the value
**Type:** Negative
**Covers:** 1.3 → Bundle discount: the discount (the bundle is cheaper than the individual subjects); Rule: the bundle discount is the incentive (the bundle is cheaper than the individual subjects); the discount is the value
**Preconditions:** A bundle price is defined with a discount.
**Steps:**
1. Compare the bundle price to the sum of the individual subjects' prices.
2. Verify the bundle is cheaper than the individual subjects.
3. Verify the discount is the value.
**Expected Result:** The bundle discount is applied — the bundle is cheaper than the individual subjects.
**Priority:** Critical

### TC-SA-12-01-018 — Price application: the price applied (the bundle's subscription is the bundle's price)
**Type:** Positive
**Covers:** 1.3 → Price application: the price applied (the bundle's subscription is the bundle's price)
**Preconditions:** A bundle price is live.
**Steps:**
1. As a learner, subscribe to the bundle.
2. Verify the price charged is the bundle's price (the bundle price applied, the discount given).
**Expected Result:** The price is applied — the bundle's subscription is the bundle's price.
**Priority:** Critical

### TC-SA-12-01-019 — Price record: the price recorded (the bundle, the price, the time); the record is the proof
**Type:** Positive
**Covers:** 1.3 → Price record: the price recorded (the bundle, the price, the time)
**Preconditions:** A bundle price has been applied to a subscription.
**Steps:**
1. Open the price record.
2. Verify it shows the bundle, the price, and the time.
**Expected Result:** The price is recorded — the bundle, the price, and the time are shown.
**Priority:** High

### TC-SA-12-01-020 — Price definition and changes are audit-logged with the bundle, price, and timestamp
**Type:** Positive
**Covers:** 1.3 → Audit logging of the price definition and the changes; Rule: price definition and changes are audit-logged with the bundle, price, and timestamp
**Preconditions:** Bundle price definition and change events have occurred.
**Steps:**
1. Open the audit trail and filter by "bundle price".
2. Verify entries show the bundle, the price, and the timestamp.
**Expected Result:** The price definition and changes are audit-logged with the bundle, price, and timestamp.
**Priority:** Critical

### TC-SA-12-01-021 — A price change (a bundle's price updated) is recorded (the new price, the new discount, the time); it is auditable
**Type:** Positive
**Covers:** 1.3 → Rule: a price change (a bundle's price updated) is recorded (the new price, the new discount, the time); it is auditable
**Preconditions:** A bundle price is live.
**Steps:**
1. Change the bundle's price (the new price, the new discount, the time).
2. Verify the price is updated.
3. Verify the change is recorded and auditable.
**Expected Result:** The price change is recorded (the new price, the new discount, the time) — it is auditable.
**Priority:** High

### TC-SA-12-01-022 — The bundle prices are visible (the bundles, the prices, the discounts, the periods); the bundle pricing is managed
**Type:** Positive
**Covers:** 1.3 → Rule: the bundle prices are visible (the bundles, the prices, the discounts, the periods); the bundle pricing is managed
**Preconditions:** Multiple bundle prices are defined.
**Steps:**
1. Open the bundle prices view.
2. Verify the bundles, the prices, the discounts, and the periods are visible.
3. Verify the bundle pricing is managed.
**Expected Result:** The bundle prices are visible — the bundles, the prices, the discounts, and the periods are shown.
**Priority:** Medium

## 1.4 Full Grade Pricing

### TC-SA-12-01-023 — Price definition: the price defined by the Super Admin (the grade, the price, the period); the price is explicit per full grade
**Type:** Positive
**Covers:** 1.4 → Full-grade price: the price per grade (the grade, the price, the period); Price definition: the price defined by the Super Admin (the grade, the price, the period); Rule: the full-grade price is per grade; the price is explicit per full grade
**Preconditions:** The Super Admin opens the academic pricing.
**Steps:**
1. Define the full-grade price: the grade (the one the price is for), the price, and the period.
2. Save the price.
3. Verify the full-grade price is live and explicit per full grade.
**Expected Result:** The full-grade price is defined (the grade, the price, the period) — the price is explicit per full grade.
**Priority:** Critical

### TC-SA-12-01-024 — Full-grade scope: the price is for the full grade (the access to all the subjects of the grade); the scope is the full grade
**Type:** Positive
**Covers:** 1.4 → Full-grade scope: the price is for the full grade (the access to all the subjects of the grade); Rule: the full-grade scope is the access to all the subjects of the grade; the scope is the full grade
**Preconditions:** A full-grade price is defined.
**Steps:**
1. Open the full-grade scope for the price.
2. Verify the price is for the full grade (the access to all the subjects of the grade).
3. Verify the scope is the full grade.
**Expected Result:** The full-grade scope is the access to all the subjects of the grade — the scope is the full grade.
**Priority:** High

### TC-SA-12-01-025 — Full-grade value: the value (the full grade is cheaper than the individual subjects); the value is the deal
**Type:** Negative
**Covers:** 1.4 → Full-grade value: the value (the full grade is cheaper than the individual subjects); Rule: the full-grade value is the incentive (the full grade is cheaper than the individual subjects); the value is the deal
**Preconditions:** A full-grade price is defined.
**Steps:**
1. Compare the full-grade price to the sum of the individual subjects' prices for the grade.
2. Verify the full grade is cheaper than the individual subjects.
3. Verify the value is the deal.
**Expected Result:** The full-grade value is applied — the full grade is cheaper than the individual subjects.
**Priority:** Critical

### TC-SA-12-01-026 — Price application: the price applied (the full grade's subscription is the full-grade price)
**Type:** Positive
**Covers:** 1.4 → Price application: the price applied (the full grade's subscription is the full-grade price)
**Preconditions:** A full-grade price is live.
**Steps:**
1. As a learner, subscribe to the full grade.
2. Verify the price charged is the full-grade price (the full-grade price applied, the value given).
**Expected Result:** The price is applied — the full grade's subscription is the full-grade price.
**Priority:** Critical

### TC-SA-12-01-027 — Price record: the price recorded (the grade, the price, the time); the record is the proof
**Type:** Positive
**Covers:** 1.4 → Price record: the price recorded (the grade, the price, the time)
**Preconditions:** A full-grade price has been applied to a subscription.
**Steps:**
1. Open the price record.
2. Verify it shows the grade, the price, and the time.
**Expected Result:** The price is recorded — the grade, the price, and the time are shown.
**Priority:** High

### TC-SA-12-01-028 — Price definition and changes are audit-logged with the grade, price, and timestamp
**Type:** Positive
**Covers:** 1.4 → Audit logging of the price definition and the changes; Rule: price definition and changes are audit-logged with the grade, price, and timestamp
**Preconditions:** Full-grade price definition and change events have occurred.
**Steps:**
1. Open the audit trail and filter by "full-grade price".
2. Verify entries show the grade, the price, and the timestamp.
**Expected Result:** The price definition and changes are audit-logged with the grade, price, and timestamp.
**Priority:** Critical

### TC-SA-12-01-029 — A price change (a full grade's price updated) is recorded (the new price, the time); it is auditable
**Type:** Positive
**Covers:** 1.4 → Rule: a price change (a full grade's price updated) is recorded (the new price, the time); it is auditable
**Preconditions:** A full-grade price is live.
**Steps:**
1. Change the full grade's price (the new price, the time).
2. Verify the price is updated.
3. Verify the change is recorded and auditable.
**Expected Result:** The price change is recorded (the new price, the time) — it is auditable.
**Priority:** High

### TC-SA-12-01-030 — The full-grade prices are visible (the grades, the prices, the periods); the full-grade pricing is managed
**Type:** Positive
**Covers:** 1.4 → Rule: the full-grade prices are visible (the grades, the prices, the periods); the full-grade pricing is managed
**Preconditions:** Multiple full-grade prices are defined.
**Steps:**
1. Open the full-grade prices view.
2. Verify the grades, the prices, and the periods are visible.
3. Verify the full-grade pricing is managed.
**Expected Result:** The full-grade prices are visible — the grades, the prices, and the periods are shown.
**Priority:** Medium
