All files / client/src/utils getTimeNow.ts

100% Statements 9/9
100% Branches 4/4
100% Functions 3/3
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23          358x 6531x       6528x 6528x     3x       358x 1615x 448x    
import dayjs, { Dayjs } from "dayjs";
import { config } from "shared/config";
import { store } from "client/utils/store";
import { useAppSelector } from "client/utils/hooks";
 
export const getTimeNow = (): Dayjs => {
  if (
    config.client().loadedSettings !== "production" &&
    config.client().showTestValues
  ) {
    const testTime = store.getState().testSettings.testTime;
    return dayjs(testTime);
  }
 
  return dayjs();
};
 
// Reactive getTimeNow: re-renders the component when the mocked test time changes
export const useTimeNow = (): Dayjs => {
  useAppSelector((state) => state.testSettings.testTime);
  return getTimeNow();
};