Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import * as StoreService from '/service/StoreService'
  2. import TableNumberRepository from '/repository/TableNumberRepository'
  3. import db from '/repository/db'
  4.  
  5. jest.mock('/repository/TableNumberRepository')
  6. jest.mock('/repository/db')
  7.  
  8. it('updateTableNumbers', async () => {
  9.   const storeId = 'aaaaaaaaaaaaaa'                    // Input argument
  10.   const data = ["BbbbbBBBBbbbbbbbbB","A3","HiHi"]     // Input argument
  11.  
  12.  
  13.   // Define db.transaction() because it mocked
  14.   db.transaction.mockImplementation(async trx => {
  15.     await TableNumberRepository.delete({ storeId }).transacting(trx)
  16.     await Promise.all(data.map((tableNumber, i) => {
  17.       return TableNumberRepository.save({ tableNumber, storeId, tableNumberOrder: i }).transacting(trx)
  18.     }))
  19.   })
  20.  
  21.  
  22.   let returnValue = await StoreService.updateTableNumbers(storeId, data)
  23.  
  24.   expect(db.transaction.mock.calls.length).toBe(1)
  25.   expect(TableNumberRepository.delete.mock.calls.length).toBe(1)
  26.   expect(TableNumberRepository.save.mock.calls.length).toBe(1)
  27.   expect(returnValue).toEqual(true)    // Target return
  28. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement