import { describe, it, expect, beforeEach } from 'vitest';
import { render, screen, waitFor } from '@testing-library/react';
import { ProvinceProvider, useProvince } from '@/context/ProvinceProvider';
function Probe() {
const { cityId, isProvinceInclude } = useProvince();
return {cityId ? `${cityId}:${isProvinceInclude.name}` : 'none'};
}
function setHostname(hostname) {
Object.defineProperty(window, 'location', {
value: { hostname },
writable: true,
configurable: true,
});
}
describe('ProvinceProvider / useProvince', () => {
it('host شهر شناختهشده → cityId و شهر را از useEffect ست میکند', async () => {
setHostname('arak-nobat.ir');
render(
,
);
await waitFor(() => expect(screen.getByTestId('out')).toHaveTextContent('129:اراک'));
});
it('host ناشناخته → cityId null', async () => {
setHostname('example.com');
render(
,
);
await waitFor(() => expect(screen.getByTestId('out')).toHaveTextContent('none'));
});
});