UNPKG

ncc-prototype-email-alerts-sub

Version:

Northumberland Council Front End Email Alerts Subscription Prototype

69 lines (46 loc) 2.3 kB
import { sendToPaymentProvider } from './../../libs/paymentWrapper'; import { Request, Response } from 'express'; import { PaymentData } from '../../types/paymentdata'; describe('payment wrapper tests', () => { const res = { redirect: jest.fn() } as unknown as Response; const req = { session: { paymentData:{} as PaymentData } } as unknown as Request beforeEach(()=>{ req.session.paymentData.paymentstatus = 0; req.session.paymentData.servicecode = 'GWASTE'; req.session.paymentData.serviceref = 'GW-100110668187'; }) afterEach(()=>{ jest.clearAllMocks(); }) test('redirect to payment provider with servicecode and serviceref', () => { sendToPaymentProvider(req, res); expect(res.redirect).toHaveBeenCalledWith('http://paymentportaldev.northumberland.gov.uk/Payment/CheckDetails.aspx?s=GWASTE&r=GW-100110668187'); }); test('expect payment status on attempt to be changed to 50', () => { sendToPaymentProvider(req, res); expect(req.session.paymentData.paymentstatus).toBe(50); }); //test servicecode only - keep tests independant test('redirect to payment provider with servicecode ctax', () => { req.session.paymentData.servicecode = 'CTAX'; sendToPaymentProvider(req, res); expect(res.redirect).toHaveBeenCalledWith('http://paymentportaldev.northumberland.gov.uk/Payment/CheckDetails.aspx?s=CTAX&r=GW-100110668187'); }); //test servicecode test('redirect to payment provider with service ref', () => { req.session.paymentData.serviceref = '100110668187'; sendToPaymentProvider(req, res); expect(res.redirect).toHaveBeenCalledWith('http://paymentportaldev.northumberland.gov.uk/Payment/CheckDetails.aspx?s=GWASTE&r=100110668187'); }); /* test('empty page param throws error', () => { const res = { render: jest.fn() } as unknown as Response; const req = { params: {}, session: { id: '0', formErrors: [] }, query: { hasError: false } } as unknown as Request expect(() => { pageController(req, res) }).toThrow(); }); */ });