-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathServiceCard.test.tsx
More file actions
40 lines (36 loc) · 1.55 KB
/
ServiceCard.test.tsx
File metadata and controls
40 lines (36 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import { render, screen } from '@testing-library/react';
import ServiceCard from '@/components/FindHelp/ServiceCard';
const mockService = {
id: 'abc123',
name: 'Health Help Service',
category: 'health',
subCategory: 'dentist',
description: 'A local service offering dentist under the health category.',
openTimes: [
{ day: 'Monday', start: '09:00', end: '17:00' },
{ day: 'Wednesday', start: '09:00', end: '17:00' },
],
clientGroups: ['age-18+', 'rough-sleepers'],
organisation: 'Mayer Inc',
orgPostcode: 'LN4 2LE',
};
describe('ServiceCard', () => {
it('renders service name and organisation', () => {
render(<ServiceCard service={mockService} />);
expect(screen.getByText(/Health Help Service/i)).toBeInTheDocument();
expect(screen.getByText(/Mayer Inc/i)).toBeInTheDocument();
});
it('displays description and category tags', () => {
render(<ServiceCard service={mockService} />);
expect(screen.getByText(/A local service offering dentist/i)).toBeInTheDocument();
expect(screen.getByText(/Category: health/i)).toBeInTheDocument();
expect(screen.getByText(/Subcategory: dentist/i)).toBeInTheDocument();
});
it('renders client group tags and opening times', () => {
render(<ServiceCard service={mockService} />);
expect(screen.getByText('age-18+')).toBeInTheDocument();
expect(screen.getByText('rough-sleepers')).toBeInTheDocument();
expect(screen.getByText('Monday: 09:00 – 17:00')).toBeInTheDocument();
expect(screen.getByText('Wednesday: 09:00 – 17:00')).toBeInTheDocument();
});
});