Skip to content

Commit 0276add

Browse files
authored
Merge pull request #11135 from opencrvs/ocrvs-11068
chore: remove v1 location references from v2-events
2 parents 0eb454d + da896fe commit 0276add

33 files changed

+390
-216
lines changed

packages/client/.storybook/decorators.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
} from '@opencrvs/commons/client'
2020
import { testDataGenerator } from '@client/tests/test-data-generators'
2121
import { getLeafLocationIds } from '@client/v2-events/hooks/useLocations'
22-
import { V2_DEFAULT_MOCK_LOCATIONS } from '../.storybook/default-request-handlers'
22+
import { V2_DEFAULT_MOCK_LOCATIONS_MAP } from '../.storybook/default-request-handlers'
2323

2424
const generator = testDataGenerator()
2525

@@ -76,7 +76,7 @@ export function getTestValidatorContext(userRole?: TestUserRole) {
7676
)
7777

7878
const leafAdminStructureLocationIds = getLeafLocationIds(
79-
V2_DEFAULT_MOCK_LOCATIONS,
79+
V2_DEFAULT_MOCK_LOCATIONS_MAP,
8080
[LocationType.enum.ADMIN_STRUCTURE]
8181
)
8282

packages/client/.storybook/default-request-handlers.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,10 @@ export const V2_DEFAULT_MOCK_LOCATIONS = [
214214
}
215215
]
216216

