импортировать { PrismaClient } из '@prisma/client';
экспортировать const prisma = new PrismaClient();
Как вы, возможно, знаете, этот вопрос обсуждался здесь.
В то же время, что вы могли бы сделать, чтобы продолжить свои тесты, - это использовать внедрение зависимостей с имитированным клиентом prisma и переместить строку деконструкции.
const { PrismaClient } = pkg;
туда, где ваш класс или функция использует его внутри if, то есть:
class MyClass {
prisma: Prisma.PrismaClient
def constructor(props) {
if (!props?.prisma) {
const { PrismaClient } = Prisma
this.prisma = new PrismaClient({
log: ['error']
})
} else {
this.prisma = props.prisma
}
}
}
Я знаю, что это не идеально, но, надеюсь, это поможет.
чтобы издеваться над PrismaClient, вы можете издеваться над ним, используя jest-mock-extended вот так
const mockPrisma = mockDeep<OriginalPrismaClient>();