test: improve frontend test coverage (#163)

- Export DashboardPage helper functions for testability
- Add new test files: App, SharedSchedule, AppContext, UnsavedChangesContext, useUnsavedChangesWarning
- Expand existing test coverage for Auth, MedDetailModal, MobileEditModal, DashboardPage, MedicationsPage, PlannerPage, and more
- Add edge case and error handling tests across components, hooks, and pages
This commit is contained in:
Daniel Volz
2026-02-13 18:34:19 +01:00
committed by GitHub
parent 0b0472f2f5
commit 5c09f97cb3
24 changed files with 4482 additions and 45 deletions
@@ -90,4 +90,22 @@ describe("ShareDialog", () => {
fireEvent.click(input);
expect(selectMock).toHaveBeenCalled();
});
it("calls person and period change callbacks", () => {
render(<ShareDialog {...defaultProps} />);
const selects = screen.getAllByRole("combobox");
fireEvent.change(selects[0], { target: { value: "Bob" } });
fireEvent.change(selects[1], { target: { value: "90" } });
expect(defaultProps.onShareSelectedPersonChange).toHaveBeenCalledWith("Bob");
expect(defaultProps.onShareSelectedDaysChange).toHaveBeenCalledWith(90);
});
it("disables generate button when no person is selected", () => {
render(<ShareDialog {...defaultProps} shareSelectedPerson="" />);
const generateButton = screen.getByRole("button", { name: /share\.generateLink/i });
expect(generateButton).toBeDisabled();
});
});