component-dbs-core
Version:
DTO objects shared among device backend
84 lines (80 loc) • 2.31 kB
text/typescript
import { v4 } from 'uuid';
import { TransactionDto } from '.';
import {
TransactionType,
TransactionStatus,
TaxAmount,
CardScheme,
} from './types.d';
describe('Transaction DTO test suite', () => {
it('should be able to create transaction dto object', () => {
const id = v4();
const deviceUuid = v4();
const entityUuid = v4();
const siteUuid = v4();
const timestamp = v4();
const transactionType = TransactionType.PURCHASE;
const status = TransactionStatus.APPROVED;
const maskedPan = v4();
const reference = v4();
const amount = 1;
const deviceName = v4();
const siteName = v4();
const saleAmount = 1;
const tipAmount = 1;
const feeAmount = 1;
const taxAmounts: TaxAmount[] = [];
const surchargeAmount = 1;
const scheme = CardScheme.VISA;
const depositUuid = v4();
const depositDate = new Date().toISOString();
const panToken = v4();
const par = v4();
const dto = new TransactionDto(
id,
deviceUuid,
entityUuid,
siteUuid,
timestamp,
transactionType,
status,
maskedPan,
reference,
amount,
deviceName,
siteName,
saleAmount,
tipAmount,
feeAmount,
taxAmounts,
surchargeAmount,
scheme,
depositUuid,
depositDate,
panToken,
par,
);
expect(dto.id).toBe(id);
expect(dto.deviceUuid).toBe(deviceUuid);
expect(dto.entityUuid).toBe(entityUuid);
expect(dto.siteUuid).toBe(siteUuid);
expect(dto.timestamp).toBe(timestamp);
expect(dto.transactionType).toBe(transactionType);
expect(dto.status).toBe(status);
expect(dto.maskedPan).toBe(maskedPan);
expect(dto.reference).toBe(reference);
expect(dto.amount).toBe(amount);
expect(dto.deviceName).toBe(deviceName);
expect(dto.siteName).toBe(siteName);
expect(dto.saleAmount).toBe(saleAmount);
expect(dto.tipAmount).toBe(tipAmount);
expect(dto.feeAmount).toBe(feeAmount);
expect(dto.taxAmounts).toBe(taxAmounts);
expect(dto.surchargeAmount).toBe(surchargeAmount);
expect(dto.scheme).toBe(scheme);
expect(dto.depositUuid).toBe(depositUuid);
expect(dto.depositDate).toBe(depositDate);
expect(dto.panToken).toBe(panToken);
expect(dto.par).toBe(par);
});
});