Skip to content

Commit d5dad87

Browse files
committed
feat: format fix
1 parent 7545659 commit d5dad87

File tree

1 file changed

+52
-24
lines changed

1 file changed

+52
-24
lines changed

apps/web/src/server/modules/auth/__tests__/auth.service.spec.ts

Lines changed: 52 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import '../../mail/__mocks__/mail.service'
22

3+
import {
4+
createPkceChallenge,
5+
createPkceVerifier,
6+
} from '~server/modules/auth/auth.pkce'
37
import { resetTables } from '~tests/db/utils'
48
import { add } from 'date-fns/add'
59
import { mock } from 'vitest-mock-extended'
@@ -9,7 +13,6 @@ import { db } from '@acme/db'
913
import * as mailService from '../../mail/mail.service'
1014
import { emailLogin, emailVerifyOtp } from '../auth.service'
1115
import { createAuthToken, createVfnIdentifier } from '../auth.utils'
12-
import { createPkceChallenge, createPkceVerifier } from '~server/modules/auth/auth.pkce';
1316

1417
const mockedMailService = mock(mailService)
1518

@@ -49,7 +52,7 @@ describe('auth.service', () => {
4952
const codeChallenge = 'test-codeChallenge-123'
5053

5154
await emailLogin({ email, codeChallenge: codeChallenge })
52-
55+
5356
await expect(
5457
emailLogin({ email, codeChallenge: codeChallenge }),
5558
).rejects.toThrow('Please refresh and try again.')
@@ -64,8 +67,14 @@ describe('auth.service', () => {
6467
await emailLogin({ email, codeChallenge: codeChallenge2 })
6568

6669
// Should have two records with different codeChallenges
67-
const vfnIdentifier1 = createVfnIdentifier({ email, codeChallenge: codeChallenge1 })
68-
const vfnIdentifier2 = createVfnIdentifier({ email, codeChallenge: codeChallenge2 })
70+
const vfnIdentifier1 = createVfnIdentifier({
71+
email,
72+
codeChallenge: codeChallenge1,
73+
})
74+
const vfnIdentifier2 = createVfnIdentifier({
75+
email,
76+
codeChallenge: codeChallenge2,
77+
})
6978
const token1 = await db.verificationToken.findUnique({
7079
where: { identifier: vfnIdentifier1 },
7180
})
@@ -120,7 +129,9 @@ describe('auth.service', () => {
120129
const codeVerifier = createPkceVerifier()
121130
const token = '123456'
122131

123-
await expect(emailVerifyOtp({ email, token, codeVerifier })).rejects.toThrow()
132+
await expect(
133+
emailVerifyOtp({ email, token, codeVerifier }),
134+
).rejects.toThrow()
124135
})
125136

126137
it('should reject a wrong OTP with wrong codeVerifier', async () => {
@@ -133,11 +144,15 @@ describe('auth.service', () => {
133144
// Create a verification token
134145
await emailLogin({ email, codeChallenge: correctCodeChallenge })
135146

136-
const wrongToken = "WRONG6"
147+
const wrongToken = 'WRONG6'
137148

138149
// Should throw
139150
await expect(
140-
emailVerifyOtp({ email, token: wrongToken, codeVerifier: wrongVerifier }),
151+
emailVerifyOtp({
152+
email,
153+
token: wrongToken,
154+
codeVerifier: wrongVerifier,
155+
}),
141156
).rejects.toThrow()
142157
})
143158

@@ -148,20 +163,25 @@ describe('auth.service', () => {
148163
const wrongToken = 'WRONG6'
149164

150165
await emailLogin({ email, codeChallenge: codeChallenge })
151-
await expect(emailVerifyOtp({ email, token: wrongToken, codeVerifier })).rejects.toThrow(
152-
'Token is invalid or has expired',
153-
)
166+
await expect(
167+
emailVerifyOtp({ email, token: wrongToken, codeVerifier }),
168+
).rejects.toThrow('Token is invalid or has expired')
154169
})
155170

156-
157171
it('should reject an expired OTP with correct codeVerifier', async () => {
158172
const email = '[email protected]'
159173
const codeVerifier = createPkceVerifier()
160174
const codeChallenge = createPkceChallenge(codeVerifier)
161175

162-
const { token, hashedToken } = createAuthToken({ email, codeChallenge: codeChallenge })
176+
const { token, hashedToken } = createAuthToken({
177+
email,
178+
codeChallenge: codeChallenge,
179+
})
163180

164-
const vfnIdentifier = createVfnIdentifier({ email, codeChallenge: codeChallenge })
181+
const vfnIdentifier = createVfnIdentifier({
182+
email,
183+
codeChallenge: codeChallenge,
184+
})
165185
// Create a verification token with an old issuedAt date
166186
const oldDate = add(new Date(), { seconds: -700 }) // 700 seconds ago (beyond 600s expiry)
167187
await db.verificationToken.create({
@@ -172,9 +192,9 @@ describe('auth.service', () => {
172192
},
173193
})
174194

175-
await expect(emailVerifyOtp({ email, token, codeVerifier })).rejects.toThrow(
176-
'Token is invalid or has expired',
177-
)
195+
await expect(
196+
emailVerifyOtp({ email, token, codeVerifier }),
197+
).rejects.toThrow('Token is invalid or has expired')
178198
})
179199

180200
it('should increment attempts on each verification try', async () => {
@@ -187,7 +207,9 @@ describe('auth.service', () => {
187207
const identifier = createVfnIdentifier({ email, codeChallenge })
188208
// Make 2 failed attempts
189209
for (let i = 1; i <= 2; i++) {
190-
await expect(emailVerifyOtp({ email, token: wrongToken, codeVerifier })).rejects.toThrow()
210+
await expect(
211+
emailVerifyOtp({ email, token: wrongToken, codeVerifier }),
212+
).rejects.toThrow()
191213
const verificationToken = await db.verificationToken.findUnique({
192214
where: { identifier },
193215
})
@@ -205,16 +227,17 @@ describe('auth.service', () => {
205227

206228
// Make 5 failed attempts
207229
for (let i = 0; i < 5; i++) {
208-
await expect(emailVerifyOtp({ email, token, codeVerifier })).rejects.toThrow()
230+
await expect(
231+
emailVerifyOtp({ email, token, codeVerifier }),
232+
).rejects.toThrow()
209233
}
210234

211235
// 6th attempt should give TOO_MANY_REQUESTS
212-
await expect(emailVerifyOtp({ email, token, codeVerifier })).rejects.toThrow(
213-
'Wrong OTP was entered too many times',
214-
)
236+
await expect(
237+
emailVerifyOtp({ email, token, codeVerifier }),
238+
).rejects.toThrow('Wrong OTP was entered too many times')
215239
})
216240

217-
218241
it('should delete verification token after successful verification', async () => {
219242
const email = '[email protected]'
220243
const codeVerifier = createPkceVerifier()
@@ -224,7 +247,10 @@ describe('auth.service', () => {
224247
await emailVerifyOtp({ email, token, codeVerifier })
225248

226249
// Token should be deleted
227-
const vfnIdentifier = createVfnIdentifier({ email, codeChallenge: codeChallenge })
250+
const vfnIdentifier = createVfnIdentifier({
251+
email,
252+
codeChallenge: codeChallenge,
253+
})
228254
const verificationToken = await db.verificationToken.findUnique({
229255
where: { identifier: vfnIdentifier },
230256
})
@@ -243,7 +269,9 @@ describe('auth.service', () => {
243269
).resolves.toBeDefined()
244270

245271
// Second verification with same token should fail
246-
await expect(emailVerifyOtp({ email, token, codeVerifier })).rejects.toThrow()
272+
await expect(
273+
emailVerifyOtp({ email, token, codeVerifier }),
274+
).rejects.toThrow()
247275
})
248276
})
249277
})

0 commit comments

Comments
 (0)