()
| 19 | let mockDisputesList!: ReturnType<typeof mock> |
| 20 | |
| 21 | const setupMocks = async () => { |
| 22 | mockSelect = mock(() => ({ |
| 23 | from: mock(() => ({ |
| 24 | where: mock(() => ({ |
| 25 | limit: mock(() => Promise.resolve([])), |
| 26 | })), |
| 27 | })), |
| 28 | })) |
| 29 | |
| 30 | mockUpdate = mock(() => ({ |
| 31 | set: mock(() => ({ |
| 32 | where: mock(() => Promise.resolve()), |
| 33 | })), |
| 34 | })) |
| 35 | |
| 36 | mockDisputesList = mock(() => |
| 37 | Promise.resolve({ |
| 38 | data: [], |
| 39 | }), |
| 40 | ) |
| 41 | |
| 42 | await mockModule('@codebuff/internal/db', () => ({ |
| 43 | default: { |
| 44 | select: mockSelect, |
| 45 | update: mockUpdate, |
| 46 | }, |
| 47 | })) |
| 48 | |
| 49 | await mockModule('@codebuff/internal/db/schema', () => ({ |
| 50 | user: { |
| 51 | id: 'id', |
| 52 | banned: 'banned', |
| 53 | email: 'email', |
| 54 | name: 'name', |
| 55 | stripe_customer_id: 'stripe_customer_id', |
| 56 | }, |
| 57 | })) |
| 58 | |
| 59 | await mockModule('@codebuff/internal/util/stripe', () => ({ |
| 60 | stripeServer: { |
| 61 | disputes: { |
| 62 | list: mockDisputesList, |
| 63 | }, |
| 64 | }, |
| 65 | })) |
| 66 | |
| 67 | await mockModule('drizzle-orm', () => ({ |
| 68 | eq: mock((a: any, b: any) => ({ column: a, value: b })), |
| 69 | })) |
| 70 | |
| 71 | const banConditionsModule = await import('../ban-conditions') |
| 72 | DISPUTE_THRESHOLD = banConditionsModule.DISPUTE_THRESHOLD |
| 73 | DISPUTE_WINDOW_DAYS = banConditionsModule.DISPUTE_WINDOW_DAYS |
| 74 | banUser = banConditionsModule.banUser |
| 75 | evaluateBanConditions = banConditionsModule.evaluateBanConditions |
| 76 | getUserByStripeCustomerId = banConditionsModule.getUserByStripeCustomerId |
| 77 | } |
| 78 |
no test coverage detected