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,
};
}