'use strict'; const { expect } = require('chai'); const { parse, serialize } = require('../../../../xml/event/distribute-event'); const { epriXml } = require('./xml-responses'); const { epriEvent1, generatedEvent1, generatedEvent2 } = require('./js-responses'); describe('Distribute event', function() { describe('serialize', function() { let serializedResponse; before(async () => { serializedResponse = await serialize(generatedEvent2); }); it ('successfully serializes valid message', function() { expect(serializedResponse).to.eql('200OK9383fc5946cb0e14ef5aNANTUM_VTN81dc20dfea7df7a2bb9e41836407d027a0aabcb30http://MarketContext12020-04-14T16:06:39.000Zfarfalse02020-04-14T16:21:00.000ZPT60MPT5MPT5MPT10MPT12MPT10M150PT15M255PT25M360PT10M46564ba02508ab099d6eae6LOAD_CONTROLx-loadControlCapacityEnergy_Management_System0PT60M05.55a5d7f2c75a526386fa41ELECTRICITY_PRICEprice072233284678ff05139f4some baselinePT10M2020-04-14T16:50:00.000ZPT30M150PT30M260currencyPerKWhUSDnoneTest TargetD8:1D:4B:20:5A:65:4C:50:32:FAalwaysb6c955285eb2006232ea0http://MarketContext12020-04-10T19:38:00.000Zcompletedfalse02020-04-10T19:08:00.000ZPT30MPT0MPT0MPT0MPT0M38e550909d77bc37310dBID_LOADlevel0RealPowerWnone60120truePT30M05.594a93415888d31b6d84eELECTRICITY_PRICEprice5.5D8:1D:4B:20:5A:65:4C:50:32:FAalways16b3c052f1b636ede15e0http://MarketContext12020-04-10T20:54:00.000Zcompletedfalse02020-04-10T20:34:00.000ZPT20MPT0MPT0MPT0MPT0MPT20M050e6e7b114b6298cd9d055ENERGY_PRICEprice50D8:1D:4B:20:5A:65:4C:50:32:FAalways'); }); }); describe('parse', function() { let parsedResponse; before(async () => { parsedResponse = await parse(epriXml); }); it ('successfully parses valid message', function() { expect(parsedResponse).to.eql(epriEvent1); }); it ('successfully parses serialized value #1', async function() { const serialized = serialize(generatedEvent1); const parsedResponse = await parse(serialized); expect(parsedResponse).to.eql(generatedEvent1); }); it ('successfully parses serialized value #2', async function() { const serialized = serialize(generatedEvent2); const parsedResponse = await parse(serialized); expect(parsedResponse).to.eql(generatedEvent2); }); }); });