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 b943a0aa15b776d7543bcf0e169b0fcb90d70c15..16ba06e10d1ba2b1e911bf426d881f0f85c30f1a 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 @@ -24,6 +24,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: { @@ -87,6 +99,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);