Jest ignore __mocks__ временно для одного метода модульного тестирования - PullRequest
0 голосов
/ 19 июня 2020

Мне интересно, есть ли способ для одного временного метода модульного теста, который я могу отключить фиктивный экземпляр в __mocks__? Потому что, что бы я ни делал, мой код все еще использует фиктивный экземпляр в __mocks__. Я благодарен за любую помощь или подсказку.

Это мой __mocks__/moment.js файл

const moment = jest.requireActual('moment');
moment.now = () => +new Date('2020-05-10 05:12:00 PM -0600');
module.exports = moment;

Мой модульный тест:

it('test foo', () => {
  jest.doMock('moment-timezone', () => {
    moment.tz.setDefault('Europe/Stockholm');

    return moment;
  });

  const { foo }  = require('../utils');

  const result = foo(7);

  expect(result).not.toBe(null);
});

Код, который я пытаюсь проверить:

import moment from 'moment-timezone';


export const scheduleSpan = (hour) => {
  const centralTimeStartOfDay = moment.tz('America/Chicago').startOf('day');
  return centralTimeStartOfDay
    .hour(hour)
    .local()
    .hour();
}
...