Skip to content

Commit 5ec4a6c

Browse files
authored
feat(finance): use fake patterns for transactionDescription (#3202)
1 parent 4b4bac3 commit 5ec4a6c

File tree

5 files changed

+27
-12
lines changed

5 files changed

+27
-12
lines changed

src/definitions/finance.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,9 @@ export type FinanceDefinition = LocaleEntry<{
2626
* Types of transactions (e.g. `deposit`).
2727
*/
2828
transaction_type: string[];
29+
30+
/**
31+
* The pattern used to generate transaction descriptions.
32+
*/
33+
transaction_description_pattern: string[];
2934
}>;

src/locales/en/finance/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ import type { FinanceDefinition } from '../../..';
66
import account_type from './account_type';
77
import credit_card from './credit_card';
88
import currency from './currency';
9+
import transaction_description_pattern from './transaction_description_pattern';
910
import transaction_type from './transaction_type';
1011

1112
const finance: FinanceDefinition = {
1213
account_type,
1314
credit_card,
1415
currency,
16+
transaction_description_pattern,
1517
transaction_type,
1618
};
1719

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
export default [
2+
'A {{finance.transactionType}} for {{finance.currencyCode}} {{finance.amount}} was made at {{company.name}} via card ending ****{{string.numeric(4)}} on account ***{{string.numeric(4)}}.',
3+
'A {{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} occurred at {{company.name}} using a card ending in ****{{string.numeric(4)}} for account ***{{string.numeric(4)}}.',
4+
'Payment of {{finance.currencyCode}} {{finance.amount}} for {{finance.transactionType}} at {{company.name}}, processed with card ending ****{{string.numeric(4)}} linked to account ***{{string.numeric(4)}}.',
5+
'Transaction alert: {{finance.transactionType}} at {{company.name}} using card ending ****{{string.numeric(4)}} for an amount of {{finance.currencyCode}} {{finance.amount}} on account ***{{string.numeric(4)}}.',
6+
'You made a {{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} at {{company.name}} using card ending in ****{{string.numeric(4)}} from account ***{{string.numeric(4)}}.',
7+
'Your {{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} at {{company.name}} was successful. Charged via card ****{{string.numeric(4)}} to account ***{{string.numeric(4)}}.',
8+
'{{finance.transactionType}} at {{company.name}} with a card ending in ****{{string.numeric(4)}} for {{finance.currencyCode}} {{finance.amount}} from account ***{{string.numeric(4)}}.',
9+
'{{finance.transactionType}} confirmed at {{company.name}} for {{finance.currencyCode}} {{finance.amount}}, card ending in ****{{string.numeric(4)}} associated with account ***{{string.numeric(4)}}.',
10+
'{{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} at {{company.name}} charged to account ending in {{string.numeric(4)}} using card ending in ****{{string.numeric(4)}}.',
11+
'{{finance.transactionType}} processed at {{company.name}} for {{finance.currencyCode}} {{finance.amount}}, using card ending ****{{string.numeric(4)}}. Account: ***{{string.numeric(4)}}.',
12+
'{{finance.transactionType}} transaction at {{company.name}} using card ending with ****{{string.numeric(4)}} for {{finance.currencyCode}} {{finance.amount}} in account ***{{string.numeric(4)}}.',
13+
];

src/modules/finance/index.ts

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -969,18 +969,13 @@ export class FinanceModule extends ModuleBase {
969969
*
970970
* @example
971971
* faker.finance.transactionDescription()
972-
* // 'invoice transaction at Kilback - Durgan using card ending with ************4316 for UAH 783.82 in account ***16168663'
972+
* // 'payment transaction at Emard LLC using card ending with ****9187 for HNL 506.57 in account ***2584.'
973973
*
974974
* @since 5.1.0
975975
*/
976976
transactionDescription(): string {
977-
const amount = this.amount();
978-
const company = this.faker.company.name();
979-
const transactionType = this.transactionType();
980-
const account = this.accountNumber();
981-
const card = this.creditCardNumber().replaceAll(/.(?=.{4})/g, '*');
982-
const currency = this.currencyCode();
983-
984-
return `${transactionType} transaction at ${company} using card ending with ${card} for ${currency} ${amount} in account ***${account}`;
977+
return this.faker.helpers.fake(
978+
this.faker.definitions.finance.transaction_description_pattern
979+
);
985980
}
986981
}

test/modules/__snapshots__/finance.spec.ts.snap

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ exports[`finance > 42 > pin > with length option 1`] = `"3975110867"`;
8484

8585
exports[`finance > 42 > routingNumber 1`] = `"397511082"`;
8686

87-
exports[`finance > 42 > transactionDescription 1`] = `"deposit transaction at Reynolds, Miller and Crist using card ending with ************4719 for LYD 374.54 in account ***08670982"`;
87+
exports[`finance > 42 > transactionDescription 1`] = `"You made a withdrawal of SAR 598.66 at Crist - Beer using card ending in ****8670 from account ***9821."`;
8888

8989
exports[`finance > 42 > transactionType 1`] = `"invoice"`;
9090

@@ -172,7 +172,7 @@ exports[`finance > 1211 > pin > with length option 1`] = `"9829667368"`;
172172

173173
exports[`finance > 1211 > routingNumber 1`] = `"982966738"`;
174174

175-
exports[`finance > 1211 > transactionDescription 1`] = `"payment transaction at Fahey, Zieme and Osinski using card ending with ***************2758 for HNL 928.52 in account ***73687684"`;
175+
exports[`finance > 1211 > transactionDescription 1`] = `"withdrawal transaction at Zieme - Osinski using card ending with ****6736 for SZL 768.50 in account ***6848."`;
176176

177177
exports[`finance > 1211 > transactionType 1`] = `"withdrawal"`;
178178

@@ -260,6 +260,6 @@ exports[`finance > 1337 > pin > with length option 1`] = `"2124352971"`;
260260

261261
exports[`finance > 1337 > routingNumber 1`] = `"212435298"`;
262262

263-
exports[`finance > 1337 > transactionDescription 1`] = `"invoice transaction at Gottlieb - Koelpin using card ending with *********6413 for JMD 262.02 in account ***52971361"`;
263+
exports[`finance > 1337 > transactionDescription 1`] = `"Payment of CAD 278.12 for invoice at Leannon - Gibson, processed with card ending ****9713 linked to account ***6194."`;
264264

265265
exports[`finance > 1337 > transactionType 1`] = `"invoice"`;

0 commit comments

Comments
 (0)