aboutsummaryrefslogtreecommitdiffstats
path: root/frontend/src/components/FeedList.test.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/components/FeedList.test.tsx')
-rw-r--r--frontend/src/components/FeedList.test.tsx26
1 files changed, 22 insertions, 4 deletions
diff --git a/frontend/src/components/FeedList.test.tsx b/frontend/src/components/FeedList.test.tsx
index 578e3c2..92ff345 100644
--- a/frontend/src/components/FeedList.test.tsx
+++ b/frontend/src/components/FeedList.test.tsx
@@ -4,6 +4,8 @@ import { render, screen, waitFor } from '@testing-library/react';
import { describe, it, expect, vi, beforeEach } from 'vitest';
import FeedList from './FeedList';
+import { BrowserRouter } from 'react-router-dom';
+
describe('FeedList Component', () => {
beforeEach(() => {
vi.resetAllMocks();
@@ -12,7 +14,11 @@ describe('FeedList Component', () => {
it('renders loading state initially', () => {
(global.fetch as any).mockImplementation(() => new Promise(() => { }));
- render(<FeedList />);
+ render(
+ <BrowserRouter>
+ <FeedList />
+ </BrowserRouter>
+ );
expect(screen.getByText(/loading feeds/i)).toBeInTheDocument();
});
@@ -27,7 +33,11 @@ describe('FeedList Component', () => {
json: async () => mockFeeds,
});
- render(<FeedList />);
+ render(
+ <BrowserRouter>
+ <FeedList />
+ </BrowserRouter>
+ );
await waitFor(() => {
expect(screen.getByText('Feed One')).toBeInTheDocument();
@@ -39,7 +49,11 @@ describe('FeedList Component', () => {
it('handles fetch error', async () => {
(global.fetch as any).mockRejectedValueOnce(new Error('API Error'));
- render(<FeedList />);
+ render(
+ <BrowserRouter>
+ <FeedList />
+ </BrowserRouter>
+ );
await waitFor(() => {
expect(screen.getByText(/error: api error/i)).toBeInTheDocument();
@@ -52,7 +66,11 @@ describe('FeedList Component', () => {
json: async () => [],
});
- render(<FeedList />);
+ render(
+ <BrowserRouter>
+ <FeedList />
+ </BrowserRouter>
+ );
await waitFor(() => {
expect(screen.getByText(/no feeds found/i)).toBeInTheDocument();