Skip to content

Commit ace1582

Browse files
authored
chore(prisma): Improve prisma test execution time (#7953)
1 parent 6b9731f commit ace1582

7 files changed

Lines changed: 20 additions & 12 deletions

File tree

packages/datadog-plugin-prisma/test/index.spec.js

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -326,16 +326,23 @@ describe('Plugin', () => {
326326
supportedRange = '>=6.16.0 <7.0.0'
327327
}
328328
withVersions('prisma', ['@prisma/client'], supportedRange, async (range, _moduleName_, version) => {
329+
// Run prisma generate once per (config, version) pair instead of once per describe block.
330+
// All three describe blocks below use the same schema + version, so the output is identical.
331+
before(async function () {
332+
this.timeout(10000)
333+
clearPrismaEnv()
334+
setPrismaEnv(config)
335+
const cwd = await copySchemaToVersionDir(config.schema, range)
336+
execPrismaGenerate(config, cwd)
337+
})
338+
329339
describe(`without configuration ${config.schema}`, () => {
330340
before(async function () {
331341
this.timeout(10000)
332342
clearPrismaEnv()
333343
setPrismaEnv(config)
334344

335-
const cwd = await copySchemaToVersionDir(config.schema, range)
336-
337345
await agent.load(['prisma', 'pg'])
338-
execPrismaGenerate(config, cwd)
339346
prisma = loadPrismaModule(config, range)
340347

341348
prismaClient = createPrismaClient(prisma, config)
@@ -514,10 +521,6 @@ describe('Plugin', () => {
514521
clearPrismaEnv()
515522
setPrismaEnv(config)
516523

517-
const cwd = await copySchemaToVersionDir(config.schema, range)
518-
519-
execPrismaGenerate(config, cwd)
520-
521524
require('../../dd-trace')
522525

523526
prisma = loadPrismaModule(config, range)
@@ -537,10 +540,6 @@ describe('Plugin', () => {
537540
clearPrismaEnv()
538541
setPrismaEnv(config)
539542

540-
const cwd = await copySchemaToVersionDir(config.schema, range)
541-
542-
execPrismaGenerate(config, cwd)
543-
544543
const pluginConfig = {
545544
service: 'custom',
546545
}

packages/datadog-plugin-prisma/test/integration-test/client.spec.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,6 @@ describe('esm', () => {
207207
let agent
208208
let proc
209209
prismaClientConfigs.forEach(config => {
210-
// if (!config.name.includes('prisma-generator v7 mssql adapter (url)')) return
211210
describe(config.name, () => {
212211
const isNodeSupported = semifies(semver.clean(process.version), '>=20.19.0')
213212
const isPrismaV7 = config.configFile

packages/datadog-plugin-prisma/test/integration-test/server-output.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@ await prismaClient.user.findUnique({
1414
id: user.id,
1515
},
1616
})
17+
18+
await prismaClient.$disconnect()

packages/datadog-plugin-prisma/test/integration-test/server-ts-v6.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@ await prismaClient.user.findUnique({
1515
id: user.id,
1616
},
1717
})
18+
19+
await prismaClient.$disconnect()

packages/datadog-plugin-prisma/test/integration-test/server-ts-v7-mssql.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,5 @@ await prismaClient.user.findUnique({
3131
id: user.id,
3232
},
3333
})
34+
35+
await prismaClient.$disconnect()

packages/datadog-plugin-prisma/test/integration-test/server-ts-v7.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,5 @@ await prismaClient.user.findUnique({
2525
id: user.id,
2626
},
2727
})
28+
29+
await prismaClient.$disconnect()

packages/datadog-plugin-prisma/test/integration-test/server.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@ await prismaClient.user.findUnique({
1414
id: user.id,
1515
},
1616
})
17+
18+
await prismaClient.$disconnect()

0 commit comments

Comments
 (0)