Я использую Момент. js, чтобы попытаться выяснить, находится ли пользователь в течение часа с запланированного времени отправления. Если они есть, кнопка в пользовательском интерфейсе включена, позволяя им начать свой уход. Так, например, если они должны были уйти в 15:00, то им не следует позволять нажимать кнопку до 13:59, но в 2:00 они должны.
В настоящее время я ' используя для своей функции следующее:
const calculateTime = (depTime: string) => {
const currentTime = moment();
const hourBeforeDepartue = moment(depTime).subtract(1, 'hour');
const isWithinHour = currentTime.isBetween(hourBeforeDepartue, depTime);
return isWithinHour;
};
Проблема здесь в том, что моя функция возвращает false, когда я тестирую ее с помощью jest:
import { calculateTime } from './calculateTime';
import moment from 'moment';
describe('Function that determines if the time is within departure range', () => {
it('Is in the hour of departure', () => {
const oneHourFromNow = moment()
.add(1, 'hour')
.format('H:H');
console.log(oneHourFromNow);
const response = calculateTime(oneHourFromNow);
expect(response).toBe(true);
});
});
Я не уверен, почему это возвращая ложь, и я не знаю лучшего способа сделать это. Любая помощь будет оценена!