All files / src/gmail/strategies gmailCrossBorderTransferFeeStrategy.ts

100% Statements 9/9
100% Branches 0/0
100% Functions 2/2
100% Lines 8/8

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    8x   8x   2x 2x 2x   2x   2x   2x    
import CrossBorderTransferFee from "../../core/types/crossBorderTransferFee";
import StandardTransfer from "../../core/types/standardTransfer";
import { AbstractPaymentDetailsStrategy } from "../../core/strategies/abstractPaymentDetailsStrategy";
 
export default class GmailCrossBorderTransferFeeStrategy extends AbstractPaymentDetailsStrategy<CrossBorderTransferFee> {
    tryCreate(paymentDetailsRaw: string[], additionalDetailsRaw: string[]): StandardTransfer {
        const transactionDetailsRaw = paymentDetailsRaw.join('');
        const regex = /(?:AZV-)(.+)/g;
        const matches = [...transactionDetailsRaw.matchAll(regex)];
 
        const paymentDetails = matches.map(m => m[1].trim());
 
        const description = paymentDetails.join('');
 
        return this.paymentDetailsFactory.crossBorderTransferFee(description);
    }
}