@@ -182,10 +182,14 @@ describe("chat header controls (browser)", () => {
|
182 | 182 | |
183 | 183 | const sessionRows = container.querySelectorAll(".chat-controls__session-row"); |
184 | 184 | expect(sessionRows).toHaveLength(1); |
185 | | -expect(container.querySelector('select[data-chat-agent-filter="true"]')).not.toBeNull(); |
186 | | -expect(container.querySelector('select[data-chat-session-select="true"]')).not.toBeNull(); |
187 | | -expect(container.querySelector('select[data-chat-model-select="true"]')).not.toBeNull(); |
188 | | -expect(container.querySelector('select[data-chat-thinking-select="true"]')).not.toBeNull(); |
| 185 | +expect( |
| 186 | +Array.from(container.querySelectorAll("select")).map((select) => select.dataset), |
| 187 | +).toEqual([ |
| 188 | +expect.objectContaining({ chatAgentFilter: "true" }), |
| 189 | +expect.objectContaining({ chatSessionSelect: "true" }), |
| 190 | +expect.objectContaining({ chatModelSelect: "true" }), |
| 191 | +expect.objectContaining({ chatThinkingSelect: "true" }), |
| 192 | +]); |
189 | 193 | }); |
190 | 194 | |
191 | 195 | it("renders the mobile dropdown from state instead of mutating DOM classes", async () => { |
@@ -200,8 +204,6 @@ describe("chat header controls (browser)", () => {
|
200 | 204 | |
201 | 205 | const toggle = container.querySelector<HTMLButtonElement>(".chat-controls-mobile-toggle"); |
202 | 206 | const dropdown = container.querySelector<HTMLElement>(".chat-controls-dropdown"); |
203 | | -expect(toggle).not.toBeNull(); |
204 | | -expect(dropdown).not.toBeNull(); |
205 | 207 | expect(toggle?.getAttribute("aria-expanded")).toBe("false"); |
206 | 208 | expect(toggle?.getAttribute("aria-controls")).toBe("chat-mobile-controls-dropdown"); |
207 | 209 | expect(dropdown?.id).toBe("chat-mobile-controls-dropdown"); |
|