testning - Typescript/Hur förväntar man sig ett fast datum?


Jag försöker för närvarande testa ett fast datum. Hur kan jag anpassa min kod så att jag returnerar ett fast datum:

it.('reports fix date', async () => {

  aService.returnValue = [{ 
     activeFrom: '2020-04-19T10:01:58.135Z'
  }];

const somethingSpy = jest.spyOn(PubSub, 'topic');

await service.report([ 
 {
  activeFrom: addDays(new Date(), 30),
 }
]},
expect(somethingSpy).toHaveBeenCalledWith(

  expect.objectContaining({ 
      activeFrom: '2020-04-19T10:01:58.135Z'
  })    
)

Svar #1

Jag skulle rekommendera att använda ett bibliotek som MockDate för att skriva över new Date()-konstruktorn och ersätta den med ett fast värde.

MockDate.set('2000-11-22');

new Date().toString() // "Tue Nov 21 2000 18:00:00 GMT-0600 (CST)"