217+
export const V2_DEFAULT_MOCK_LOCATIONS_MAP = new Map(
218+
V2_DEFAULT_MOCK_LOCATIONS.map((l) => [l.id, l])
219+
)
220+
217221
export const handlers = {
218222
drafts: [
219223
tRPCMsw.event.draft.list.query(() => {

packages/client/.storybook/preview.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ import {
4646
tennisClubMembershipEvent,
4747
TestUserRole,
4848
TokenUserType,
49-
UUID
49+
UUID,
50+
ChildOnboardingEvent
5051
} from '@opencrvs/commons/client'
5152
import {
5253
tennisClubMembershipEventDocument,
@@ -289,7 +290,10 @@ const preview: Preview = {
289290
*/
290291

291292
const offlineConfigs: Array<EventConfig> = options.parameters?.offline
292-
?.configs ?? [tennisClubMembershipEventWithCustomAction]
293+
?.configs ?? [
294+
tennisClubMembershipEventWithCustomAction,
295+
ChildOnboardingEvent
296+
]
293297

294298
offlineConfigs.forEach((config) => {
295299
addLocalEventConfig(config)

packages/client/src/offline/selectors.ts

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,10 @@
88
*
99
* Copyright (C) The OpenCRVS Authors located at https://github.com/opencrvs/opencrvs-core/blob/master/AUTHORS.
1010
*/
11-
import {
12-
IOfflineDataState,
13-
IOfflineData,
14-
CRVSOffice,
15-
AdminStructure,
16-
Facility
17-
} from '@client/offline/reducer'
11+
import { IOfflineDataState, IOfflineData } from '@client/offline/reducer'
1812
import { IStoreState } from '@client/store'
1913
import { createSelector } from '@reduxjs/toolkit'
2014
import { merge } from 'lodash'
21-
import { IndexMap } from '@client/utils'
2215

2316
const getOfflineState = (store: IStoreState): IOfflineDataState => store.offline
2417

@@ -62,14 +55,6 @@ export const getCertificateTemplates = createSelector(
6255
getOfflineData,
6356
(data) => data.templates.certificates
6457
)
65-
export const getLocations = createSelector(
66-
getOfflineData,
67-
(data): IndexMap<AdminStructure | Facility | CRVSOffice> => ({
68-
...data.locations,
69-
...data.facilities,
70-
...data.offices
71-
})
72-
)
7358
export const getCountryLogoFile = createSelector(
7459
getOfflineData,
7560
(data) => data.config.COUNTRY_LOGO.file

packages/client/src/tests/__snapshots__/token-generator.test.ts.snap

Lines changed: 3 additions & 3 deletions
Large diffs are not rendered by default.

packages/client/src/tests/test-data-generators.ts

Lines changed: 27 additions & 24 deletions
Large diffs are not rendered by default.

packages/client/src/v2-events/features/events/actions/correct/request/CorrectionRequest.stories.tsx

Lines changed: 73 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@ import {
1414
ActionType,
1515
generateActionDocument,
1616
tennisClubMembershipEvent,
17+
ChildOnboardingEvent,
1718
TestUserRole,
1819
TokenUserType,
1920
generateUuid,
2021
createPrng,
2122
Draft,
22-
EventState
23+
EventState,
24+
UUID
2325
} from '@opencrvs/commons/client'
2426
import { ROUTES } from '@client/v2-events/routes'
2527
import { router } from './router'
@@ -204,3 +206,73 @@ export const SummaryChangingAgeToDob: Story = {
204206
}
205207
}
206208
}
209+
210+
const eventCorrectionAddress = {
211+
trackingId: generateUuid(prng),
212+
type: ChildOnboardingEvent.id,
213+
id: generateUuid(prng),
214+
createdAt: new Date().toISOString(),
215+
updatedAt: new Date().toISOString(),
216+
actions: [
217+
generateActionDocument({
218+
configuration: ChildOnboardingEvent,
219+
action: ActionType.CREATE
220+
}),
221+
generateActionDocument({
222+
configuration: ChildOnboardingEvent,
223+
action: ActionType.DECLARE
224+
}),
225+
generateActionDocument({
226+
configuration: ChildOnboardingEvent,
227+
action: ActionType.VALIDATE
228+
}),
229+
generateActionDocument({
230+
configuration: ChildOnboardingEvent,
231+
action: ActionType.REGISTER
232+
})
233+
]
234+
}
235+
236+
const correctionDraftAddress = {
237+
id: generateUuid(prng),
238+
transactionId: generateUuid(prng),
239+
action: {
240+
createdAt: new Date(Date.now()).toISOString(),
241+
status: ActionStatus.Accepted,
242+
transactionId: generateUuid(prng),
243+
createdBy: generateUuid(prng),
244+
createdByUserType: TokenUserType.enum.user,
245+
createdByRole: TestUserRole.enum.FIELD_AGENT,
246+
type: ActionType.REQUEST_CORRECTION,
247+
declaration: {
248+
'child.placeOfBirth': 'PRIVATE_HOME',
249+
'child.birthLocation.privateHome': {
250+
country: 'FAR',
251+
addressType: 'DOMESTIC' as const,
252+
administrativeArea: '62a0ccb4-880d-4f30-8882-f256007dfff9' as UUID
253+
}
254+
},
255+
annotation: {}
256+
},
257+
createdAt: new Date(Date.now()).toISOString(),
258+
eventId: eventCorrectionAddress.id
259+
} satisfies Draft
260+
261+
export const SummaryChangingAddress: Story = {
262+
parameters: {
263+
mockingDate: new Date(),
264+
offline: {
265+
drafts: [correctionDraftAddress],
266+
events: [eventCorrectionAddress]
267+
},
268+
reactRouter: {
269+
router: {
270+
path: '/',
271+
children: [router]
272+
},
273+
initialPath: ROUTES.V2.EVENTS.REQUEST_CORRECTION.SUMMARY.buildPath({
274+
eventId: eventCorrectionAddress.id
275+
})
276+
}
277+
}
278+
}

packages/client/src/v2-events/features/events/actions/correct/request/Summary/CorrectionDetails.tsx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import * as React from 'react'
1212
import styled from 'styled-components'
1313
import { defineMessages, IntlShape, useIntl } from 'react-intl'
1414
import { useNavigate } from 'react-router-dom'
15-
import { useSelector } from 'react-redux'
1615
import format from 'date-fns/format'
1716
import { Table } from '@opencrvs/components/lib/Table'
1817
import { Text } from '@opencrvs/components/lib/Text'
@@ -23,11 +22,13 @@ import {
2322
EventState,
2423
isFieldVisible,
2524
isPageVisible,
25+
Location,
2626
PageConfig,
2727
PageTypes,
2828
RequestedCorrectionAction,
2929
TranslationConfig,
3030
User,
31+
UUID,
3132
ValidatorContext
3233
} from '@opencrvs/commons/client'
3334
import { ColumnContentAlignment, Link } from '@opencrvs/components'
@@ -41,7 +42,7 @@ import {
4142
import { ROUTES } from '@client/v2-events/routes'
4243
import { useUsers } from '@client/v2-events/hooks/useUsers'
4344
import { getUsersFullName } from '@client/v2-events/utils'
44-
import { getLocations } from '@client/offline/selectors'
45+
import { useLocations } from '@client/v2-events/hooks/useLocations'
4546
import { DeclarationComparisonTable } from './DeclarationComparisonTable'
4647

4748
const messages = defineMessages({
@@ -80,14 +81,13 @@ const Label = styled.label`
8081
function getRequestActionDetails(
8182
correctionRequestAction: Action,
8283
users: User[],
83-
locations: ReturnType<typeof getLocations>,
84+
locations: Map<UUID, Location>,
8485
intl: IntlShape
8586
): CorrectionDetail[] {
8687
const user = users.find((u) => u.id === correctionRequestAction.createdBy)
8788
const location =
8889
correctionRequestAction.createdAtLocation &&
89-
locations[correctionRequestAction.createdAtLocation]
90-
90+
locations.get(correctionRequestAction.createdAtLocation)
9191
return [
9292
{
9393
label: messages.correctionSubmittedBy,
@@ -116,7 +116,7 @@ function buildCorrectionDetails(
116116
form: EventState,
117117
intl: IntlShape,
118118
users: User[],
119-
locations: ReturnType<typeof getLocations>,
119+
locations: Map<UUID, Location>,
120120
validatorContext: ValidatorContext,
121121
correctionRequestAction?: Action
122122
): CorrectionDetail[] {
@@ -211,7 +211,9 @@ export function CorrectionDetails({
211211
const navigate = useNavigate()
212212
const { getUser } = useUsers()
213213
const users = getUser.getAllCached()
214-
const locations = useSelector(getLocations)
214+
215+
const { getLocations } = useLocations()
216+
const locations = getLocations.useSuspenseQuery()
215217

216218
const correctionFormPages =
217219
eventConfiguration.actions.find(

packages/client/src/v2-events/features/events/actions/print-certificate/Review.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ export function Review() {
171171
const [users] = getUsers.useSuspenseQuery(userIds)
172172

173173
const { getLocations } = useLocations()
174-
const [locations] = getLocations.useSuspenseQuery()
174+
const locations = getLocations.useSuspenseQuery()
175175

176176
const { certificateTemplates, language } = useAppConfig()
177177
const certificateConfig = certificateTemplates.find(

packages/client/src/v2-events/features/events/actions/print-certificate/pdfUtils.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ describe('stringifyEventMetadata', () => {
104104
modifiedAt: new Date(2000, 1, 2).toISOString(),
105105
copiesPrintedForTemplate: 1
106106
},
107-
locations,
107+
locations: new Map(locations.map((loc) => [loc.id, loc])),
108108
users,
109109
intl: createIntl({ locale: 'en' }),
110110
adminLevels
@@ -186,7 +186,7 @@ function expectRenderOutput(template: string, output: string) {
186186
}
187187
},
188188
review: false,
189-
locations: [],
189+
locations: new Map(),
190190
users: [registrar.v2],
191191
language: { lang: 'en', messages: {} },
192192
config: tennisClubMembershipEvent,

0 commit comments

Comments
 (0)