Skip to content

Commit 4ff836a

Browse files
committed
test(providers): add fetch polyfill to redis test runs
1 parent 042955e commit 4ff836a

File tree

3 files changed

+41
-36
lines changed

3 files changed

+41
-36
lines changed

packages/adapter-upstash-redis/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
"@types/uuid": "^8.3.3",
4040
"@upstash/redis": "^1.0.1",
4141
"dotenv": "^10.0.0",
42+
"isomorphic-fetch": "3.0.0",
4243
"jest": "^27.4.3",
4344
"next-auth": "workspace:*"
4445
},
Lines changed: 38 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import "isomorphic-fetch"
12
import { Redis } from "@upstash/redis"
23
import { runBasicTests } from "@next-auth/adapter-test"
34
import { hydrateDates, UpstashRedisAdapter } from "../src"
@@ -7,41 +8,42 @@ if (!process.env.UPSTASH_REDIS_URL || !process.env.UPSTASH_REDIS_KEY) {
78
test("Skipping UpstashRedisAdapter tests, since required environment variables aren't available", () => {
89
expect(true).toBe(true)
910
})
10-
} else {
11-
const client = new Redis({
12-
url: process.env.UPSTASH_REDIS_URL,
13-
token: process.env.UPSTASH_REDIS_KEY,
14-
})
11+
process.exit(0)
12+
}
1513

16-
runBasicTests({
17-
adapter: UpstashRedisAdapter(client, { baseKeyPrefix: "testApp:" }),
18-
db: {
19-
async user(id: string) {
20-
const data = await client.get<object>(`testApp:user:${id}`)
21-
if (!data) return null
22-
return hydrateDates(data)
23-
},
24-
async account({ provider, providerAccountId }) {
25-
const data = await client.get<object>(
26-
`testApp:user:account:${provider}:${providerAccountId}`
27-
)
28-
if (!data) return null
29-
return hydrateDates(data)
30-
},
31-
async session(sessionToken) {
32-
const data = await client.get<object>(
33-
`testApp:user:session:${sessionToken}`
34-
)
35-
if (!data) return null
36-
return hydrateDates(data)
37-
},
38-
async verificationToken(where) {
39-
const data = await client.get<object>(
40-
`testApp:user:token:${where.identifier}`
41-
)
42-
if (!data) return null
43-
return hydrateDates(data)
44-
},
14+
const client = new Redis({
15+
url: process.env.UPSTASH_REDIS_URL,
16+
token: process.env.UPSTASH_REDIS_KEY,
17+
})
18+
19+
runBasicTests({
20+
adapter: UpstashRedisAdapter(client, { baseKeyPrefix: "testApp:" }),
21+
db: {
22+
async user(id: string) {
23+
const data = await client.get<object>(`testApp:user:${id}`)
24+
if (!data) return null
25+
return hydrateDates(data)
4526
},
46-
})
47-
}
27+
async account({ provider, providerAccountId }) {
28+
const data = await client.get<object>(
29+
`testApp:user:account:${provider}:${providerAccountId}`
30+
)
31+
if (!data) return null
32+
return hydrateDates(data)
33+
},
34+
async session(sessionToken) {
35+
const data = await client.get<object>(
36+
`testApp:user:session:${sessionToken}`
37+
)
38+
if (!data) return null
39+
return hydrateDates(data)
40+
},
41+
async verificationToken(where) {
42+
const data = await client.get<object>(
43+
`testApp:user:token:${where.identifier}`
44+
)
45+
if (!data) return null
46+
return hydrateDates(data)
47+
},
48+
},
49+
})

pnpm-lock.yaml

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)