alpha-version-dce-check-in-ui
Version:
UI for taking attendance and checking people in.
59 lines (51 loc) • 1.16 kB
text/typescript
// Import helpers
import dateToDescription from './dateToDescription';
import getTimeInfoInET from '../../../shared/helpers/getTimeInfoInET';
// Import types
import { MMDDYY } from '../../../shared/types';
// Mock getTimeInfoET
jest.mock('../../../shared/helpers/getTimeInfoInET');
// Data
const CURRENT_DAY: ReturnType<typeof getTimeInfoInET> = {
timestamp: 0,
year: 2024,
month: 4,
day: 4,
hour: 11,
hour12: 11,
minute: 11,
isPM: false,
};
const DAYS: MMDDYY[] = [
// April 3rd - should display as 'Wednesday (Apr 3rd)'
{
month: 4,
day: 3,
year: 2024,
},
{
month: 3,
day: 29,
year: 2024,
},
{
month: 3,
day: 22,
year: 2024,
},
];
const EXPECTED_DESCRIPTIONS = [
'Wednesday (Apr 3rd)',
'Last Friday (Mar 29th)',
'Mar 22nd',
];
test(
'dateToDescription: ensure proper conversions',
() => {
const mockGetTimeInfoInET = getTimeInfoInET as jest.MockedFunction<typeof getTimeInfoInET>;
mockGetTimeInfoInET.mockImplementation(() => CURRENT_DAY);
DAYS.forEach((day, index) => {
expect(dateToDescription(day)).toBe(EXPECTED_DESCRIPTIONS[index]);
})
},
);