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:
@@ -19,10 +19,10 @@ function renderDialog() {
|
||||
|
||||
test("the form has only a question field (no workspace/model/provider/thinking)", async () => {
|
||||
renderDialog();
|
||||
await userEvent.click(screen.getByRole("button", { name: /nuova/i }));
|
||||
expect(await screen.findByLabelText(/domanda/i)).toBeInTheDocument();
|
||||
await userEvent.click(screen.getByRole("button", { name: /new/i }));
|
||||
expect(await screen.findByLabelText(/question/i)).toBeInTheDocument();
|
||||
expect(screen.queryByLabelText(/workspace/i)).not.toBeInTheDocument();
|
||||
expect(screen.queryByLabelText(/modello/i)).not.toBeInTheDocument();
|
||||
expect(screen.queryByLabelText(/model/i)).not.toBeInTheDocument();
|
||||
expect(screen.queryByLabelText(/provider/i)).not.toBeInTheDocument();
|
||||
expect(screen.queryByLabelText(/thinking/i)).not.toBeInTheDocument();
|
||||
});
|
||||
@@ -36,9 +36,9 @@ test("submitting posts only { question } and calls onCreated", async () => {
|
||||
}),
|
||||
);
|
||||
const { onCreated } = renderDialog();
|
||||
await userEvent.click(screen.getByRole("button", { name: /nuova/i }));
|
||||
await userEvent.type(await screen.findByLabelText(/domanda/i), "Quante vendite nel 2025?");
|
||||
await userEvent.click(screen.getByRole("button", { name: /^crea$/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /new/i }));
|
||||
await userEvent.type(await screen.findByLabelText(/question/i), "Quante vendite nel 2025?");
|
||||
await userEvent.click(screen.getByRole("button", { name: /^create$/i }));
|
||||
|
||||
await waitFor(() => expect(body).toEqual({ question: "Quante vendite nel 2025?" }));
|
||||
await waitFor(() => expect(onCreated).toHaveBeenCalledWith("s1"));
|
||||
@@ -46,7 +46,7 @@ test("submitting posts only { question } and calls onCreated", async () => {
|
||||
|
||||
test("empty question shows a validation error and does not submit", async () => {
|
||||
renderDialog();
|
||||
await userEvent.click(screen.getByRole("button", { name: /nuova/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /^crea$/i }));
|
||||
expect(await screen.findByRole("alert")).toHaveTextContent(/vuota/i);
|
||||
await userEvent.click(screen.getByRole("button", { name: /new/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /^create$/i }));
|
||||
expect(await screen.findByRole("alert")).toHaveTextContent(/empty/i);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user