Skip to content

Commit

Permalink
fix(DatePicker): unnecessary onChange removed when closing picker (#3943
Browse files Browse the repository at this point in the history
)

* fix(DatePicker): unnecessary onChange removed when closing picker

* test(DatePicker): add test
  • Loading branch information
MEsteves22 committed Jan 10, 2024
1 parent f3a25f1 commit 77bd8f3
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 5 deletions.
18 changes: 17 additions & 1 deletion packages/core/src/DatePicker/DatePicker.test.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { describe, expect, it } from "vitest";
import { describe, expect, it, vi } from "vitest";
import { fireEvent, render, screen } from "@testing-library/react";
import userEvent from "@testing-library/user-event";

Expand Down Expand Up @@ -90,6 +90,22 @@ describe("HvDatePicker", () => {
expect(datePickerDropdownValue.length).toBe(1);
expect(dateInput).toBeInTheDocument();
});
it("should not call onChange when closing", async () => {
const onChangeSpy = vi.fn();
render(<HvDatePicker onChange={onChangeSpy} />);

let picker = screen.getByRole("combobox");

await userEvent.click(picker);

expect(picker).toHaveAttribute("aria-expanded", "true");

await userEvent.click(document.body);

picker = screen.getByRole("combobox");
expect(picker).toHaveAttribute("aria-expanded", "false");
expect(onChangeSpy).not.toHaveBeenCalled();
});
});

describe("ranged calendar", () => {
Expand Down
5 changes: 1 addition & 4 deletions packages/core/src/DatePicker/DatePicker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -312,10 +312,7 @@ export const HvDatePicker = forwardRef<HTMLDivElement, HvDatePickerProps>(
};

const handleCalendarClose = () => {
const shouldSave = !(rangeMode || showActions);
if (shouldSave) {
handleApply();
} else {
if (rangeMode || showActions) {
handleCancel();
}
};
Expand Down

0 comments on commit 77bd8f3

Please sign in to comment.