|
1 | | -import { build, fake, oneOf, perBuild } from '@jackfranklin/test-data-bot' |
| 1 | +import { build, perBuild } from '@jackfranklin/test-data-bot' |
2 | 2 | import { screen } from '@testing-library/react' |
3 | 3 | import { TransactionItem, TransactionItemProps } from '../transaction-item' |
4 | 4 | import { render } from '#test/test-utils' |
5 | 5 | import { printLocaleDateTimeString } from '~/utils/format' |
6 | 6 | import { TRANSACTION_STATUS } from '~/models/enum' |
7 | 7 | import { generateId } from '~/utils/nanoid' |
| 8 | +import { |
| 9 | + mockBankAccountNumber, |
| 10 | + mockName, |
| 11 | + mockPastDate, |
| 12 | + mockSentence, |
| 13 | + pick, |
| 14 | + randomInt, |
| 15 | +} from '~/models/__mocks__/mock-data' |
| 16 | + |
| 17 | +const transactionStatuses = Object.values(TRANSACTION_STATUS) |
8 | 18 |
|
9 | 19 | const transactionItemBuilder = build<TransactionItemProps>('TransactionItem', { |
10 | 20 | fields: { |
11 | 21 | to: perBuild( |
12 | 22 | () => |
13 | | - `${generateId()}?status=${oneOf(TRANSACTION_STATUS)}&page=${Math.floor( |
14 | | - Math.random() * 100 |
| 23 | + `${generateId()}?status=${pick(transactionStatuses)}&page=${randomInt( |
| 24 | + 1, |
| 25 | + 100 |
15 | 26 | )}` |
16 | 27 | ), |
17 | | - bankAccountName: fake((f) => f.finance.accountName()), |
18 | | - bankAccountNumber: fake((f) => f.finance.account()), |
19 | | - bankName: fake((f) => f.company.companyName()), |
20 | | - updatedAt: fake((f) => f.date.past()), |
21 | | - status: oneOf(TRANSACTION_STATUS), |
22 | | - notes: fake((f) => f.lorem.sentence()), |
| 28 | + bankAccountName: perBuild(() => mockName('Account Holder')), |
| 29 | + bankAccountNumber: perBuild(mockBankAccountNumber), |
| 30 | + bankName: perBuild(() => mockName('Bank')), |
| 31 | + updatedAt: perBuild(mockPastDate), |
| 32 | + status: perBuild(() => pick(transactionStatuses)), |
| 33 | + notes: perBuild(() => mockSentence('Note')), |
23 | 34 | }, |
24 | 35 | }) |
25 | 36 | describe('TransactionItem', () => { |
|
0 commit comments