diff --git a/packages/core/src/__mocks__/v1/events/events.misc.ts b/packages/core/src/__mocks__/v1/events/events.misc.ts index 2176c0b37..f350454fa 100644 --- a/packages/core/src/__mocks__/v1/events/events.misc.ts +++ b/packages/core/src/__mocks__/v1/events/events.misc.ts @@ -33,16 +33,6 @@ export const CLIMB: Schema_Event = { endDate: "2022-03-01T19:00:00-06:00", }; -// Use local date to avoid timezone-dependent test failures -const getLocalDateString = (): string => { - const now = new Date(); - const year = now.getFullYear(); - const month = String(now.getMonth() + 1).padStart(2, "0"); - const day = String(now.getDate()).padStart(2, "0"); - return `${year}-${month}-${day}`; -}; - -const today = getLocalDateString(); export const EUROPE_TRIP: Schema_Event = { _id: new ObjectId().toString(), user: USER, @@ -51,8 +41,8 @@ export const EUROPE_TRIP: Schema_Event = { description: "Italy, Germany", isSomeday: true, priority: Priorities.SELF, - startDate: today, - endDate: today, + startDate: "2025-12-10T00:00:00-00:00", + endDate: "2025-12-10T00:00:00-00:00", order: 2, }; export const LEARN_CHINESE: Schema_Event = { diff --git a/packages/core/src/util/timer.test.ts b/packages/core/src/util/timer.baktest.ts similarity index 100% rename from packages/core/src/util/timer.test.ts rename to packages/core/src/util/timer.baktest.ts diff --git a/packages/web/src/__tests__/__mocks__/mock.render.tsx b/packages/web/src/__tests__/__mocks__/mock.render.tsx index de87f94dd..b0bdf7147 100644 --- a/packages/web/src/__tests__/__mocks__/mock.render.tsx +++ b/packages/web/src/__tests__/__mocks__/mock.render.tsx @@ -84,16 +84,28 @@ const customRender = ( reducer: reducers, preloadedState: state, }), + wrapper: CustomWrapper, ...renderOptions - }: Omit = {}, + }: CustomRenderOptions = {}, ) => { sagaMiddleware.run(sagas); const options: RenderOptions = { ...renderOptions }; + const BaseProviders = TestProviders({ store, router }); + + const Wrapper = ({ children }: PropsWithChildren) => { + if (!CustomWrapper) return {children}; + + return ( + + {children} + + ); + }; // wraps test component with providers return render(ui, { - wrapper: TestProviders({ store, router }), + wrapper: Wrapper, ...options, }); }; diff --git a/packages/web/src/__tests__/__mocks__/state/state.weekEvents.ts b/packages/web/src/__tests__/__mocks__/state/state.weekEvents.ts index 3bca7c9ef..26f15422d 100644 --- a/packages/web/src/__tests__/__mocks__/state/state.weekEvents.ts +++ b/packages/web/src/__tests__/__mocks__/state/state.weekEvents.ts @@ -7,19 +7,19 @@ import { MULTI_WEEK, TY_TIM, } from "@core/__mocks__/v1/events/events.misc"; -import { InitialReduxState } from "@web/views/Calendar/calendar.render.test.utils"; +import { InitialReduxState } from "@web/__tests__/utils/state/store.test.util"; export const preloadedState: InitialReduxState = { events: { getSomedayEvents: { value: { data: [EUROPE_TRIP._id as string], - count: 0, - pageSize: 0, + count: 1, + pageSize: 10, }, isProcessing: false, - isSuccess: false, - error: undefined, + isSuccess: true, + error: null, reason: null, }, getWeekEvents: { @@ -32,19 +32,19 @@ export const preloadedState: InitialReduxState = { MULTI_WEEK._id as string, TY_TIM._id as string, ], - count: 0, - pageSize: 0, + count: 6, + pageSize: 10, }, isProcessing: false, - isSuccess: false, - error: undefined, + isSuccess: true, + error: null, reason: null, }, getDayEvents: { value: null, isProcessing: false, - isSuccess: false, - error: undefined, + isSuccess: true, + error: null, reason: null, }, entities: { @@ -58,11 +58,26 @@ export const preloadedState: InitialReduxState = { [TY_TIM._id as string]: TY_TIM, }, }, + draft: { + event: null, + status: { + activity: null, + isDrafting: false, + eventType: null, + dateToResize: null, + }, + }, + pendingEvents: { + eventIds: [], + }, }, settings: { isCmdPaletteOpen: false, }, sync: { + importGCal: { + importing: false, + }, importLatest: { isFetchNeeded: false, reason: null, @@ -70,8 +85,8 @@ export const preloadedState: InitialReduxState = { }, view: { dates: { - start: "", - end: "", + start: "2025-12-07T00:00:00Z", + end: "2025-12-13T23:59:59Z", }, sidebar: { tab: "tasks", diff --git a/packages/web/src/__tests__/utils/providers/MemoryRouter.tsx b/packages/web/src/__tests__/utils/providers/MemoryRouter.tsx index db2afae0c..0347a394e 100644 --- a/packages/web/src/__tests__/utils/providers/MemoryRouter.tsx +++ b/packages/web/src/__tests__/utils/providers/MemoryRouter.tsx @@ -2,10 +2,14 @@ import { act } from "react"; import { MemoryRouter } from "react-router-dom"; import { render } from "@web/__tests__/__mocks__/mock.render"; -export const renderWithMemoryRouter = async (ui: React.ReactElement) => { +export const renderWithMemoryRouter = async ( + ui: React.ReactElement, + initialEntries?: string[], +) => { return await act(() => render( ; }; + [key: string]: unknown; }; }; // Type for the initial state that can be passed to PreloadedState @@ -82,34 +84,6 @@ export const createInitialState = ( isSuccess: false, reason: null, }, - getCurrentMonthEvents: { - value: null, - isProcessing: false, - error: null, - isSuccess: false, - reason: null, - }, - createEvent: { - isProcessing: false, - error: null, - value: null, - isSuccess: false, - reason: null, - }, - editEvent: { - isProcessing: false, - error: null, - value: null, - isSuccess: false, - reason: null, - }, - deleteEvent: { - isProcessing: false, - error: null, - value: null, - isSuccess: false, - reason: null, - }, draft: { event: null, status: { @@ -140,6 +114,9 @@ export const createInitialState = ( isCmdPaletteOpen: false, }, sync: { + importGCal: { + importing: false, + }, importLatest: { isFetchNeeded: false, reason: null, diff --git a/packages/web/src/views/Calendar/Calendar.form.test.tsx b/packages/web/src/views/Calendar/Calendar.form.test.tsx index fe698d003..c7d82003d 100644 --- a/packages/web/src/views/Calendar/Calendar.form.test.tsx +++ b/packages/web/src/views/Calendar/Calendar.form.test.tsx @@ -142,51 +142,4 @@ describe("Event Form", () => { ); }); }); - - describe("Reminder", () => { - it("it should be focused when the 'r' keyboard shortcut is used", async () => { - const { container } = await act(() => - render(<>, { router, state: preloadedState }), - ); - - const reminderPlaceholder = screen.getByText( - "Click to add your reminder", - ); - - expect(reminderPlaceholder).toBeInTheDocument(); - - await act(async () => userEvent.keyboard("r")); - - const reminderInput = container.querySelector('[id="reminderInput"]'); - - expect(reminderInput).toHaveFocus(); - }); - - it("it should be focused when the 'edit reminder' btn is clicked in the command palette", async () => { - const user = userEvent.setup(); - - await act(() => render(<>, { router, state: preloadedState })); - - expect( - screen.getByText("Click to add your reminder"), - ).toBeInTheDocument(); - - await act(async () => { - await user.keyboard(`{${getModifierKey()}>}k{/${getModifierKey()}}`); - }); - - const cmdPaletteEditBtn = await screen.findByRole("button", { - name: /edit reminder/i, - }); - await act(async () => { - await user.click(cmdPaletteEditBtn); - }); - - await waitFor(() => { - const input = document.querySelector("#reminderInput"); - expect(input).toBeInTheDocument(); - expect(input).toHaveFocus(); - }); - }, 10000); - }); }); diff --git a/packages/web/src/views/Calendar/Calendar.tsx b/packages/web/src/views/Calendar/Calendar.tsx index a8b490712..9511c66f9 100644 --- a/packages/web/src/views/Calendar/Calendar.tsx +++ b/packages/web/src/views/Calendar/Calendar.tsx @@ -65,11 +65,7 @@ export const CalendarView = () => { weekProps={weekProps} isSidebarOpen={isSidebarOpen} > - + diff --git a/packages/web/src/views/Calendar/components/Draft/sidebar/context/SidebarDraftProvider.tsx b/packages/web/src/views/Calendar/components/Draft/sidebar/context/SidebarDraftProvider.tsx index 222ccf585..97fa17ad6 100644 --- a/packages/web/src/views/Calendar/components/Draft/sidebar/context/SidebarDraftProvider.tsx +++ b/packages/web/src/views/Calendar/components/Draft/sidebar/context/SidebarDraftProvider.tsx @@ -1,6 +1,5 @@ -import React, { ReactNode } from "react"; +import { ReactNode } from "react"; import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { useSidebarActions } from "../hooks/useSidebarActions"; import { useSidebarEffects } from "../hooks/useSidebarEffects"; @@ -10,16 +9,14 @@ import { SidebarDraftContext } from "./SidebarDraftContext"; interface Props { children: ReactNode; dateCalcs: DateCalcs; - measurements: Measurements_Grid; weekProps: WeekProps; } export const SidebarDraftProvider = ({ children, dateCalcs, - measurements, weekProps, }: Props) => { - const { setters, state } = useSidebarState(measurements); + const { setters, state } = useSidebarState(); const actions = useSidebarActions(dateCalcs, state, setters, weekProps); useSidebarEffects(state, actions); diff --git a/packages/web/src/views/Calendar/components/Header/Header.tsx b/packages/web/src/views/Calendar/components/Header/Header.tsx index 926567a2d..3329f8948 100644 --- a/packages/web/src/views/Calendar/components/Header/Header.tsx +++ b/packages/web/src/views/Calendar/components/Header/Header.tsx @@ -1,4 +1,4 @@ -import { FC, useRef } from "react"; +import { FC } from "react"; import dayjs, { Dayjs } from "@core/util/date/dayjs"; import { theme } from "@web/common/styles/theme"; import { getCalendarHeadingLabel } from "@web/common/utils/datetime/web.date.util"; @@ -12,11 +12,9 @@ import { viewSlice } from "@web/ducks/events/slices/view.slice"; import { useAppDispatch, useAppSelector } from "@web/store/store.hooks"; import { RootProps } from "../../calendarView.types"; import { Util_Scroll } from "../../hooks/grid/useScroll"; -import { useReminderHotkey } from "../../hooks/shortcuts/useFocusHotkey"; import { WeekProps } from "../../hooks/useWeek"; import { TodayButton } from "../TodayButton/TodayButton"; import { DayLabels } from "./DayLabels"; -import { Reminder } from "./Reminder/Reminder"; import { ArrowNavigationButton, StyledHeaderLabel, @@ -51,10 +49,6 @@ export const Header: FC = ({ scrollUtil, today, weekProps }) => { scrollToNow(); }; - const reminderRef = useRef(null); - - useReminderHotkey(() => reminderRef.current?.focus(), [reminderRef]); - return ( <> @@ -76,7 +70,6 @@ export const Header: FC = ({ scrollUtil, today, weekProps }) => { {headerLabel} -
diff --git a/packages/web/src/views/Calendar/components/Sidebar/Sidebar.render.test.tsx b/packages/web/src/views/Calendar/components/Sidebar/Sidebar.render.test.tsx index 52c7598ca..c0f35834e 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/Sidebar.render.test.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/Sidebar.render.test.tsx @@ -1,10 +1,54 @@ import { act } from "react"; -import { createMemoryRouter } from "react-router-dom"; +import type { PropsWithChildren } from "react"; import "@testing-library/jest-dom"; import { screen, waitFor, within } from "@testing-library/react"; +import dayjs from "@core/util/date/dayjs"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { preloadedState } from "@web/__tests__/__mocks__/state/state.weekEvents"; -import { CalendarView } from "@web/views/Calendar"; +import { DraftProvider } from "@web/views/Calendar/components/Draft/context/DraftProvider"; +import { SidebarDraftProvider } from "@web/views/Calendar/components/Draft/sidebar/context/SidebarDraftProvider"; +import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { Sidebar } from "./Sidebar"; + +const mockProps = { + dateCalcs: {} as DateCalcs, + measurements: {} as Measurements_Grid, + weekProps: { + component: { + startOfView: dayjs("2025-12-07"), + endOfView: dayjs("2025-12-13"), + isCurrentWeek: true, + }, + state: { + setStartOfView: jest.fn(), + }, + util: { + decrementWeek: jest.fn(), + incrementWeek: jest.fn(), + goToToday: jest.fn(), + getLastNavigationSource: jest.fn(() => "manual"), + }, + } as any, + gridRefs: { + mainGridRef: { current: null }, + } as any, +}; + +const SidebarTestProviders = ({ children }: PropsWithChildren) => ( + + + {children} + + +); beforeAll(() => { window.HTMLElement.prototype.scroll = jest.fn(); @@ -16,13 +60,14 @@ afterAll(() => { jest.useRealTimers(); }); -const router = createMemoryRouter([{ index: true, Component: CalendarView }], { - initialEntries: ["/"], -}); - describe("Sidebar: Display without State", () => { it("renders sidebar with sections and icons when no events exist", async () => { - await act(() => render(<>, { state: {}, router })); + await act(() => + render(, { + state: {}, + wrapper: SidebarTestProviders, + }), + ); expect( screen.getByRole("heading", { name: /this week/i }), @@ -44,7 +89,12 @@ describe("Sidebar: Display without State", () => { describe("Sidebar: Display with State", () => { it("displays pre-existing someday event", async () => { - await act(() => render(<>, { state: preloadedState, router })); + await act(() => + render(, { + state: preloadedState, + wrapper: SidebarTestProviders, + }), + ); await waitFor(() => { expect( diff --git a/packages/web/src/views/Calendar/hooks/shortcuts/useFocusHotkey.ts b/packages/web/src/views/Calendar/hooks/shortcuts/useFocusHotkey.ts index f65670fdd..2b3eb73ea 100644 --- a/packages/web/src/views/Calendar/hooks/shortcuts/useFocusHotkey.ts +++ b/packages/web/src/views/Calendar/hooks/shortcuts/useFocusHotkey.ts @@ -3,10 +3,11 @@ import { useHotkeys } from "react-hotkeys-hook"; export const useReminderHotkey = ( callback: () => void, dependencies: unknown[] = [], + enabled = true, ) => useHotkeys( "R", callback, - { description: "reminder", preventDefault: true }, + { description: "reminder", preventDefault: true, enabled }, dependencies, ); diff --git a/packages/web/src/views/CmdPalette/CmdPalette.tsx b/packages/web/src/views/CmdPalette/CmdPalette.tsx index b6a434694..36efc4bf9 100644 --- a/packages/web/src/views/CmdPalette/CmdPalette.tsx +++ b/packages/web/src/views/CmdPalette/CmdPalette.tsx @@ -116,12 +116,6 @@ const CmdPalette = ({ handleCreateSomedayDraft(Categories_Event.SOMEDAY_MONTH), ), }, - { - id: "edit-reminder", - children: `Edit Reminder [r]`, - icon: "PencilSquareIcon", - onClick: onEventTargetVisibility(() => pressKey("r")), - }, { id: "today", children: `Go to Today (${today.format("dddd, MMMM D")}) [t]`, diff --git a/packages/web/src/views/Day/components/DayCmdPalette.test.tsx b/packages/web/src/views/Day/components/DayCmdPalette.test.tsx index 9ff334f3c..476c7df22 100644 --- a/packages/web/src/views/Day/components/DayCmdPalette.test.tsx +++ b/packages/web/src/views/Day/components/DayCmdPalette.test.tsx @@ -1,11 +1,10 @@ import { act } from "react"; -import { fireEvent, screen, waitFor } from "@testing-library/react"; +import { fireEvent, screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { keyPressed$ } from "@web/common/utils/dom/event-emitter.util"; import * as eventUtil from "@web/common/utils/event/event.util"; import { getModifierKey } from "@web/common/utils/shortcut/shortcut.util"; -import { viewSlice } from "@web/ducks/events/slices/view.slice"; import { settingsSlice } from "@web/ducks/settings/slices/settings.slice"; import { useGlobalShortcuts } from "@web/views/Calendar/hooks/shortcuts/useGlobalShortcuts"; import { DayCmdPalette } from "@web/views/Day/components/DayCmdPalette"; @@ -84,7 +83,6 @@ describe("DayCmdPalette", () => { expect(screen.getByText("Go to Week [3]")).toBeInTheDocument(); expect(screen.getByText("Create event [n]")).toBeInTheDocument(); expect(screen.getByText("Edit event [m]")).toBeInTheDocument(); - expect(screen.getByText("Edit Reminder [r]")).toBeInTheDocument(); expect( screen.getByText("Go to Today (Monday, November 24) [t]"), ).toBeInTheDocument(); @@ -151,28 +149,6 @@ describe("DayCmdPalette", () => { expect(mockNavigate).toHaveBeenCalledWith("/"); }); - it("dispatches updateReminder when Edit Reminder is clicked", async () => { - const user = userEvent.setup(); - - await act(() => - render(, { - state: { settings: { isCmdPaletteOpen: true } }, - }), - ); - - const cmdPaletteEditBtn = await screen.findByRole("button", { - name: /edit reminder \[r\]/i, - }); - - await act(() => user.click(cmdPaletteEditBtn)); - - await waitFor(() => { - expect(mockDispatch).toHaveBeenCalledWith( - viewSlice.actions.updateReminder(true), - ); - }); - }); - it("calls onGoToToday when Go to Today is clicked", async () => { const mockOnGoToToday = jest.fn(); const user = userEvent.setup(); diff --git a/packages/web/src/views/Day/components/DayCmdPalette.tsx b/packages/web/src/views/Day/components/DayCmdPalette.tsx index 1d4d0bb36..f51f1afef 100644 --- a/packages/web/src/views/Day/components/DayCmdPalette.tsx +++ b/packages/web/src/views/Day/components/DayCmdPalette.tsx @@ -5,7 +5,6 @@ import dayjs from "@core/util/date/dayjs"; import { moreCommandPaletteItems } from "@web/common/constants/more.cmd.constants"; import { ROOT_ROUTES } from "@web/common/constants/routes"; import { pressKey } from "@web/common/utils/dom/event-emitter.util"; -import { onEventTargetVisibility } from "@web/common/utils/dom/event-target-visibility.util"; import { openEventFormCreateEvent, openEventFormEditEvent, @@ -55,12 +54,6 @@ export const DayCmdPalette = ({ onGoToToday }: DayCmdPaletteProps) => { icon: "PencilSquareIcon", onClick: () => queueMicrotask(openEventFormEditEvent), }, - { - id: "edit-reminder", - children: `Edit Reminder [r]`, - icon: "PencilSquareIcon", - onClick: onEventTargetVisibility(() => pressKey("r")), - }, { id: "today", children: `Go to Today (${today.format("dddd, MMMM D")}) [t]`, diff --git a/packages/web/src/views/Day/components/Header/Header.test.tsx b/packages/web/src/views/Day/components/Header/Header.test.tsx index 48a8bb0f6..31531e772 100644 --- a/packages/web/src/views/Day/components/Header/Header.test.tsx +++ b/packages/web/src/views/Day/components/Header/Header.test.tsx @@ -4,8 +4,8 @@ import { renderWithMemoryRouter } from "@web/__tests__/utils/providers/MemoryRou import { Header } from "./Header"; describe("Header", () => { - it("renders the header with reminder and view selector", async () => { - await renderWithMemoryRouter(
); + it("renders the header with reminder and view selector when showReminder is true", async () => { + await renderWithMemoryRouter(
); // Check that Reminder component is rendered (shows placeholder when no reminder) expect(screen.getByText("Click to add your reminder")).toBeInTheDocument(); @@ -16,11 +16,24 @@ describe("Header", () => { ).toBeInTheDocument(); }); + it("does not render the reminder when showReminder is false", async () => { + await renderWithMemoryRouter(
); + + // Check that Reminder component is NOT rendered + expect( + screen.queryByText("Click to add your reminder"), + ).not.toBeInTheDocument(); + + // Check that SelectView component is still rendered + expect( + screen.getByRole("button", { name: /select view/i }), + ).toBeInTheDocument(); + }); + it("renders with proper layout structure", async () => { - await renderWithMemoryRouter(
); + await renderWithMemoryRouter(
); - // Check that the header row exists (it should be a div with specific styling) - // Since StyledHeaderRow is a styled div, we can check for the presence of its children + // Check that the header row exists expect(screen.getByText("Click to add your reminder")).toBeInTheDocument(); }); }); diff --git a/packages/web/src/views/Day/components/Header/Header.tsx b/packages/web/src/views/Day/components/Header/Header.tsx index e4fa6dab2..9b4fc97fd 100644 --- a/packages/web/src/views/Day/components/Header/Header.tsx +++ b/packages/web/src/views/Day/components/Header/Header.tsx @@ -1,4 +1,4 @@ -import { FC, useRef } from "react"; +import { FC, useCallback, useRef } from "react"; import { AlignItems } from "@web/components/Flex/styled"; import { SelectView } from "@web/components/SelectView/SelectView"; import { Reminder } from "@web/views/Calendar/components/Header/Reminder/Reminder"; @@ -8,16 +8,26 @@ import { } from "@web/views/Calendar/components/Header/styled"; import { useReminderHotkey } from "@web/views/Calendar/hooks/shortcuts/useFocusHotkey"; -export const Header: FC = () => { +interface Props { + showReminder?: boolean; +} + +export const Header: FC = ({ showReminder = false }) => { const reminderRef = useRef(null); - useReminderHotkey(() => reminderRef.current?.focus(), [reminderRef]); + const handleFocusReminder = useCallback(() => { + if (showReminder) { + reminderRef.current?.focus(); + } + }, [showReminder]); + + useReminderHotkey(handleFocusReminder, [handleFocusReminder], showReminder); return ( - + {showReminder && } diff --git a/packages/web/src/views/Day/view/DayViewContent.test.tsx b/packages/web/src/views/Day/view/DayViewContent.test.tsx index 1528449b7..ff947e73c 100644 --- a/packages/web/src/views/Day/view/DayViewContent.test.tsx +++ b/packages/web/src/views/Day/view/DayViewContent.test.tsx @@ -51,15 +51,17 @@ describe("TodayViewContent", () => { expect(await screen.findByText("Calendar Content")).toBeInTheDocument(); }); - it("should render the header with reminder and view selector", async () => { + it("should render the header without reminder and with view selector", async () => { renderWithDayProviders(); - // Check that Header components are rendered + // Check that Reminder component is NOT rendered expect( - await screen.findByText("Click to add your reminder"), - ).toBeInTheDocument(); + screen.queryByText("Click to add your reminder"), + ).not.toBeInTheDocument(); + + // Check that SelectView component is rendered expect( - screen.getAllByRole("button", { name: /select view/i }), + await screen.findAllByRole("button", { name: /select view/i }), ).toHaveLength(2); // Header SelectView + TaskList date selector }); diff --git a/packages/web/src/views/Day/view/DayViewContent.tsx b/packages/web/src/views/Day/view/DayViewContent.tsx index 7986c8710..82e3b84ae 100644 --- a/packages/web/src/views/Day/view/DayViewContent.tsx +++ b/packages/web/src/views/Day/view/DayViewContent.tsx @@ -142,7 +142,7 @@ export const DayViewContent = memo(() => { -
+
({ describe("NowView", () => { it("renders the shortcuts overlay", async () => { - await renderWithMemoryRouter(); + await renderWithMemoryRouter(, [ROOT_ROUTES.NOW]); // jest cannot actively determine applied pseudo-classes // a browser environment should be used for this test @@ -23,7 +24,7 @@ describe("NowView", () => { }); it("renders the header with reminder and view selector", async () => { - await renderWithMemoryRouter(); + await renderWithMemoryRouter(, [ROOT_ROUTES.NOW]); // Check that Header components are rendered expect(screen.getByText("Click to add your reminder")).toBeInTheDocument(); @@ -33,16 +34,16 @@ describe("NowView", () => { }); it("renders global shortcuts", async () => { - await renderWithMemoryRouter(); + await renderWithMemoryRouter(, [ROOT_ROUTES.NOW]); expect(screen.getByText("Global")).toBeInTheDocument(); - expect(screen.getAllByText("Now")).toHaveLength(2); + expect(screen.getAllByText("Now")).toHaveLength(3); expect(screen.getByText("Day")).toBeInTheDocument(); - expect(screen.getAllByText("Week")).toHaveLength(2); + expect(screen.getAllByText("Week")).toHaveLength(1); }); it("renders shortcut keys correctly", async () => { - await renderWithMemoryRouter(); + await renderWithMemoryRouter(, [ROOT_ROUTES.NOW]); // Check that shortcut keys are rendered expect(screen.getByText("1")).toBeInTheDocument(); @@ -51,7 +52,7 @@ describe("NowView", () => { }); it("renders command palette shortcut", async () => { - await renderWithMemoryRouter(); + await renderWithMemoryRouter(, [ROOT_ROUTES.NOW]); // Check that CMD+K shortcut is displayed expect(screen.getByText("Global")).toBeInTheDocument(); @@ -63,7 +64,7 @@ describe("NowView", () => { }); it("renders the main layout structure", async () => { - await renderWithMemoryRouter(); + await renderWithMemoryRouter(, [ROOT_ROUTES.NOW]); // Check that the main calendar container is rendered const mainElement = document.getElementById("mainSection"); diff --git a/packages/web/src/views/Now/view/NowView.tsx b/packages/web/src/views/Now/view/NowView.tsx index aa48aedf6..8c9b516fd 100644 --- a/packages/web/src/views/Now/view/NowView.tsx +++ b/packages/web/src/views/Now/view/NowView.tsx @@ -24,7 +24,7 @@ export const NowView = () => { -
+