static getUpdate()

in testUtilities/GenerateStagingRequestsFactory.ts [129:200]


    static getUpdate(): RequestResult {
        const id = '8cafa46d-08b4-4ee4-b51b-803e20ae8126';
        const vid = 1;
        const nextVid = 2;
        const existingMeta = { security: [{ code: 'test' }], versionId: vid.toString() };
        const resource = {
            resourceType: 'Patient',
            id,
            name: [
                {
                    family: 'Jameson',
                    given: ['Matt'],
                },
            ],
            gender: 'male',
            meta: existingMeta,
        };
        const request: BatchReadWriteRequest = {
            operation: 'update',
            resourceType: 'Patient',
            id,
            resource,
            fullUrl: `urn:uuid:${id}`,
        };

        const expectedUpdateItem: any = { ...resource, meta: { ...existingMeta, versionId: nextVid.toString() } };
        expectedUpdateItem[DOCUMENT_STATUS_FIELD] = DOCUMENT_STATUS.PENDING;
        expectedUpdateItem.id = id;
        expectedUpdateItem.vid = nextVid;

        const expectedRequest = {
            Put: {
                TableName: '',
                Item: DynamoDBConverter.marshall(expectedUpdateItem),
            },
        };

        const expectedLock: ItemRequest = {
            id,
            vid: nextVid,
            resourceType: 'Patient',
            operation: 'update',
            isOriginalUpdateItem: false,
        };

        const expectedStagingResponse: BatchReadWriteResponse = {
            id,
            vid: nextVid.toString(),
            operation: 'update',
            resourceType: 'Patient',
            resource: {
                ...resource,
                meta: {
                    ...existingMeta,
                    versionId: nextVid.toString(),
                    lastUpdated: expect.stringMatching(utcTimeRegExp),
                },
            },
            lastModified: expect.stringMatching(utcTimeRegExp),
        };

        const idToVersionId: Record<string, number> = {};
        idToVersionId[id] = vid;

        return {
            request,
            expectedRequest,
            expectedLock,
            expectedStagingResponse,
            idToVersionId,
        };
    }