From f3754108ab1a00ec325660101bac7eeb33482d07 Mon Sep 17 00:00:00 2001 From: Alessandro Izzo Date: Fri, 24 May 2024 15:00:04 +0200 Subject: [PATCH] chore: Add random date past generation --- .../payments/persistence/transactions.ts | 5 +- src/features/payments/routers/payment.ts | 2 +- src/payloads/wallet.ts | 141 +++++++++--------- 3 files changed, 74 insertions(+), 74 deletions(-) diff --git a/src/features/payments/persistence/transactions.ts b/src/features/payments/persistence/transactions.ts index f8753553..438844fd 100644 --- a/src/features/payments/persistence/transactions.ts +++ b/src/features/payments/persistence/transactions.ts @@ -46,6 +46,7 @@ const removeTransactionDetails = (transactionId: TransactionId) => { const generateUserTransaction = ( transactionId: TransactionId, + idx: number, additionalTransactionInfo: Partial = {} ) => { const payeeTaxCode = mockedTaxCodes[faker.datatype.number({ min: 0, max: mockedTaxCodes.length - 1 })]; @@ -54,7 +55,7 @@ const generateUserTransaction = ( payeeName: faker.company.name(), payeeTaxCode, amount: additionalTransactionInfo.payments?.[0]?.amount.toString(), - transactionDate: new Date().toISOString(), + transactionDate: new Date(new Date().setDate(new Date().getDate() - (2 * idx))).toISOString(), isCart: false, }; @@ -100,7 +101,7 @@ const generateUserTransactionData = () => { i < ioDevServerConfig.features.payments.numberOfTransactions; i = i + 1 ) { - generateUserTransaction(faker.datatype.uuid()); + generateUserTransaction(faker.datatype.uuid(), i); } }; diff --git a/src/features/payments/routers/payment.ts b/src/features/payments/routers/payment.ts index 56cc9e7c..10c79e63 100644 --- a/src/features/payments/routers/payment.ts +++ b/src/features/payments/routers/payment.ts @@ -196,7 +196,7 @@ addPaymentHandler("post", "/mock-transaction", (req, res) => O.fold( () => res.sendStatus(404), () => { - TransactionsDB.generateUserTransaction(transactionId); + TransactionsDB.generateUserTransaction(transactionId, 0); return res.status(200).json({ status: "ok" }); } ) diff --git a/src/payloads/wallet.ts b/src/payloads/wallet.ts index bf337dd0..1e0843e8 100644 --- a/src/payloads/wallet.ts +++ b/src/payloads/wallet.ts @@ -187,77 +187,76 @@ export const getTransactions = ( } return count > 0 ? range(1, count) - .map(idx => { - const amount = getRandomValue( - 20000 + idx * 10, - faker.datatype.number({ min: 100, max: 20000 }), - "wallet" - ); - const fee = getRandomValue( - 100, - faker.datatype.number({ min: 1, max: 150 }), - "wallet" - ); - const transactionId = getRandomValue( - idx, - faker.datatype.number(1000000), - "wallet" - ); - const transactionDescription = getRandomValue( - `transaction - ${idx}`, - faker.finance.transactionDescription(), - "wallet" - ); - const description = `/RFB/${transactionId}/${ - amount / 100 + .map(idx => { + const amount = getRandomValue( + 20000 + idx * 10, + faker.datatype.number({ min: 100, max: 20000 }), + "wallet" + ); + const fee = getRandomValue( + 100, + faker.datatype.number({ min: 1, max: 150 }), + "wallet" + ); + const transactionId = getRandomValue( + idx, + faker.datatype.number(1000000), + "wallet" + ); + const transactionDescription = getRandomValue( + `transaction - ${idx}`, + faker.finance.transactionDescription(), + "wallet" + ); + const description = `/RFB/${transactionId}/${amount / 100 }/TXT/${transactionDescription}`; - const delta = 1000 * 60 * 60; - const now = new Date(); - const created = getRandomValue( - new Date(now.getTime() + idx * delta), - faker.date.past(), - "wallet" - ); - const merchant = getRandomValue( - `merchant-${idx}`, - faker.company.name(), - "wallet" - ); - return validatePayload(Transaction, { - // 1 === transaction confirmed! - accountingStatus: confirmed ? 1 : 0, - amount: { amount }, - created, - description, - error: false, - fee: { amount: fee }, - grandTotal: { amount: amount + fee }, - id: idx, - idPayment: 1, - idPsp: pipe( - O.fromNullable(wallets), - O.map(ws => Number(ws[idx % ws.length].idPsp)), - O.getOrElse(() => faker.datatype.number(10000)) - ), - idStatus: 3, - idWallet: pipe( - O.fromNullable(wallets), - O.map(ws => ws[idx % ws.length].idWallet), - O.toUndefined - ), - merchant, - nodoIdPayment: "nodoIdPayment", - paymentModel: 5, - spcNodeDescription: "spcNodeDescription", - spcNodeStatus: 6, - statusMessage: "statusMessage", - success: true, - token: "token", - updated: undefined, - urlCheckout3ds: "urlCheckout3ds", - urlRedirectPSP: "urlRedirectPSP" - }); - }) - .reverse() + const delta = 1000 * 60 * 60; + const now = new Date(); + const created = getRandomValue( + new Date(now.getTime() + idx * delta), + faker.date.past(), + "wallet" + ); + const merchant = getRandomValue( + `merchant-${idx}`, + faker.company.name(), + "wallet" + ); + return validatePayload(Transaction, { + // 1 === transaction confirmed! + accountingStatus: confirmed ? 1 : 0, + amount: { amount }, + created, + description, + error: false, + fee: { amount: fee }, + grandTotal: { amount: amount + fee }, + id: idx, + idPayment: 1, + idPsp: pipe( + O.fromNullable(wallets), + O.map(ws => Number(ws[idx % ws.length].idPsp)), + O.getOrElse(() => faker.datatype.number(10000)) + ), + idStatus: 3, + idWallet: pipe( + O.fromNullable(wallets), + O.map(ws => ws[idx % ws.length].idWallet), + O.toUndefined + ), + merchant, + nodoIdPayment: "nodoIdPayment", + paymentModel: 5, + spcNodeDescription: "spcNodeDescription", + spcNodeStatus: 6, + statusMessage: "statusMessage", + success: true, + token: "token", + updated: undefined, + urlCheckout3ds: "urlCheckout3ds", + urlRedirectPSP: "urlRedirectPSP" + }); + }) + .reverse() : []; };