canceled-party-registration.spec.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. 'use strict';
  2. const { expect } = require('chai');
  3. const {
  4. parse,
  5. serialize,
  6. } = require('../../../../xml/register-party/canceled-party-registration');
  7. const {
  8. canceledPartyRegistrationMinXml,
  9. canceledPartyRegistrationMaxXml,
  10. canceledPartyRegistrationMissingRequiredXml,
  11. } = require('./xml-responses');
  12. const {
  13. canceledPartyRegistrationMin,
  14. canceledPartyRegistrationMax,
  15. } = require('./js-responses');
  16. describe('Canceled Party Registration', function() {
  17. describe('parse', function() {
  18. it('successfully parses min xml', async function() {
  19. const parsedResponse = await parse(canceledPartyRegistrationMinXml);
  20. expect(parsedResponse).to.eql(canceledPartyRegistrationMin);
  21. });
  22. it('successfully parses max xml', async function() {
  23. const parsedResponse = await parse(canceledPartyRegistrationMaxXml);
  24. expect(parsedResponse).to.eql(canceledPartyRegistrationMax);
  25. });
  26. it('successfully parses serialized value', async function() {
  27. const serialized = serialize(canceledPartyRegistrationMax);
  28. const parsedResponse = await parse(serialized);
  29. expect(parsedResponse).to.eql(canceledPartyRegistrationMax);
  30. });
  31. it('throws Error on missing required field', async function() {
  32. let lastError;
  33. try {
  34. await parse(canceledPartyRegistrationMissingRequiredXml);
  35. } catch (e) {
  36. lastError = e;
  37. }
  38. expect(lastError).to.be.an('error');
  39. });
  40. });
  41. describe('serialize', function() {
  42. let serializedResponse;
  43. before(async () => {
  44. serializedResponse = await serialize(canceledPartyRegistrationMax);
  45. });
  46. it('successfully serializes valid message', function() {
  47. expect(serializedResponse).to.eql(
  48. '<oadr2b:oadrPayload xmlns:oadr2b="http://openadr.org/oadr-2.0b/2012/07"><oadr2b:oadrSignedObject><oadr2b:oadrCanceledPartyRegistration xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110" ei:schemaVersion="2.0b"><ei:eiResponse xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110"><ei:responseCode>200</ei:responseCode><ei:responseDescription>OK</ei:responseDescription><pyld:requestID xmlns:pyld="http://docs.oasis-open.org/ns/energyinterop/201110/payloads">334455</pyld:requestID></ei:eiResponse><ei:registrationID xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110">3bd3c02dc6965c8b9240</ei:registrationID><ei:venID xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110">3f59d85fbdf3997dbeb1</ei:venID></oadr2b:oadrCanceledPartyRegistration></oadr2b:oadrSignedObject></oadr2b:oadrPayload>',
  49. );
  50. });
  51. });
  52. });