diff --git a/src/DCC.ts b/src/DCC.ts index 3996357c7c85a41bde9ce39ba75f04b7e027c299..8a01a0091041f2e49af3cfa86ff98700bcb92928 100644 --- a/src/DCC.ts +++ b/src/DCC.ts @@ -840,7 +840,7 @@ export class StatementMetaDataType extends DCCXMLElement { // choice if (el.valid) this.valid = new DCCXMLBoolean(el.valid); - else if (el.validXMLList) this.validXMLList = new DCCXMLList(this.validXMLList); + else if (el.validXMLList) this.validXMLList = new DCCXMLList(el.validXMLList); if (el.date) this.date = new DCCXMLDate(el.date); if (el.period) this.period = new DCCXMLElement(el.period); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Statements.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Statements.test.ts index 9cf4423b3d88f7c4a028e78a9cda6735605d9690..ab739dc3bd3340cbb397d6a23fd2086f01f9d1d5 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Statements.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Statements.test.ts @@ -25,6 +25,18 @@ const xpath = { }, }, conformity: `string(${base}/dcc:statement[1]/dcc:conformity)`, + data: { + quantity: { + measurementMetaData: { + metaData1: { + declaration: { + content: `${base}/dcc:statement[1]/dcc:data/dcc:quantity/dcc:measurementMetaData/dcc:metaData[1]/dcc:declaration/dcc:content`, + }, + validXMLList: `string(${base}/dcc:statement[1]/dcc:data/dcc:quantity/dcc:measurementMetaData/dcc:metaData[1]/dcc:validXMLList)`, + }, + }, + }, + }, refType: `string(${base}/dcc:statement[1]/@refType)`, }, statement2: { @@ -88,6 +100,19 @@ describe("GP_Temperature_v3.2.0_DCC: StatementMetaDataType", () => { expect(statement1.conformity._text).toBe(select(xpath.statements.statement1.conformity, dom)); }); + test("should get correct statement 1 metaData1 declaration content from XML", () => { + // get expected list from example xml + const expected = <Element[]>select(xpath.statements.statement1.data.quantity.measurementMetaData.metaData1.declaration.content, dom); + expect(toTextArr(statement1.data.quantity[0].measurementMetaData.metaData[0].declaration.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct statement 1 metaData1 validXMLList from XML", () => { + // get expected list from example xml + expect(statement1.data.quantity[0].measurementMetaData.metaData[0].validXMLList._text).toBe( + select(xpath.statements.statement1.data.quantity.measurementMetaData.metaData1.validXMLList, dom), + ); + }); + test("should get correct statement 2 declaration content from XML", () => { // get expected list from example xml const expected = <Element[]>select(xpath.statements.statement2.declaration.content, dom);