/
test.ts
58 lines (46 loc) · 2.08 KB
/
test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import { generateTestClient } from '../../../../utils/getTestClient'
import fs from 'fs'
import path from 'path'
import { getPlatform } from '@prisma/get-platform'
test('missing-binary', async () => {
expect.assertions(1)
await generateTestClient()
const { PrismaClient } = require('./node_modules/@prisma/client')
const platform = await getPlatform()
const binaryPath = path.join(
__dirname,
'node_modules/.prisma/client',
`query-engine-${platform}`,
)
fs.unlinkSync(binaryPath)
const prisma = new PrismaClient({
log: [
{
emit: 'event',
level: 'query',
},
],
})
await expect(async () => {
await prisma.user.findMany()
}).rejects.toThrowErrorMatchingInlineSnapshot(`
Invalid \`prisma.user.findMany()\` invocation in
/client/src/__tests__/integration/errors/missing-binary/test.ts:29:23
Query engine binary for current platform "TEST_PLATFORM" could not be found.
This probably happens, because you built Prisma Client on a different platform.
(Prisma Client looked in "/client/src/__tests__/integration/errors/missing-binary/node_modules/@prisma/client/runtime/query-engine-TEST_PLATFORM")
Searched Locations:
/client/src/__tests__/integration/errors/missing-binary/node_modules/.prisma/client
/client/src/__tests__/integration/errors/missing-binary/node_modules/@prisma/client/runtime
/client/src/__tests__/integration/errors/missing-binary/node_modules/@prisma/client
/client/src/__tests__/integration/errors/missing-binary/node_modules/.prisma/client
/client/src/__tests__/integration/errors/missing-binary
To solve this problem, add the platform "TEST_PLATFORM" to the "generator" block in the "schema.prisma" file:
generator client {
provider = "prisma-client-js"
binaryTargets = ["native"]
}
Then run "prisma generate" for your changes to take effect.
Read more about deploying Prisma Client: https://pris.ly/d/client-generator
`)
})