Search code examples
javascriptnestjsnest

Error importing PrismaClient in code compiled from typescript :: export 'PrismaClient' not found


import { PrismaClient } from '@prisma/client';

export const prisma = new PrismaClient();


Solution

  • As you may know this issue was being worked on here.

    In the mean time what you could do to proceed with your tests is to use dependency injection with a mocked prisma client and to move the deconstruction line

    const { PrismaClient } = pkg;
    

    to where your class or function uses it inside an if, i.e:

    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
        }
      }
    }

    I know its not ideal but hopefully this does the trick.

    to mock the PrismaClient you could mock it using jest-mock-extended like so

    const mockPrisma = mockDeep<OriginalPrismaClient>();