Ctrl K
ComunidadGuías…

components/LocaleStorageSync.test.tsx

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import { render } from '@testing-library/react';
import { describe, it, expect, vi, beforeEach } from 'vitest';
import LocaleStorageSync from './LocaleStorageSync';
import { localeStorageKey } from '@/i18n/config';

let mockLocale = 'en';

vi.mock('next-intl', () => ({
  useLocale: () => mockLocale,
}));

describe('LocaleStorageSync', () => {
  beforeEach(() => {
    localStorage.clear();
    mockLocale = 'en';
  });

  it('persists the active locale and renders nothing', () => {
    const { container } = render(<LocaleStorageSync />);

    expect(localStorage.getItem(localeStorageKey)).toBe('en');
    expect(container).toBeEmptyDOMElement();
  });

  it('updates storage when the locale changes', () => {
    const { rerender } = render(<LocaleStorageSync />);

    mockLocale = 'es';
    rerender(<LocaleStorageSync />);

    expect(localStorage.getItem(localeStorageKey)).toBe('es');
  });
});