UNPKG

@eagleeye-solutions/integration-events-common

Version:
145 lines 5.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const src_1 = require("../../../src"); const fixtures_1 = require("../../fixtures"); const logger = { debug: jest.fn(), info: jest.fn(), error: jest.fn(), }; describe('getPosConnectWalletSettleEventData', () => { it('returns Coupon Redeemed events and an Order Completed event', () => { // Arrange const event = src_1.EeAirOutboundEventSchema.parse(fixtures_1.sampleEvents.POSCONNECT_WALLET_SETTLE); const connectorConfig = { configuration: { currency: 'USD', }, }; const expectedOutput = { currencyCode: 'USD', redeemedCoupons: [ { accountId: '4093853356', campaignId: '100792525', type: 'ECOUPON', clientType: 'OFFER', state: 'LOADED', status: 'USED', dateEnd: new Date('2025-01-29T20:37:03.000Z'), dateStart: new Date('2025-01-29T20:35:43.000Z'), value: 700, }, { accountId: '4093853180', campaignId: '100641543', type: 'ECOUPON', clientType: 'OFFER', state: 'LOADED', status: 'USED', dateEnd: new Date('2025-12-31T23:59:00.000Z'), dateStart: new Date('2025-01-29T20:23:00.000Z'), value: 200, }, { accountId: '4093853179', campaignId: '100641542', type: 'ECOUPON', clientType: 'OFFER', state: 'LOADED', status: 'USED', dateEnd: new Date('2025-12-31T23:59:00.000Z'), dateStart: new Date('2025-01-29T20:23:00.000Z'), value: 100, }, { accountId: '4093853181', campaignId: '100641544', type: 'ECOUPON', clientType: 'OFFER', state: 'LOADED', status: 'USED', dateEnd: new Date('2025-12-31T23:59:00.000Z'), dateStart: new Date('2025-01-29T20:23:01.000Z'), value: 300, }, ], points: { pointsBalance: 663, }, tier: { tierBalancesPoints: 63, tierBalancesResetDate: new Date('2031-01-31T23:59:59.000Z'), tierBalancesSpend: 6300, tierBalancesTransactions: 0, tierId: '177', }, transaction: { discountsReceived: 700, products: [ { description: 'Lemonade', itemUnitCost: 1000, itemUnitCount: 2, totalUnitCost: 2000, totalUnitCostAfterDiscount: 2000, upc: '245874', }, { description: 'Coffee', itemUnitCost: 1000, itemUnitCount: 1, totalUnitCost: 1000, totalUnitCostAfterDiscount: 1000, upc: '245875', }, { description: 'Oranges', itemUnitCost: 1000, itemUnitCount: 1, totalUnitCost: 1000, totalUnitCostAfterDiscount: 1000, upc: '245887', }, { description: 'Carrot', itemUnitCost: 1000, itemUnitCount: 1, totalUnitCost: 1000, totalUnitCostAfterDiscount: 1000, upc: '245886', }, { description: 'Pizza', itemUnitCost: 1000, itemUnitCount: 1, totalUnitCost: 1000, totalUnitCostAfterDiscount: 1000, upc: '245868', }, { description: 'Wine', itemUnitCost: 1000, itemUnitCount: 1, totalUnitCost: 1000, totalUnitCostAfterDiscount: 1000, upc: '245872', }, ], storeLocation: { storeId: 'outlet1', storeParentId: 'banner1' }, totalBasketValueAfterDiscount: 6300, totalPointsEarned: 663, transactionReference: 'NSTEST123pos2225', transactionDate: new Date('2025-01-29T20:37:03.000Z'), }, }; // Act const output = (0, src_1.getPosConnectWalletSettleEventData)(event, { connectorConfig, logger, }); // Assert expect(output).toEqual(expectedOutput); }); }); //# sourceMappingURL=posconnect-wallet-settle.spec.js.map