| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- 'use strict';
- const { expect } = require('chai');
- const { v4 } = require('uuid');
- const sinon = require('sinon');
- const rewire = require('rewire');
- const FakeNantumModule = require('../utils/fake-nantum-module');
- const {
- requestEventMax,
- createdEventInvalidEventId1,
- } = require('../xml/event/js-requests');
- const { poll } = require('../xml/poll/js-requests');
- const { generatedFromNantumEvent1 } = require('../xml/event/js-responses');
- const { sampleEvent1, sampleVen1, sampleVenRegistration1 } = require('../modules/nantum-responses');
- describe('Event', function() {
- let clock;
- let rewired;
- after(async () => {
- clock.restore();
- });
- before(async () => {
- clock = sinon.useFakeTimers(new Date('2020-04-26T01:00:00.000Z').getTime());
- const nantum = new FakeNantumModule({
- events: [sampleEvent1],
- vens: [sampleVen1],
- venRegistrations: [sampleVenRegistration1],
- });
- rewired = rewire('../../../processes/event.js');
- rewired.__set__({
- nantum,
- });
- });
- describe('retrieveEvents', function() {
- it('translates nantum event to oadr event', async () => {
- const venId = requestEventMax.venId;
- const commonName = v4()
- .replace(/-/g, '')
- .substring(0, 12);
- const events = await rewired.retrieveEvents(
- requestEventMax,
- commonName,
- venId,
- );
- expect(events).to.eql(generatedFromNantumEvent1);
- });
- });
- describe('pollForEvents', function() {
- it('should return an event only once', async () => {
- const venId = poll.venId;
- const commonName = v4()
- .replace(/-/g, '')
- .substring(0, 12);
- const pollResponse1 = await rewired.pollForEvents(
- poll,
- commonName,
- venId,
- );
- expect(pollResponse1.events.length).to.eql(1);
- const pollResponse2 = await rewired.pollForEvents(
- poll,
- commonName,
- venId,
- );
- expect(pollResponse2).to.be.undefined;
- });
- it('should fail when an invalid eventId is optedIn', async () => {
- const venId = poll.venId;
- const commonName = v4()
- .replace(/-/g, '')
- .substring(0, 12);
- const response = await rewired.updateOptType(
- createdEventInvalidEventId1,
- commonName,
- venId,
- );
- expect(response.responseCode).to.eql('454');
- expect(response.responseDescription).to.eql(
- 'Event response references invalid event',
- );
- });
- it('should fail when an old modificationNumber is specified', async () => {
- const venId = poll.venId;
- const commonName = v4()
- .replace(/-/g, '')
- .substring(0, 12);
- const response = await rewired.updateOptType(
- createdEventInvalidEventId1,
- commonName,
- venId,
- );
- expect(response.responseCode).to.eql('454');
- expect(response.responseDescription).to.eql(
- 'Event response references invalid event',
- );
- });
- });
- });
|