All files / src/billing/payment/mocking purchase.mocking.ts

100% Statements 3/3
100% Branches 0/0
100% Functions 0/0
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 361x 1x                             1x                                      
import { randomUUID } from 'crypto';
import { PAYMENT_STATUS } from '../entities/payment.status';
 
export type PgPaymentFailResult = {
  status: PAYMENT_STATUS.FAIL;
  failReason: string;
};
 
export type PgPaymentSuccessResult = {
  status: PAYMENT_STATUS.SUCCESS;
  pgPaymentId: string;
  paidAt: string;
};
 
export type PgPaymentResult = PgPaymentFailResult | PgPaymentSuccessResult;
 
export const PgPaymentResultMap: Record<
  'fail' | 'subscription_fail' | 'success',
  PgPaymentResult
> = {
  fail: {
    status: PAYMENT_STATUS.FAIL,
    failReason: 'SIMULATED_FAILURE',
  },
  subscription_fail: {
    pgPaymentId: randomUUID(),
    status: PAYMENT_STATUS.SUCCESS,
    paidAt: new Date().toISOString(),
  },
  success: {
    pgPaymentId: randomUUID(),
    status: PAYMENT_STATUS.SUCCESS,
    paidAt: new Date().toISOString(),
  },
};