无法使用gql连接到数据库Nest js e2e测试

时间:2020-09-03 04:02:34

标签: node.js testing graphql nestjs

我有一个问题。现在正在开发gql +测试e2e(对于测试e2e来说我是一个新手)如何测试创建mutaion

这是我的类别Product.e2e-spec.ts

describe('AppController (e2e)', () => {
  let app: INestApplication
  let apolloClient: ApolloServerTestClient

  beforeEach(async () => {
    const moduleFixture: TestingModule = await Test.createTestingModule({
      imports: [AppModule],
    }).compile()

    app = moduleFixture.createNestApplication()
    await app.init()

    const module: GraphQLModule = moduleFixture.get<GraphQLModule>(
      GraphQLModule,
    )
    // apolloServer is protected, we need to cast module to any to get it
    apolloClient = createTestClient((module as any).apolloServer)
  })

  const createCategoryProductObject = {
    name: 'testData',
  }
  const createCategoryProductQuery = `mutation {
    createCategoryProduct(input: ${createCategoryProductObject}) {
      name
    }
  }`

  it('getAllCategoryProduct', async () => {
    const { query } = apolloClient
    const result: any = await query({
      query: gql`
        query {
          getAllCategoryProduct {
            name
            id
          }
        }
      `,
    })
    console.log(result)
    expect(result)
  })
  it('createCategoryProduct', async () => {
    const { mutate } = apolloClient
    const result: any = await mutate({
      mutation: gql`
        ${createCategoryProductQuery}
      `,
    })
    expect(result)
  })
})
})

如您在我的getAllCategoryProduct我console.log(result)中看到的那样,我得到了正确的结果,并且一切正常,但是在createCategoryProduct中,我得到了一个错误

Unable to connect to the database. Retrying (1)...
AlreadyHasActiveConnectionError: Cannot create a new connection named "default", because connection with such name already exist and it now has an active connection session.

不确定为什么无法连接数据库

0 个答案:

没有答案