jest-dynamodb icon indicating copy to clipboard operation
jest-dynamodb copied to clipboard

You are trying to `import` a file after the Jest environment has been torn down

Open myfreax opened this issue 3 years ago • 1 comments

➜  aws-lambda-graphql git:(dev) ✗ node '/home/myfreax/work/aws-lambda-graphql/node_modules/.bin/jest' '/home/myfreax/work/aws-lambda-graphql/src/users/users.service.spec.ts' -t 'UsersService should be defined' --detectOpenHandles
 PASS  src/users/users.service.spec.ts (6.155 s)
  UsersService
    ✓ should be defined (1 ms)
    ○ skipped should be create user
    ○ skipped should be update user
    ○ skipped should be only update user phone
    ○ skipped should be only update user password
    ○ skipped should be find one user
    ○ skipped should be find all user

  console.info
    http://localhost:8000

      at initialization (../node_modules/nestjs-dynamoose/dist/dynamoose-core.module.js:34:21)

Test Suites: 1 passed, 1 total
Tests:       6 skipped, 1 passed, 7 total
Snapshots:   0 total
Time:        6.191 s, estimated 7 s
Ran all test suites matching /\/home\/myfreax\/work\/aws-lambda-graphql\/src\/users\/users.service.spec.ts/i with tests matching "UsersService should be defined".

ReferenceError: You are trying to `import` a file after the Jest environment has been torn down.

      at Object.userAgent (../node_modules/aws-sdk/lib/util.js:34:43)
      at HttpRequest.setUserAgent (../node_modules/aws-sdk/lib/http.js:111:78)
      at new HttpRequest (../node_modules/aws-sdk/lib/http.js:104:10)
      at new Request (../node_modules/aws-sdk/lib/request.js:328:24)
      at features.constructor.makeRequest (../node_modules/aws-sdk/lib/service.js:202:19)

test.ts

import { Test, TestingModule } from '@nestjs/testing';
import { DynamooseModule } from 'nestjs-dynamoose';
import { CreateUserInput } from './dto/create-user.input';
import { UpdateUserInput } from './dto/update-user.input';
import { User } from './entities/user.entity';
import { userSchema } from './models/schema';
import { UsersService } from './users.service';
describe('UsersService', () => {
  let service: UsersService;
  let user: User;

  beforeAll(async () => {
    const module: TestingModule = await Test.createTestingModule({
      providers: [UsersService],
      imports: [
        DynamooseModule.forRoot({
          local: 'http://localhost:8000',
          aws: { region: 'ap-east-1' },
          model: {
            update: true,
            create: true,
            prefix: `test-`,
            suffix: '-table',
          },
        }),
        DynamooseModule.forFeature([{ name: 'user', schema: userSchema }]),
      ],
    }).compile();
    service = module.get<UsersService>(UsersService);
  });

  // afterEach(async () => {
  //   if (user && user.id) {
  //     await service.remove({ id: user.id });
  //   }
  // });

  it('should be defined', () => {
    expect(service).toBeDefined();
  });
})

Have not any error throw when preset start Dynamodb with docker.

docker run -itd -p 8000:8000 --name dynamodb amazon/dynamodb-local:latest

myfreax avatar May 21 '21 06:05 myfreax

I'm having the same problem Any thoughts on this?

danielfarah54 avatar Sep 13 '22 16:09 danielfarah54