From 09a6f492def3d64e84e879088f693dead6990459 Mon Sep 17 00:00:00 2001 From: mihretue Date: Tue, 1 Sep 2026 07:33:00 +0000 Subject: [PATCH] refactor(exam): drop the last trace of "Eligible to Register" The label was reverted to "Exam Paid" but the name survived as the internal stage key, so the concept was still in the codebase to be reintroduced by accident. The stage is named after the status it derives from now. --- .../features/certificates/pages/CertificatesPage.tsx | 2 +- .../src/app/features/licensing/exam-stage.spec.ts | 4 ++-- apps/portal/src/app/features/licensing/exam-stage.ts | 10 ++++++---- apps/portal/src/app/i18n/locales/am.ts | 2 +- apps/portal/src/app/i18n/locales/en.ts | 2 +- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/apps/portal/src/app/features/certificates/pages/CertificatesPage.tsx b/apps/portal/src/app/features/certificates/pages/CertificatesPage.tsx index 93814873e..360f5ef2d 100644 --- a/apps/portal/src/app/features/certificates/pages/CertificatesPage.tsx +++ b/apps/portal/src/app/features/certificates/pages/CertificatesPage.tsx @@ -114,7 +114,7 @@ const STATUS_COLOR: Record = { * keys because this page states its statuses the same way. */ const EXAM_STAGE_LABELS: Record = { - ELIGIBLE_TO_REGISTER: 'Eligible — Register for a Sitting', + EXAM_PAID: 'Exam Paid', REGISTERED: 'Exam Scheduled', ATTENDANCE_CONFIRMED: 'Exam Attendance Confirmed', SITTING: 'Exam In Progress', diff --git a/apps/portal/src/app/features/licensing/exam-stage.spec.ts b/apps/portal/src/app/features/licensing/exam-stage.spec.ts index 22ec0deca..2003537e9 100644 --- a/apps/portal/src/app/features/licensing/exam-stage.spec.ts +++ b/apps/portal/src/app/features/licensing/exam-stage.spec.ts @@ -29,8 +29,8 @@ describe('examStageFor', () => { expect(examStageFor({ status: 'CERTIFICATE_ISSUED' })).toBeNull(); }); - it('reads a paid application as eligible to register, not as waiting', () => { - expect(examStageFor({ status: 'EXAM_PAID' })).toBe('ELIGIBLE_TO_REGISTER'); + it('reads a paid application as Exam Paid, not as awaiting a date', () => { + expect(examStageFor({ status: 'EXAM_PAID' })).toBe('EXAM_PAID'); }); it('reports a registration whose attendance has not been taken', () => { diff --git a/apps/portal/src/app/features/licensing/exam-stage.ts b/apps/portal/src/app/features/licensing/exam-stage.ts index c7aaaaaec..1697f7c4b 100644 --- a/apps/portal/src/app/features/licensing/exam-stage.ts +++ b/apps/portal/src/app/features/licensing/exam-stage.ts @@ -16,7 +16,7 @@ import type { MyRegistration } from '../exams/pages/ExamsPage'; * already recorded — this only names what the records add up to. */ export type ExamStage = - | 'ELIGIBLE_TO_REGISTER' + | 'EXAM_PAID' | 'REGISTERED' | 'ATTENDANCE_CONFIRMED' | 'SITTING' @@ -41,9 +41,11 @@ export function examStageFor( if (app.status === 'EXAM_PASSED') return 'PASSED'; if (app.status === 'EXAM_FAILED') return 'FAILED'; - // EXAM_PAID is "prerequisites done, sitting not yet chosen": the fee has - // cleared and nothing is left but for the candidate to pick a session. - if (app.status === 'EXAM_PAID') return 'ELIGIBLE_TO_REGISTER'; + // The fee has cleared and nothing is left but for the candidate to pick a + // session. Named after the status rather than after what the candidate + // should do next: "Eligible to Register" read as a status of its own and + // said less than the plain one. + if (app.status === 'EXAM_PAID') return 'EXAM_PAID'; if (app.status !== 'EXAM_SCHEDULED') return null; diff --git a/apps/portal/src/app/i18n/locales/am.ts b/apps/portal/src/app/i18n/locales/am.ts index be22f0b46..db485310f 100644 --- a/apps/portal/src/app/i18n/locales/am.ts +++ b/apps/portal/src/app/i18n/locales/am.ts @@ -244,7 +244,7 @@ export const am: Translations = { empty: 'እስካሁን ምንም ፍቃድ አልተሰጥዎትም። ማመልከቻ ከተፈቀደና ከተከፈለ በኋላ እዚህ ይታያል።', }, examStage: { - ELIGIBLE_TO_REGISTER: "ብቁ ነዎት — ለፈተና ይመዝገቡ", + EXAM_PAID: "የፈተና ክፍያ ተከፍሏል", REGISTERED: "የፈተና ቀን፦ {{date}}", ATTENDANCE_CONFIRMED: "መገኘት ተረጋግጧል", SITTING: "ፈተና በመካሄድ ላይ", diff --git a/apps/portal/src/app/i18n/locales/en.ts b/apps/portal/src/app/i18n/locales/en.ts index ac1925ca9..ce8de654f 100644 --- a/apps/portal/src/app/i18n/locales/en.ts +++ b/apps/portal/src/app/i18n/locales/en.ts @@ -249,7 +249,7 @@ export const en = { * from the application status alone — see exam-stage.ts. */ examStage: { - ELIGIBLE_TO_REGISTER: 'Eligible — register for a sitting', + EXAM_PAID: 'Exam Paid', REGISTERED: 'Exam scheduled: {{date}}', ATTENDANCE_CONFIRMED: 'Attendance confirmed', SITTING: 'Exam in progress',