• Home
  • About
    • Lajancia Workspace photo

      Lajancia Workspace

      .

    • Learn More
    • Email
    • LinkedIn
    • Instagram
    • Tumblr
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects
  • Record
  • Blender
  • Blockchain

Nest.js - 6

10 Aug 2022

Reading time ~1 minute

6. nest.js


delete API test

describe("deleteOne", () => {
    it("delets a movie", () => {
      service.create({
        title: 'Test Movie',
        genres: ['test'],
        year: 200,
      });
      console.log(service.getAll)
      const allMovies = service.getAll();
      service.deleteOne(1)
      const afterDelete = service.getAll();

      expect(afterDelete.length).toBeLessT(allMovies.length - 1);
    })
  })
  • 테스트를 위해 임시로 영화 데이터를 넣는다.
  • 성공할 경우 deletes a movie를 출력한다.
it("it should return a 404", () => {
      try {
        service.deleteOne(999);

      }catch (e) {
        expect(e).toBeInstanceOf(NotFoundException)

      }
    })
  • 존재하지 않는 id를 삭제할 경우 404를 리턴하는지도 확인할 수 있다.

Create 테스트

describe("create", () => {
    it("should create a movie", () => {
      const beforeCreate = service.getAll().length
      service.create({
        title: 'Test Movie',
        genres: ['test'],
        year: 2000,
      });
      const afterCreate = service.getAll().length;
      console.log(beforeCreate,afterCreate)
      expect(afterCreate).toBeGreaterThan(beforeCreate)
    })
  })

제대로 데이터가 생성되었는지 테스트하기

update 테스트

describe("update", () => {
    it("should updata a movie", () => {
      service.create({
        title: 'Test Movie',
        genres: ['test'],
        year: 2000,
      });
      service.update(1, { title: "Updated Test" });
      const movie = service.getOne(1);
      expect(movie.title).toEqual('Updated Test')
    })
  })
   it("it should throw a Not Found Exception", () => {
      try {
        service.update(999, {});

      }catch (e) {
        expect(e).toBeInstanceOf(NotFoundException)

      }
    })

데이터가 제대로 변경되었는지 확인하기 위한 테스트

spec.ts 는 모두 유닛 테스트를 위한 것이다.



studyNest.jstypescript Share Tweet +1