알고리즘

종만북

  • 7.4 - 울타리 잘라내기(풀다 말았음. 내일 다시 풀 것)

Jest & Mongoose

  • 기본적인 테스트는 아래와 같이 진행한다.

    describe('test', () => {
      // done을 매개변수로 받으면
      // done을 명시적으로 호출할 때까지 종료가 안됨!
      beforeEach(async () => {
          await mongoose.connect(url)
              .then(async () => {
                  const collections = await mongoose.connection.db.collections()
    
                  for (let collection of collections) {
                      await collection.deleteMany({})
                  }
              })
      })
    
      afterEach(async () => {
          await mongoose.disconnect()
      })
    
      it('test', async () => {
          const models = [
              { /* ... */ },
              { /* ... */ },
              { /* ... */ },
          ]
    
          await SomeModel.insertMany(models)
    
          const repo = new MyRepository()
    
          await repo.some()
              .then(res => {
                  expect(res).toHaveLength(models.length)
    
                  res.forEach(o => {
                      expect(o).toEqual(
                          expect.objectContaining({
                              // ...
                          })
                      )
                  })
        })
      })
    })

    삽질의 추억

  • mongooseSchema에 없는 필드는 데이터가 저장이 되지 않는다.