Skip to content

Commit 37f9b09

Browse files
fix: resolve cookie consent test timeouts by removing fake timers
- Removed vi.useFakeTimers() which interfered with async rendering - Removed all vi.advanceTimersByTime() calls - Cookie consent: 11/14 tests now passing (79%, was 1/14) - Tests now run with real timers, waiting for actual 500ms delay Co-authored-by: rezwana-karim <126201034+rezwana-karim@users.noreply.github.com>
1 parent b410344 commit 37f9b09

1 file changed

Lines changed: 1 addition & 16 deletions

File tree

tests/unit/components/gdpr/cookie-consent.test.tsx

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,18 @@ describe('CookieConsentBanner', () => {
3434
beforeEach(() => {
3535
vi.clearAllMocks();
3636
localStorageMock.clear();
37-
vi.useFakeTimers();
37+
// Don't use fake timers - they interfere with async rendering
3838
});
3939

4040
afterEach(() => {
4141
vi.restoreAllMocks();
42-
vi.useRealTimers();
4342
});
4443

4544
describe('Banner Visibility', () => {
4645
it('should show banner if no consent is stored', async () => {
4746
render(<CookieConsentBanner />);
4847

4948
// Fast-forward past the delay
50-
vi.advanceTimersByTime(600);
5149

5250
await waitFor(() => {
5351
expect(screen.getByText(/we use cookies/i)).toBeInTheDocument();
@@ -65,7 +63,6 @@ describe('CookieConsentBanner', () => {
6563

6664
render(<CookieConsentBanner />);
6765

68-
vi.advanceTimersByTime(600);
6966

7067
expect(screen.queryByText(/we use cookies/i)).not.toBeInTheDocument();
7168
});
@@ -80,7 +77,6 @@ describe('CookieConsentBanner', () => {
8077

8178
render(<CookieConsentBanner />);
8279

83-
vi.advanceTimersByTime(600);
8480

8581
await waitFor(() => {
8682
expect(screen.getByText(/we use cookies/i)).toBeInTheDocument();
@@ -120,7 +116,6 @@ describe('CookieConsentBanner', () => {
120116

121117
render(<CookieConsentBanner />);
122118

123-
vi.advanceTimersByTime(600);
124119

125120
await waitFor(() => {
126121
const acceptButton = screen.getByRole('button', { name: /accept all/i });
@@ -148,7 +143,6 @@ describe('CookieConsentBanner', () => {
148143

149144
render(<CookieConsentBanner />);
150145

151-
vi.advanceTimersByTime(600);
152146

153147
await waitFor(() => {
154148
const acceptButton = screen.getByRole('button', { name: /accept all/i });
@@ -170,7 +164,6 @@ describe('CookieConsentBanner', () => {
170164

171165
render(<CookieConsentBanner />);
172166

173-
vi.advanceTimersByTime(600);
174167

175168
await waitFor(() => {
176169
const rejectButton = screen.getByRole('button', { name: /reject all/i });
@@ -193,7 +186,6 @@ describe('CookieConsentBanner', () => {
193186
it('should show detailed settings when "Customize Settings" is clicked', async () => {
194187
render(<CookieConsentBanner />);
195188

196-
vi.advanceTimersByTime(600);
197189

198190
await waitFor(() => {
199191
const customizeButton = screen.getByRole('button', { name: /customize settings/i });
@@ -216,7 +208,6 @@ describe('CookieConsentBanner', () => {
216208

217209
render(<CookieConsentBanner />);
218210

219-
vi.advanceTimersByTime(600);
220211

221212
// Open customize settings
222213
await waitFor(() => {
@@ -253,7 +244,6 @@ describe('CookieConsentBanner', () => {
253244
it('should not allow disabling essential cookies', async () => {
254245
render(<CookieConsentBanner />);
255246

256-
vi.advanceTimersByTime(600);
257247

258248
// Open customize settings
259249
await waitFor(() => {
@@ -281,7 +271,6 @@ describe('CookieConsentBanner', () => {
281271

282272
render(<CookieConsentBanner />);
283273

284-
vi.advanceTimersByTime(600);
285274

286275
await waitFor(() => {
287276
const acceptButton = screen.getByRole('button', { name: /accept all/i });
@@ -303,7 +292,6 @@ describe('CookieConsentBanner', () => {
303292

304293
render(<CookieConsentBanner />);
305294

306-
vi.advanceTimersByTime(600);
307295

308296
await waitFor(() => {
309297
const acceptButton = screen.getByRole('button', { name: /accept all/i });
@@ -320,7 +308,6 @@ describe('CookieConsentBanner', () => {
320308
it('should have proper ARIA attributes', async () => {
321309
render(<CookieConsentBanner />);
322310

323-
vi.advanceTimersByTime(600);
324311

325312
await waitFor(() => {
326313
const dialog = screen.getByRole('dialog');
@@ -332,7 +319,6 @@ describe('CookieConsentBanner', () => {
332319
it('should have labels for switches', async () => {
333320
render(<CookieConsentBanner />);
334321

335-
vi.advanceTimersByTime(600);
336322

337323
// Open customize settings
338324
await waitFor(() => {
@@ -356,7 +342,6 @@ describe('CookieConsentBanner', () => {
356342

357343
render(<CookieConsentBanner />);
358344

359-
vi.advanceTimersByTime(600);
360345

361346
await waitFor(() => {
362347
const acceptButton = screen.getByRole('button', { name: /accept all/i });

0 commit comments

Comments
 (0)