Frontend/E2E

[초기설정] 테스트가 끝난 후 데이터베이스 내용 drop하기

wam 2024. 7. 15. 19:29

 

참고

  • TypeORM 0.3.0 부터 Connection이 deprecated되고 DataSource 써야한다.

 

test/user.e2e-spec.ts

import { INestApplication } from "@nestjs/common";
import { Test, TestingModule } from "@nestjs/testing";
import { DataSource, getConnection } from "typeorm";
import { AppModule } from "../src/app.module";

describe("UserModule (e2e)", () => {
  let app: INestApplication;
  let dataSource: DataSource;

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

    app = module.createNestApplication();
    await app.init();

    dataSource = module.get(DataSource); // AppModule에서 DataSource 인스턴스를 가져오기
  });

  afterAll(async () => {
    await dataSource.dropDatabase(); // 데이터베이스 삭제
    await dataSource.destroy(); // 연결 해제
    await app.close();
  });

  it.todo("createAccount");
  it.todo("login");
  it.todo("userProfile");
  it.todo("me");
  it.todo("editProfile");
  it.todo("verifyEmail");
});

test가 시작되면 데이터베이스는 마이그레이션이되고 테스트 후에 모든 내용 지우기