feat(frontend): English UI + 'Datamart Builder with Human In The Loop' tagline
The interface is now fully English regardless of the chat language (session titles stay in whatever language the user typed). Changed the right-rail subtitle to 'Datamart Builder with Human In The Loop'. Translated all chrome: new-question/settings dialogs, workflow phase strip (F1-F8), session rail, steer input, widgets (select/multiselect/freetext/fallback/reserved controls) and viewers (SQL, results, schema linking). Test matchers updated in lockstep. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,7 @@ test("confirms the checked ids including initially selected", async () => {
|
||||
/>
|
||||
);
|
||||
await userEvent.click(screen.getByRole("checkbox", { name: /t2/ }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /conferma/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /confirm/i }));
|
||||
expect(onRespond).toHaveBeenCalledWith({ id: "u1", kind: "multiselect", choices: ["t1", "t2"] });
|
||||
});
|
||||
|
||||
@@ -37,8 +37,8 @@ test("select-all checks all options", async () => {
|
||||
onRespond={onRespond}
|
||||
/>
|
||||
);
|
||||
await userEvent.click(screen.getByRole("button", { name: /seleziona tutti/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /conferma/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /select all/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /confirm/i }));
|
||||
expect(onRespond).toHaveBeenCalledWith({ id: "u1", kind: "multiselect", choices: ["a", "b"] });
|
||||
});
|
||||
|
||||
@@ -57,8 +57,8 @@ test("deselect-all unchecks all options", async () => {
|
||||
onRespond={onRespond}
|
||||
/>
|
||||
);
|
||||
await userEvent.click(screen.getByRole("button", { name: /deseleziona tutti/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /conferma/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /deselect all/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /confirm/i }));
|
||||
expect(onRespond).toHaveBeenCalledWith({ id: "u1", kind: "multiselect", choices: [] });
|
||||
});
|
||||
|
||||
@@ -75,7 +75,7 @@ test("confirm is disabled when nothing checked and allow_empty is false", async
|
||||
onRespond={onRespond}
|
||||
/>
|
||||
);
|
||||
const btn = screen.getByRole("button", { name: /conferma/i });
|
||||
const btn = screen.getByRole("button", { name: /confirm/i });
|
||||
expect(btn).toBeDisabled();
|
||||
await userEvent.click(btn);
|
||||
expect(onRespond).not.toHaveBeenCalled();
|
||||
@@ -97,9 +97,9 @@ test("deselect-all with allow_empty false disables Conferma (empty confirm impos
|
||||
onRespond={onRespond}
|
||||
/>
|
||||
);
|
||||
const btn = screen.getByRole("button", { name: /conferma/i });
|
||||
const btn = screen.getByRole("button", { name: /confirm/i });
|
||||
expect(btn).not.toBeDisabled();
|
||||
await userEvent.click(screen.getByRole("button", { name: /deseleziona tutti/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /deselect all/i }));
|
||||
expect(btn).toBeDisabled();
|
||||
await userEvent.click(btn);
|
||||
expect(onRespond).not.toHaveBeenCalled();
|
||||
@@ -118,7 +118,7 @@ test("confirm is enabled when allow_empty is false but something is checked", as
|
||||
onRespond={onRespond}
|
||||
/>
|
||||
);
|
||||
const btn = screen.getByRole("button", { name: /conferma/i });
|
||||
const btn = screen.getByRole("button", { name: /confirm/i });
|
||||
expect(btn).not.toBeDisabled();
|
||||
await userEvent.click(btn);
|
||||
expect(onRespond).toHaveBeenCalledWith({ id: "u1", kind: "multiselect", choices: ["x"] });
|
||||
|
||||
Reference in New Issue
Block a user