From 5ec4a6c9ddc037ae189ee93f339fa52065ac2a26 Mon Sep 17 00:00:00 2001 From: ST-DDT Date: Wed, 11 Dec 2024 20:40:15 +0100 Subject: feat(finance): use fake patterns for transactionDescription (#3202) --- src/definitions/finance.ts | 5 +++++ src/locales/en/finance/index.ts | 2 ++ src/locales/en/finance/transaction_description_pattern.ts | 13 +++++++++++++ src/modules/finance/index.ts | 13 ++++--------- 4 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 src/locales/en/finance/transaction_description_pattern.ts (limited to 'src') diff --git a/src/definitions/finance.ts b/src/definitions/finance.ts index c82ac6e8..8755edcc 100644 --- a/src/definitions/finance.ts +++ b/src/definitions/finance.ts @@ -26,4 +26,9 @@ export type FinanceDefinition = LocaleEntry<{ * Types of transactions (e.g. `deposit`). */ transaction_type: string[]; + + /** + * The pattern used to generate transaction descriptions. + */ + transaction_description_pattern: string[]; }>; diff --git a/src/locales/en/finance/index.ts b/src/locales/en/finance/index.ts index 2428aa28..04e3fd05 100644 --- a/src/locales/en/finance/index.ts +++ b/src/locales/en/finance/index.ts @@ -6,12 +6,14 @@ import type { FinanceDefinition } from '../../..'; import account_type from './account_type'; import credit_card from './credit_card'; import currency from './currency'; +import transaction_description_pattern from './transaction_description_pattern'; import transaction_type from './transaction_type'; const finance: FinanceDefinition = { account_type, credit_card, currency, + transaction_description_pattern, transaction_type, }; diff --git a/src/locales/en/finance/transaction_description_pattern.ts b/src/locales/en/finance/transaction_description_pattern.ts new file mode 100644 index 00000000..b6854b19 --- /dev/null +++ b/src/locales/en/finance/transaction_description_pattern.ts @@ -0,0 +1,13 @@ +export default [ + 'A {{finance.transactionType}} for {{finance.currencyCode}} {{finance.amount}} was made at {{company.name}} via card ending ****{{string.numeric(4)}} on account ***{{string.numeric(4)}}.', + '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)}}.', + '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)}}.', + '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)}}.', + '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)}}.', + 'Your {{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} at {{company.name}} was successful. Charged via card ****{{string.numeric(4)}} to account ***{{string.numeric(4)}}.', + '{{finance.transactionType}} at {{company.name}} with a card ending in ****{{string.numeric(4)}} for {{finance.currencyCode}} {{finance.amount}} from account ***{{string.numeric(4)}}.', + '{{finance.transactionType}} confirmed at {{company.name}} for {{finance.currencyCode}} {{finance.amount}}, card ending in ****{{string.numeric(4)}} associated with account ***{{string.numeric(4)}}.', + '{{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)}}.', + '{{finance.transactionType}} processed at {{company.name}} for {{finance.currencyCode}} {{finance.amount}}, using card ending ****{{string.numeric(4)}}. Account: ***{{string.numeric(4)}}.', + '{{finance.transactionType}} transaction at {{company.name}} using card ending with ****{{string.numeric(4)}} for {{finance.currencyCode}} {{finance.amount}} in account ***{{string.numeric(4)}}.', +]; diff --git a/src/modules/finance/index.ts b/src/modules/finance/index.ts index 656872b7..cc406808 100644 --- a/src/modules/finance/index.ts +++ b/src/modules/finance/index.ts @@ -969,18 +969,13 @@ export class FinanceModule extends ModuleBase { * * @example * faker.finance.transactionDescription() - * // 'invoice transaction at Kilback - Durgan using card ending with ************4316 for UAH 783.82 in account ***16168663' + * // 'payment transaction at Emard LLC using card ending with ****9187 for HNL 506.57 in account ***2584.' * * @since 5.1.0 */ transactionDescription(): string { - const amount = this.amount(); - const company = this.faker.company.name(); - const transactionType = this.transactionType(); - const account = this.accountNumber(); - const card = this.creditCardNumber().replaceAll(/.(?=.{4})/g, '*'); - const currency = this.currencyCode(); - - return `${transactionType} transaction at ${company} using card ending with ${card} for ${currency} ${amount} in account ***${account}`; + return this.faker.helpers.fake( + this.faker.definitions.finance.transaction_description_pattern + ); } } -- cgit v1.2.3