test(dashboard): consolidate AI Setup disclosure expand/collapse tests
Merge three sequential expand/collapse tests into the existing "multiple disclosures are independent" test, which already exercised expansion for two triggers. Added a final click to cover the collapse case so no behavior coverage is lost. 3,819 → 3,786 LOC (-33). 159 tests still passing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3115,47 +3115,6 @@ describe("ModelOnboardingModal progressive disclosure", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it("clicking disclosure trigger expands content", async () => {
|
|
||||||
render(<ModelOnboardingModal onComplete={vi.fn()} addToast={vi.fn()} projectId="proj_123" />);
|
|
||||||
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(screen.getByText("What are AI providers?")).toBeTruthy();
|
|
||||||
});
|
|
||||||
|
|
||||||
const trigger = screen.getByRole("button", { name: /What are AI providers\?/ });
|
|
||||||
expect(trigger.getAttribute("aria-expanded")).toBe("false");
|
|
||||||
|
|
||||||
fireEvent.click(trigger);
|
|
||||||
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(trigger.getAttribute("aria-expanded")).toBe("true");
|
|
||||||
expect(screen.getByText(/AI providers like OpenAI and Anthropic/)).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("clicking disclosure trigger again collapses content", async () => {
|
|
||||||
render(<ModelOnboardingModal onComplete={vi.fn()} addToast={vi.fn()} projectId="proj_123" />);
|
|
||||||
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(screen.getByText("What are AI providers?")).toBeTruthy();
|
|
||||||
});
|
|
||||||
|
|
||||||
const trigger = screen.getByRole("button", { name: /What are AI providers\?/ });
|
|
||||||
|
|
||||||
// Open
|
|
||||||
fireEvent.click(trigger);
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(trigger.getAttribute("aria-expanded")).toBe("true");
|
|
||||||
});
|
|
||||||
|
|
||||||
// Close
|
|
||||||
fireEvent.click(trigger);
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(trigger.getAttribute("aria-expanded")).toBe("false");
|
|
||||||
expect(screen.queryByText(/AI providers like OpenAI and Anthropic/)).toBeNull();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("multiple disclosures are independent", async () => {
|
it("multiple disclosures are independent", async () => {
|
||||||
render(<ModelOnboardingModal onComplete={vi.fn()} addToast={vi.fn()} projectId="proj_123" />);
|
render(<ModelOnboardingModal onComplete={vi.fn()} addToast={vi.fn()} projectId="proj_123" />);
|
||||||
|
|
||||||
@@ -3182,6 +3141,14 @@ describe("ModelOnboardingModal progressive disclosure", () => {
|
|||||||
expect(trigger2.getAttribute("aria-expanded")).toBe("true");
|
expect(trigger2.getAttribute("aria-expanded")).toBe("true");
|
||||||
expect(screen.getByText(/An API key is a secret token/)).toBeTruthy();
|
expect(screen.getByText(/An API key is a secret token/)).toBeTruthy();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Clicking again collapses only the clicked trigger
|
||||||
|
fireEvent.click(trigger1);
|
||||||
|
await waitFor(() => {
|
||||||
|
expect(trigger1.getAttribute("aria-expanded")).toBe("false");
|
||||||
|
expect(trigger2.getAttribute("aria-expanded")).toBe("true");
|
||||||
|
expect(screen.queryByText(/AI providers like OpenAI and Anthropic/)).toBeNull();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user