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')); }); });