Skip to content

Commit

Permalink
test(providers): add fetch polyfill to redis test runs
Browse files Browse the repository at this point in the history
  • Loading branch information
balazsorban44 committed Jul 16, 2022
1 parent 042955e commit 4ff836a
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 36 deletions.
1 change: 1 addition & 0 deletions packages/adapter-upstash-redis/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
"@types/uuid": "^8.3.3",
"@upstash/redis": "^1.0.1",
"dotenv": "^10.0.0",
"isomorphic-fetch": "3.0.0",
"jest": "^27.4.3",
"next-auth": "workspace:*"
},
Expand Down
74 changes: 38 additions & 36 deletions packages/adapter-upstash-redis/tests/index.test.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import "isomorphic-fetch"
import { Redis } from "@upstash/redis"
import { runBasicTests } from "@next-auth/adapter-test"
import { hydrateDates, UpstashRedisAdapter } from "../src"
Expand All @@ -7,41 +8,42 @@ if (!process.env.UPSTASH_REDIS_URL || !process.env.UPSTASH_REDIS_KEY) {
test("Skipping UpstashRedisAdapter tests, since required environment variables aren't available", () => {
expect(true).toBe(true)
})
} else {
const client = new Redis({
url: process.env.UPSTASH_REDIS_URL,
token: process.env.UPSTASH_REDIS_KEY,
})
process.exit(0)
}

runBasicTests({
adapter: UpstashRedisAdapter(client, { baseKeyPrefix: "testApp:" }),
db: {
async user(id: string) {
const data = await client.get<object>(`testApp:user:${id}`)
if (!data) return null
return hydrateDates(data)
},
async account({ provider, providerAccountId }) {
const data = await client.get<object>(
`testApp:user:account:${provider}:${providerAccountId}`
)
if (!data) return null
return hydrateDates(data)
},
async session(sessionToken) {
const data = await client.get<object>(
`testApp:user:session:${sessionToken}`
)
if (!data) return null
return hydrateDates(data)
},
async verificationToken(where) {
const data = await client.get<object>(
`testApp:user:token:${where.identifier}`
)
if (!data) return null
return hydrateDates(data)
},
const client = new Redis({
url: process.env.UPSTASH_REDIS_URL,
token: process.env.UPSTASH_REDIS_KEY,
})

runBasicTests({
adapter: UpstashRedisAdapter(client, { baseKeyPrefix: "testApp:" }),
db: {
async user(id: string) {
const data = await client.get<object>(`testApp:user:${id}`)
if (!data) return null
return hydrateDates(data)
},
})
}
async account({ provider, providerAccountId }) {
const data = await client.get<object>(
`testApp:user:account:${provider}:${providerAccountId}`
)
if (!data) return null
return hydrateDates(data)
},
async session(sessionToken) {
const data = await client.get<object>(
`testApp:user:session:${sessionToken}`
)
if (!data) return null
return hydrateDates(data)
},
async verificationToken(where) {
const data = await client.get<object>(
`testApp:user:token:${where.identifier}`
)
if (!data) return null
return hydrateDates(data)
},
},
})
2 changes: 2 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 4ff836a

Please sign in to comment.