Skip to content

Commit

Permalink
test(client): wrong error for multiple queries in tx #15433
Browse files Browse the repository at this point in the history
  • Loading branch information
millsp committed Oct 20, 2022
1 parent f176d1d commit ced3000
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 1 deletion.
5 changes: 4 additions & 1 deletion packages/client/src/runtime/DataLoader.ts
Expand Up @@ -70,12 +70,14 @@ export class DataLoader<T = unknown> {
.then((results) => {
if (results instanceof Error) {
for (let i = 0; i < batch.length; i++) {
batch[i].reject(results)
console.log('HMMM')
batch[i].reject(results[i])
}
} else {
for (let i = 0; i < batch.length; i++) {
const value = results[i]
if (value instanceof Error) {
console.log('LEL')
batch[i].reject(value)
} else {
batch[i].resolve(value)
Expand All @@ -84,6 +86,7 @@ export class DataLoader<T = unknown> {
}
})
.catch((e) => {
console.log('LOLOL')
for (let i = 0; i < batch.length; i++) {
batch[i].reject(e)
}
Expand Down
@@ -0,0 +1,9 @@
import { defineMatrix } from '../../_utils/defineMatrix'

export default defineMatrix(() => [
[
{
provider: 'sqlite',
},
],
])
@@ -0,0 +1,20 @@
import { idForProvider } from '../../../_utils/idForProvider'
import testMatrix from '../_matrix'

export default testMatrix.setupSchema(({ provider }) => {
return /* Prisma */ `
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "${provider}"
url = env("DATABASE_URI_${provider}")
}
model User {
id ${idForProvider(provider)}
email String @unique
}
`
})
@@ -0,0 +1,24 @@
import testMatrix from './_matrix'
// @ts-ignore
import type { PrismaClient } from './node_modules/@prisma/client'

declare let prisma: PrismaClient

testMatrix.setupTestSuite(
(suiteConfig, suiteMeta) => {
test('example', async () => {
await prisma.$transaction([
prisma.user.create({ data: { email: 'john1@doe.io' } }),
prisma.user.create({ data: { email: 'john2@doe.io' } }),
prisma.user.create({ data: { email: 'john3@doe.io' } }),
prisma.user.create({ data: { email: 'john1@doe.io' } }),
])
})
},
{
optOut: {
from: ['postgresql', 'mysql', 'mongodb', 'cockroachdb', 'sqlserver'],
reason: 'this is something that is handled by the client',
},
},
)

0 comments on commit ced3000

Please sign in to comment.