'use strict'; const { expect } = require('chai'); const { parse, serialize, } = require('../../../../xml/register-party/cancel-party-registration'); const { cancelPartyRegistrationMinXml, cancelPartyRegistrationMaxXml, cancelPartyRegistrationMissingRequiredXml, } = require('./xml-requests'); const { cancelPartyRegistrationMin, cancelPartyRegistrationMax, } = require('./js-requests'); describe('Cancel Party Registration', function() { describe('parse', function() { it('successfully parses min xml', async function() { const parsedResponse = await parse(cancelPartyRegistrationMinXml); expect(parsedResponse).to.eql(cancelPartyRegistrationMin); }); it('successfully parses max xml', async function() { const parsedResponse = await parse(cancelPartyRegistrationMaxXml); expect(parsedResponse).to.eql(cancelPartyRegistrationMax); }); it('successfully parses serialized value', async function() { const serialized = serialize(cancelPartyRegistrationMax); const parsedResponse = await parse(serialized); expect(parsedResponse).to.eql(cancelPartyRegistrationMax); }); it('throws Error on missing required field', async function() { let lastError; try { await parse(cancelPartyRegistrationMissingRequiredXml); } catch (e) { lastError = e; } expect(lastError).to.be.an('error'); }); }); describe('serialize', function() { let serializedResponse; before(async () => { serializedResponse = await serialize(cancelPartyRegistrationMaxXml); }); it('successfully serializes valid message', function() { expect(serializedResponse).to.eql( '', ); }); }); });