Skip to content

Commit e80bd23

Browse files
committed
refactor: update reward amounts to use stroops and improve database cleanup in tests
1 parent 960d1a9 commit e80bd23

5 files changed

Lines changed: 9 additions & 18 deletions

File tree

tests/data-export.service.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ function mockUserData() {
8181
vi.mocked(prisma.transaction.findMany).mockResolvedValue([
8282
{
8383
id: 't1',
84-
amount: 10,
84+
amountStroops: 100_000_000n,
8585
type: 'reward',
8686
status: 'completed',
8787
createdAt: new Date(),

tests/integration/isolation.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ describe.runIf(dbAvailable)('Database isolation', () => {
4848
expect(user.username).toBe(userData.username)
4949
expect(user.role).toBe('LEARNER')
5050

51-
await prisma!.user.delete({ where: { id: user.id } })
51+
await prisma!.user.deleteMany({ where: { id: user.id } })
5252
})
5353

5454
it('factory creates a persisted user', async () => {
5555
const user = await createUser(prisma!)
5656
expect(user.id).toBeDefined()
5757
expect(user.email).toMatch(/^test_.+@example\.com$/)
5858

59-
await prisma!.user.delete({ where: { id: user.id } })
59+
await prisma!.user.deleteMany({ where: { id: user.id } })
6060
})
6161

6262
it('does not leak records across test cases', async () => {

tests/referral.controller.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,13 +193,13 @@ describe('ReferralController', () => {
193193
{
194194
id: 'ref-1',
195195
bonusPaid: true,
196-
bonusAmount: 5.0,
196+
bonusAmountStroops: 50_000_000n,
197197
referree: { completions: [{ id: 'c-1' }] },
198198
},
199199
{
200200
id: 'ref-2',
201201
bonusPaid: false,
202-
bonusAmount: null,
202+
bonusAmountStroops: null,
203203
referree: { completions: [] },
204204
},
205205
] as any)
@@ -214,7 +214,7 @@ describe('ReferralController', () => {
214214
data: expect.objectContaining({
215215
totalReferrals: 2,
216216
activeReferrals: 1,
217-
earnedBonuses: 5.0,
217+
earnedBonuses: '5.0000000',
218218
}),
219219
}),
220220
)

tests/setup.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,8 @@ try {
1212
const dbUrl = validateTestDatabaseUrl()
1313
const schemaName = getWorkerSchemaName()
1414

15-
createWorkerSchema(dbUrl, schemaName)
16-
.then(() => {
17-
process.env.DATABASE_URL = buildWorkerDatabaseUrl(dbUrl, schemaName)
18-
})
19-
.catch((err) => {
20-
console.warn(
21-
'[setup] Could not create worker schema. ' +
22-
'Integration tests requiring a database will fail. ' +
23-
`Error: ${(err as Error).message}`,
24-
)
25-
})
15+
await createWorkerSchema(dbUrl, schemaName)
16+
process.env.DATABASE_URL = buildWorkerDatabaseUrl(dbUrl, schemaName)
2617
} catch (err) {
2718
console.warn(
2819
'[setup] Database URL validation failed. ' +

tests/unit/credential.controller.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ describe('CredentialController', () => {
235235
description: 'Learn JS fundamentals',
236236
category: 'Programming',
237237
difficulty: 'easy',
238-
reward: 100,
238+
rewardStroops: 1_000_000_000n,
239239
},
240240
}
241241

0 commit comments

Comments
 (0)