From 56fa62481d86af19409adde7207d5b58d8950ad7 Mon Sep 17 00:00:00 2001 From: Karim El Jazzar Date: Mon, 15 Jun 2026 12:59:58 -0700 Subject: [PATCH 1/2] fix(ui): 1692 fix exemption label on registraiton page --- .../app/components/Host/SupportingInfo.vue | 16 ++++------------ strr-examiner-web/package.json | 2 +- .../tests/unit/registration-details.spec.ts | 11 +++++++++++ 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/strr-examiner-web/app/components/Host/SupportingInfo.vue b/strr-examiner-web/app/components/Host/SupportingInfo.vue index bd1eed23f..60ade1421 100644 --- a/strr-examiner-web/app/components/Host/SupportingInfo.vue +++ b/strr-examiner-web/app/components/Host/SupportingInfo.vue @@ -17,23 +17,15 @@ const docStore = useExaminerDocumentStore() const { isPrUploadOpen } = storeToRefs(docStore) // Principal Residence Requirements: -const getPrRequired = (): string => { - if (!isApplication.value) { - return '' - } - return activeReg.value?.strRequirements?.isPrincipalResidenceRequired +const getPrRequired = (): string => + activeReg.value?.strRequirements?.isPrincipalResidenceRequired ? t('pr.required') : t('pr.notRequired') -} -const getBlRequired = (): string => { - if (!isApplication.value) { - return '' - } - return activeReg.value?.strRequirements?.isBusinessLicenceRequired +const getBlRequired = (): string => + activeReg.value?.strRequirements?.isBusinessLicenceRequired ? t('pr.required') : t('pr.notRequired') -} const prExemptReason = computed(() => activeReg.value?.unitDetails?.prExemptReason) const businessLicenseExemptReason = computed(() => activeReg.value?.unitDetails?.blExemptReason) diff --git a/strr-examiner-web/package.json b/strr-examiner-web/package.json index 7389f99e7..faad67e05 100644 --- a/strr-examiner-web/package.json +++ b/strr-examiner-web/package.json @@ -2,7 +2,7 @@ "name": "strr-examiner-web", "private": true, "type": "module", - "version": "0.2.52", + "version": "0.2.53", "engines": { "node": ">=24" }, diff --git a/strr-examiner-web/tests/unit/registration-details.spec.ts b/strr-examiner-web/tests/unit/registration-details.spec.ts index 4d24c8ffe..3870b7383 100644 --- a/strr-examiner-web/tests/unit/registration-details.spec.ts +++ b/strr-examiner-web/tests/unit/registration-details.spec.ts @@ -15,6 +15,7 @@ import RegistrationDetails from '~/pages/registration/[registrationId]/index.vue import { DecisionPanel, HistoricalApplicationsTable, + HostSupportingInfo, RegistrationInfoHeader, SnapshotVersionsTable, SnapshotInfo @@ -100,6 +101,16 @@ describe('Examiner - Registration Details Page', () => { expect(wrapper.findComponent(RegistrationInfoHeader).exists()).toBe(true) }) + it('should show Required label in the PR section for registrations', () => { + const prSection = wrapper.findComponent(HostSupportingInfo).findTestId('pr-req-section') + expect(prSection.text()).toContain('Required') + }) + + it('should show Required label in the BL section for registrations', () => { + const blSection = wrapper.findComponent(HostSupportingInfo).findTestId('business-lic-section') + expect(blSection.text()).toContain('Required') + }) + it('displays correct badge color for ACTIVE status', async () => { currentMockData = mockHostRegistration From bedd0097f708df7cbe3807f8e864e74b51d092d5 Mon Sep 17 00:00:00 2001 From: Karim El Jazzar Date: Mon, 15 Jun 2026 13:51:42 -0700 Subject: [PATCH 2/2] fixed in response to Jimmy's comment --- strr-examiner-web/tests/mocks/mockedData.ts | 11 +++++++++++ .../tests/unit/registration-details.spec.ts | 17 +++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/strr-examiner-web/tests/mocks/mockedData.ts b/strr-examiner-web/tests/mocks/mockedData.ts index 551ccf164..45b1bfc26 100644 --- a/strr-examiner-web/tests/mocks/mockedData.ts +++ b/strr-examiner-web/tests/mocks/mockedData.ts @@ -510,6 +510,17 @@ export const mockStrataHotelRegistration: StrataHotelRegistrationResp = { nocStatus: null } +export const mockHostRegistrationNotRequired: HostRegistrationResp = { + ...mockHostRegistration, + strRequirements: { + isBusinessLicenceRequired: false, + isPrincipalResidenceRequired: false, + isStrProhibited: false, + isStraaExempt: false, + organizationNm: 'City of Vancouver' + } +} + export const mockExpiredRegistration: HostRegistrationResp = { ...mockHostRegistration, status: RegistrationStatus.EXPIRED, diff --git a/strr-examiner-web/tests/unit/registration-details.spec.ts b/strr-examiner-web/tests/unit/registration-details.spec.ts index 3870b7383..7997f44f8 100644 --- a/strr-examiner-web/tests/unit/registration-details.spec.ts +++ b/strr-examiner-web/tests/unit/registration-details.spec.ts @@ -2,6 +2,7 @@ import { mockNuxtImport, mountSuspended } from '@nuxt/test-utils/runtime' import { describe, it, expect, vi, beforeAll } from 'vitest' import { mockHostRegistration, + mockHostRegistrationNotRequired, mockPlatformRegistration, mockStrataHotelRegistration, mockExpiredRegistration, @@ -111,6 +112,22 @@ describe('Examiner - Registration Details Page', () => { expect(blSection.text()).toContain('Required') }) + it('should show Not Required label in the PR section when isPrincipalResidenceRequired is false', async () => { + currentMockData = mockHostRegistrationNotRequired + const notRequiredWrapper = await mountSuspended(HostSupportingInfo, { + global: { plugins: [enI18n] } + }) + expect(notRequiredWrapper.findTestId('pr-req-section').text()).toContain('Not Required') + }) + + it('should show Not Required label in the BL section when isBusinessLicenceRequired is false', async () => { + currentMockData = mockHostRegistrationNotRequired + const notRequiredWrapper = await mountSuspended(HostSupportingInfo, { + global: { plugins: [enI18n] } + }) + expect(notRequiredWrapper.findTestId('business-lic-section').text()).toContain('Not Required') + }) + it('displays correct badge color for ACTIVE status', async () => { currentMockData = mockHostRegistration