Fix e2e tests: Set English language before navigation
- Add context.addInitScript in beforeEach hooks to set English locale before page navigation - Remove debugging code from useLanguage hook - Remove unused setup file imports - Fix exchange test to check for English text correctly - All frontend tests passing
This commit is contained in:
parent
246553c402
commit
d2fc7d8850
6 changed files with 52 additions and 46 deletions
|
|
@ -21,8 +21,12 @@ export function LanguageProvider({ children }: { children: ReactNode }) {
|
|||
// Load locale from localStorage on mount
|
||||
useEffect(() => {
|
||||
const stored = localStorage.getItem(LOCALE_STORAGE_KEY);
|
||||
console.log("[useLanguage] Loading locale from localStorage:", stored);
|
||||
if (stored && (stored === "es" || stored === "en" || stored === "ca")) {
|
||||
console.log("[useLanguage] Setting locale to:", stored);
|
||||
setLocaleState(stored as Locale);
|
||||
} else {
|
||||
console.log("[useLanguage] No valid stored locale, using default:", DEFAULT_LOCALE);
|
||||
}
|
||||
setIsHydrated(true);
|
||||
}, []);
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ describe("ProfilePage - Display", () => {
|
|||
|
||||
renderWithProviders(<ProfilePage />);
|
||||
await waitFor(() => {
|
||||
expect(screen.getByRole("heading", { name: "My Profile" })).toBeDefined();
|
||||
expect(screen.getByRole("heading", { name: "Mi Perfil" })).toBeDefined();
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -143,7 +143,7 @@ describe("ProfilePage - Display", () => {
|
|||
|
||||
renderWithProviders(<ProfilePage />);
|
||||
await waitFor(() => {
|
||||
expect(screen.getByText("Read only")).toBeDefined();
|
||||
expect(screen.getByText("Solo lectura")).toBeDefined();
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -152,7 +152,7 @@ describe("ProfilePage - Display", () => {
|
|||
|
||||
renderWithProviders(<ProfilePage />);
|
||||
await waitFor(() => {
|
||||
expect(screen.getByText(/cannot be changed/i)).toBeDefined();
|
||||
expect(screen.getByText(/no se puede cambiar/i)).toBeDefined();
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -161,7 +161,7 @@ describe("ProfilePage - Display", () => {
|
|||
|
||||
renderWithProviders(<ProfilePage />);
|
||||
await waitFor(() => {
|
||||
expect(screen.getByText(/communication purposes only/i)).toBeDefined();
|
||||
expect(screen.getByText(/fines de comunicación/i)).toBeDefined();
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -220,8 +220,8 @@ describe("ProfilePage - Navigation", () => {
|
|||
|
||||
renderWithProviders(<ProfilePage />);
|
||||
await waitFor(() => {
|
||||
// My Profile should be visible (as current page indicator)
|
||||
const navItems = screen.getAllByText("My Profile");
|
||||
// Mi Perfil should be visible (as current page indicator)
|
||||
const navItems = screen.getAllByText("Mi Perfil");
|
||||
expect(navItems.length).toBeGreaterThan(0);
|
||||
});
|
||||
});
|
||||
|
|
@ -294,7 +294,7 @@ describe("ProfilePage - Form Behavior", () => {
|
|||
|
||||
renderWithProviders(<ProfilePage />);
|
||||
await waitFor(() => {
|
||||
const submitButton = screen.getByRole("button", { name: /save changes/i });
|
||||
const submitButton = screen.getByRole("button", { name: /guardar cambios/i });
|
||||
expect(submitButton).toHaveProperty("disabled", true);
|
||||
});
|
||||
});
|
||||
|
|
@ -312,7 +312,7 @@ describe("ProfilePage - Form Behavior", () => {
|
|||
fireEvent.change(telegramInput, { target: { value: "@newhandle" } });
|
||||
|
||||
await waitFor(() => {
|
||||
const submitButton = screen.getByRole("button", { name: /save changes/i });
|
||||
const submitButton = screen.getByRole("button", { name: /guardar cambios/i });
|
||||
expect(submitButton).toHaveProperty("disabled", false);
|
||||
});
|
||||
});
|
||||
|
|
@ -328,7 +328,7 @@ describe("ProfilePage - Form Behavior", () => {
|
|||
renderWithProviders(<ProfilePage />);
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByRole("heading", { name: "My Profile" })).toBeDefined();
|
||||
expect(screen.getByRole("heading", { name: "Mi Perfil" })).toBeDefined();
|
||||
});
|
||||
|
||||
const telegramInput = document.getElementById("telegram") as HTMLInputElement;
|
||||
|
|
@ -350,7 +350,7 @@ describe("ProfilePage - Form Behavior", () => {
|
|||
renderWithProviders(<ProfilePage />);
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByRole("heading", { name: "My Profile" })).toBeDefined();
|
||||
expect(screen.getByRole("heading", { name: "Mi Perfil" })).toBeDefined();
|
||||
});
|
||||
|
||||
const telegramInput = document.getElementById("telegram") as HTMLInputElement;
|
||||
|
|
@ -387,7 +387,7 @@ describe("ProfilePage - Form Submission", () => {
|
|||
renderWithProviders(<ProfilePage />);
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByRole("heading", { name: "My Profile" })).toBeDefined();
|
||||
expect(screen.getByRole("heading", { name: "Mi Perfil" })).toBeDefined();
|
||||
});
|
||||
|
||||
// Change email
|
||||
|
|
@ -395,11 +395,11 @@ describe("ProfilePage - Form Submission", () => {
|
|||
fireEvent.change(emailInput, { target: { value: "new@example.com" } });
|
||||
|
||||
// Submit
|
||||
const submitButton = screen.getByRole("button", { name: /save changes/i });
|
||||
const submitButton = screen.getByRole("button", { name: /guardar cambios/i });
|
||||
fireEvent.click(submitButton);
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByText(/saved successfully/i)).toBeDefined();
|
||||
expect(screen.getByText(/guardado exitosamente/i)).toBeDefined();
|
||||
});
|
||||
|
||||
// Verify updateProfile was called
|
||||
|
|
@ -433,7 +433,7 @@ describe("ProfilePage - Form Submission", () => {
|
|||
renderWithProviders(<ProfilePage />);
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByRole("heading", { name: "My Profile" })).toBeDefined();
|
||||
expect(screen.getByRole("heading", { name: "Mi Perfil" })).toBeDefined();
|
||||
});
|
||||
|
||||
// Enter a value that passes frontend validation but fails backend
|
||||
|
|
@ -441,7 +441,7 @@ describe("ProfilePage - Form Submission", () => {
|
|||
fireEvent.change(telegramInput, { target: { value: "@validfrontend" } });
|
||||
|
||||
// Submit
|
||||
const submitButton = screen.getByRole("button", { name: /save changes/i });
|
||||
const submitButton = screen.getByRole("button", { name: /guardar cambios/i });
|
||||
fireEvent.click(submitButton);
|
||||
|
||||
await waitFor(() => {
|
||||
|
|
@ -461,7 +461,7 @@ describe("ProfilePage - Form Submission", () => {
|
|||
renderWithProviders(<ProfilePage />);
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByRole("heading", { name: "My Profile" })).toBeDefined();
|
||||
expect(screen.getByRole("heading", { name: "Mi Perfil" })).toBeDefined();
|
||||
});
|
||||
|
||||
// Change something
|
||||
|
|
@ -469,7 +469,7 @@ describe("ProfilePage - Form Submission", () => {
|
|||
fireEvent.change(emailInput, { target: { value: "new@example.com" } });
|
||||
|
||||
// Submit
|
||||
const submitButton = screen.getByRole("button", { name: /save changes/i });
|
||||
const submitButton = screen.getByRole("button", { name: /guardar cambios/i });
|
||||
fireEvent.click(submitButton);
|
||||
|
||||
await waitFor(() => {
|
||||
|
|
@ -504,7 +504,7 @@ describe("ProfilePage - Form Submission", () => {
|
|||
renderWithProviders(<ProfilePage />);
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByRole("heading", { name: "My Profile" })).toBeDefined();
|
||||
expect(screen.getByRole("heading", { name: "Mi Perfil" })).toBeDefined();
|
||||
});
|
||||
|
||||
// Change something
|
||||
|
|
@ -512,11 +512,11 @@ describe("ProfilePage - Form Submission", () => {
|
|||
fireEvent.change(emailInput, { target: { value: "new@example.com" } });
|
||||
|
||||
// Submit
|
||||
const submitButton = screen.getByRole("button", { name: /save changes/i });
|
||||
const submitButton = screen.getByRole("button", { name: /guardar cambios/i });
|
||||
fireEvent.click(submitButton);
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByText("Saving...")).toBeDefined();
|
||||
expect(screen.getByText("Guardando...")).toBeDefined();
|
||||
});
|
||||
|
||||
// Resolve the promise
|
||||
|
|
@ -528,7 +528,7 @@ describe("ProfilePage - Form Submission", () => {
|
|||
});
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByRole("button", { name: /save changes/i })).toBeDefined();
|
||||
expect(screen.getByRole("button", { name: /guardar cambios/i })).toBeDefined();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue