37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
|
|
import React from 'react';
|
||
|
|
import { describe, it, expect, vi } from 'vitest';
|
||
|
|
import { render, screen } from '@testing-library/react';
|
||
|
|
import { MemoryRouter } from 'react-router-dom';
|
||
|
|
import { SettingsUsersPage } from '@/pages/SettingsUsers';
|
||
|
|
|
||
|
|
vi.mock('@/api/hooks', () => ({
|
||
|
|
useUsers: () => ({
|
||
|
|
data: {
|
||
|
|
items: [
|
||
|
|
{ id: '1', email: 'admin@test.de', first_name: 'Admin', last_name: 'User', role: 'admin', is_active: true },
|
||
|
|
],
|
||
|
|
total: 1,
|
||
|
|
},
|
||
|
|
isLoading: false,
|
||
|
|
}),
|
||
|
|
useCreateUser: () => ({ mutateAsync: vi.fn(), isPending: false }),
|
||
|
|
useUpdateUser: () => ({ mutateAsync: vi.fn(), isPending: false }),
|
||
|
|
useDeleteUser: () => ({ mutateAsync: vi.fn(), isPending: false }),
|
||
|
|
}));
|
||
|
|
|
||
|
|
vi.mock('@/components/ui/Toast', () => ({
|
||
|
|
useToast: () => ({ success: vi.fn(), error: vi.fn(), info: vi.fn() }),
|
||
|
|
}));
|
||
|
|
|
||
|
|
describe('SettingsUsersPage', () => {
|
||
|
|
it('renders users page', () => {
|
||
|
|
render(<MemoryRouter><SettingsUsersPage /></MemoryRouter>);
|
||
|
|
expect(screen.getByTestId('settings-users-page')).toBeInTheDocument();
|
||
|
|
});
|
||
|
|
|
||
|
|
it('renders user list with at least one user', () => {
|
||
|
|
render(<MemoryRouter><SettingsUsersPage /></MemoryRouter>);
|
||
|
|
expect(screen.getAllByText(/Admin/).length).toBeGreaterThan(0);
|
||
|
|
});
|
||
|
|
});
|