Skip to content

Commit b3149ba

Browse files
authored
Merge branch 'develop-postgres' into ref-jest/vitest
2 parents 1453368 + 2e18c32 commit b3149ba

File tree

1 file changed

+36
-19
lines changed

1 file changed

+36
-19
lines changed

src/components/OrgListCard/OrgListCard.test.tsx renamed to src/components/OrgListCard/OrgListCard.spec.tsx

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,28 @@
1-
import React, { act } from 'react';
1+
import React from 'react';
2+
import { act } from 'react-dom/test-utils';
23
import { render, screen } from '@testing-library/react';
3-
import 'jest-location-mock';
4+
import userEvent from '@testing-library/user-event';
5+
import { describe, test, expect, vi, beforeEach } from 'vitest';
46
import { I18nextProvider } from 'react-i18next';
7+
import { BrowserRouter } from 'react-router-dom';
8+
import { MockedProvider } from '@apollo/client/testing';
59

610
import i18nForTest from 'utils/i18nForTest';
711
import type { InterfaceOrgListCardProps } from './OrgListCard';
812
import OrgListCard from './OrgListCard';
9-
import userEvent from '@testing-library/user-event';
10-
import { BrowserRouter } from 'react-router-dom';
1113
import { IS_SAMPLE_ORGANIZATION_QUERY } from 'GraphQl/Queries/Queries';
1214
import { StaticMockLink } from 'utils/StaticMockLink';
13-
import { MockedProvider } from '@apollo/react-testing';
1415
import useLocalStorage from 'utils/useLocalstorage';
1516

1617
const { setItem, removeItem } = useLocalStorage();
1718

19+
// Mock window.location
20+
const mockAssign = vi.fn();
21+
Object.defineProperty(window, 'location', {
22+
value: { assign: mockAssign },
23+
writable: true,
24+
});
25+
1826
const MOCKS = [
1927
{
2028
request: {
@@ -75,6 +83,10 @@ const props: InterfaceOrgListCardProps = {
7583
};
7684

7785
describe('Testing the Super Dash List', () => {
86+
beforeEach(() => {
87+
vi.clearAllMocks();
88+
});
89+
7890
test('should render props and text elements test for the page component', async () => {
7991
removeItem('id');
8092
setItem('id', '123'); // Means the user is an admin
@@ -88,22 +100,24 @@ describe('Testing the Super Dash List', () => {
88100
</BrowserRouter>
89101
</MockedProvider>,
90102
);
103+
91104
await wait();
92-
expect(screen.getByAltText(/Dogs Care image/i)).toBeInTheDocument();
93-
expect(screen.getByText(/Admins:/i)).toBeInTheDocument();
94-
expect(screen.getByText(/Members:/i)).toBeInTheDocument();
95-
expect(screen.getByText('Dogs Care')).toBeInTheDocument();
96-
expect(screen.getByText(/Sample City/i)).toBeInTheDocument();
97-
expect(screen.getByText(/123 Sample Street/i)).toBeInTheDocument();
98-
expect(screen.getByTestId(/manageBtn/i)).toBeInTheDocument();
99-
expect(screen.getByTestId(/flaskIcon/i)).toBeInTheDocument();
100-
userEvent.click(screen.getByTestId(/manageBtn/i));
105+
106+
expect(screen.getByAltText(/Dogs Care image/i)).toBeDefined();
107+
expect(screen.getByText(/Admins:/i)).toBeDefined();
108+
expect(screen.getByText(/Members:/i)).toBeDefined();
109+
expect(screen.getByText('Dogs Care')).toBeDefined();
110+
expect(screen.getByText(/Sample City/i)).toBeDefined();
111+
expect(screen.getByText(/123 Sample Street/i)).toBeDefined();
112+
expect(screen.getByTestId(/manageBtn/i)).toBeDefined();
113+
expect(screen.getByTestId(/flaskIcon/i)).toBeDefined();
114+
115+
await userEvent.click(screen.getByTestId(/manageBtn/i));
101116
removeItem('id');
102117
});
103118

104119
test('Testing if the props data is not provided', () => {
105120
window.location.assign('/orgdash');
106-
107121
render(
108122
<MockedProvider addTypename={false} link={link}>
109123
<BrowserRouter>
@@ -114,14 +128,15 @@ describe('Testing the Super Dash List', () => {
114128
</MockedProvider>,
115129
);
116130

117-
expect(window.location).toBeAt('/orgdash');
131+
expect(mockAssign).toHaveBeenCalledWith('/orgdash');
118132
});
119133

120134
test('Testing if component is rendered properly when image is null', () => {
121135
const imageNullProps = {
122136
...props,
123137
...{ data: { ...props.data, ...{ image: null } } },
124138
};
139+
125140
render(
126141
<MockedProvider addTypename={false} link={link}>
127142
<BrowserRouter>
@@ -131,10 +146,11 @@ describe('Testing the Super Dash List', () => {
131146
</BrowserRouter>
132147
</MockedProvider>,
133148
);
134-
expect(screen.getByTestId(/emptyContainerForImage/i)).toBeInTheDocument();
149+
150+
expect(screen.getByTestId(/emptyContainerForImage/i)).toBeDefined();
135151
});
136152

137-
test('Testing if user is redirected to orgDash screen', () => {
153+
test('Testing if user is redirected to orgDash screen', async () => {
138154
render(
139155
<MockedProvider addTypename={false} link={link}>
140156
<BrowserRouter>
@@ -144,6 +160,7 @@ describe('Testing the Super Dash List', () => {
144160
</BrowserRouter>
145161
</MockedProvider>,
146162
);
147-
userEvent.click(screen.getByTestId('manageBtn'));
163+
164+
await userEvent.click(screen.getByTestId('manageBtn'));
148165
});
149166
});

0 commit comments

Comments
 (0)