'use strict'; const { expect } = require('chai'); const { parse, serialize } = require('../../../../xml/event/created-event'); const { createdEventMin1Xml, createdEventMin2Xml, createdEventMaxXml, createdEventMissingRequiredXml, } = require('./xml-requests'); const { createdEventMin1, createdEventMin2, createdEventMax, } = require('./js-requests'); describe('Created Event', function() { describe('parse', function() { it('successfully parses min 1 xml', async function() { const parsedResponse = await parse(createdEventMin1Xml); expect(parsedResponse).to.eql(createdEventMin1); }); it('successfully parses min 2 xml', async function() { const parsedResponse = await parse(createdEventMin2Xml); expect(parsedResponse).to.eql(createdEventMin2); }); it('successfully parses max xml', async function() { const parsedResponse = await parse(createdEventMaxXml); expect(parsedResponse).to.eql(createdEventMax); }); it('successfully parses serialized value', async function() { const serialized = serialize(createdEventMax); const parsedResponse = await parse(serialized); expect(parsedResponse).to.eql(createdEventMax); }); it('throws Error on missing required field', async function() { let lastError; try { await parse(createdEventMissingRequiredXml); } catch (e) { lastError = e; } expect(lastError).to.be.an('error'); }); }); describe('serialize', function() { it('successfully serializes valid object', async function() { const serializedResponse = await serialize(createdEventMax); expect(serializedResponse).to.eql( '200OK336f7e47b92eefe985ec200OK336f7e47b92eefe985ecoptIn5f0649904d122ec115231f690D8:1D:4B:20:5A:65:4C:50:32:FA', ); }); }); });