UNPKG

@tawk.to/nestjs-google-pubsub-microservice

Version:
72 lines 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const chai_1 = require("chai"); const gc_message_builder_1 = require("./gc-message.builder"); const gc_message_serializer_1 = require("./gc-message.serializer"); const sinon = require("sinon"); describe('GCPubSubMessageSerializer', () => { const serializer = new gc_message_serializer_1.GCPubSubMessageSerializer(); const sandbox = sinon.createSandbox(); let buildStub; beforeEach(() => { buildStub = sandbox.stub(gc_message_builder_1.GCPubSubMessageBuilder.prototype, 'build'); }); afterEach(() => { sandbox.restore(); buildStub.reset(); }); it('should return a GCPubSubMessage instance', () => { buildStub.returns(new gc_message_builder_1.GCPubSubMessage({ key: 'value' }, { attr: 'value' }, undefined)); const data = { key: 'value' }; const attributes = { attr: 'value' }; const msg = new gc_message_builder_1.GCPubSubMessageBuilder(data) .setAttributes(attributes) .build(); const packet = { data: msg, pattern: 'test' }; const message = new gc_message_builder_1.GCPubSubMessage(data, attributes, undefined); const result = serializer.serialize(packet); (0, chai_1.expect)(result).to.deep.equal({ data: Buffer.from(JSON.stringify(message.data)), attributes: message.attributes, orderingKey: message.orderingKey, }); }); it('should create a new GCPubSubMessage using GCPubSubMessageBuilder if packet data is not a GCPubSubMessage', () => { const data = 'data'; buildStub.returns(new gc_message_builder_1.GCPubSubMessage(data, undefined, undefined)); const packet = { data: data, pattern: 'test' }; serializer.serialize(packet); (0, chai_1.expect)(buildStub.calledOnce).to.be.true; }); }); describe(gc_message_serializer_1.GCPubSubResponseSerializer, () => { const serializer = new gc_message_serializer_1.GCPubSubResponseSerializer(); const sandbox = sinon.createSandbox(); let buildStub; beforeEach(() => { buildStub = sandbox.stub(gc_message_builder_1.GCPubSubMessageBuilder.prototype, 'build'); }); afterEach(() => { sandbox.restore(); buildStub.reset(); }); it('should return a GCPubSubMessage instance', () => { buildStub.returns(new gc_message_builder_1.GCPubSubMessage({ key: 'value' }, { attr: 'value' }, undefined)); const data = { key: 'value' }; const attributes = { attr: 'value' }; const value = { response: { data: data, }, id: 'id', }; const message = new gc_message_builder_1.GCPubSubMessage(data, attributes, undefined); const result = serializer.serialize(value); (0, chai_1.expect)(result).to.deep.equal({ data: Buffer.from(JSON.stringify(message.data)), attributes: message.attributes, orderingKey: message.orderingKey, }); }); }); //# sourceMappingURL=gc-message.serializer.spec.js.map