Skip to content

Commit 9b64100

Browse files
authored
Merge pull request #1291 from aidanm3341/move-tests
move tests to be with their implementations
2 parents 829777d + 0344a5d commit 9b64100

File tree

5 files changed

+57
-48
lines changed

5 files changed

+57
-48
lines changed

calm-hub-ui/src/tests/Drawer.test.tsx renamed to calm-hub-ui/src/visualizer/components/drawer/Drawer.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { describe, expect, it } from 'vitest';
22
import { render, screen } from '@testing-library/react';
3-
import { Drawer } from '../visualizer/components/drawer/Drawer.js';
3+
import { Drawer } from './Drawer.js';
44

55
describe('Drawer', () => {
66
it('should render Drawer', () => {

calm-hub-ui/src/tests/Menu.test.tsx renamed to calm-hub-ui/src/visualizer/components/menu/Menu.test.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
import React from 'react';
2-
import { render, screen, waitFor } from '@testing-library/react';
3-
import userEvent from '@testing-library/user-event';
1+
import { render, screen, waitFor, fireEvent } from '@testing-library/react';
2+
import { userEvent } from '@testing-library/user-event';
43
import { describe, expect, it, vi } from 'vitest';
5-
import { Menu } from '../visualizer/components/menu/Menu.js';
6-
import { ZoomContext } from '../visualizer/components/zoom-context.provider.js';
4+
import { Menu } from './Menu.js';
5+
import { ZoomContext } from '../zoom-context.provider.js';
76

87
describe('Menu', () => {
98
const handleUploadMock = vi.fn();
@@ -36,7 +35,7 @@ describe('Menu', () => {
3635
it('should call toggleConnectionDesc on checkbox click', async () => {
3736
renderMenu();
3837
const checkbox = screen.getByRole('checkbox', { name: 'connection-description' });
39-
await userEvent.click(checkbox);
38+
fireEvent.click(checkbox);
4039
await waitFor(() => {
4140
expect(toggleConnectionDescMock).toHaveBeenCalledTimes(1);
4241
});
@@ -45,7 +44,7 @@ describe('Menu', () => {
4544
it('should call toggleNodeDesc on checkbox click', async () => {
4645
renderMenu();
4746
const checkbox = screen.getByRole('checkbox', { name: 'node-description' });
48-
await userEvent.click(checkbox);
47+
fireEvent.click(checkbox);
4948
await waitFor(() => {
5049
expect(toggleNodeDescMock).toHaveBeenCalledTimes(1);
5150
});
@@ -55,7 +54,8 @@ describe('Menu', () => {
5554
renderMenu();
5655
const file = new File(['example content'], 'example.txt', { type: 'text/plain' });
5756
const input = screen.getByLabelText('Architecture');
58-
await userEvent.upload(input, file);
57+
const user = userEvent.setup();
58+
await user.upload(input, file);
5959
await waitFor(() => {
6060
expect(handleUploadMock).toHaveBeenCalledWith(file);
6161
});
@@ -77,12 +77,12 @@ describe('Menu', () => {
7777
const zoomInButton = screen.getByText('+');
7878
const zoomOutButton = screen.getByText('-');
7979

80-
await userEvent.click(zoomInButton);
80+
fireEvent.click(zoomInButton);
8181
await waitFor(() => {
8282
expect(updateZoomMock).toHaveBeenCalledWith(1.1);
8383
});
8484

85-
await userEvent.click(zoomOutButton);
85+
fireEvent.click(zoomOutButton);
8686
await waitFor(() => {
8787
expect(updateZoomMock).toHaveBeenCalledWith(0.9);
8888
});

calm-hub-ui/src/tests/Sidebar.test.tsx renamed to calm-hub-ui/src/visualizer/components/sidebar/Sidebar.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { render, screen, fireEvent } from '@testing-library/react';
22
import { describe, it, expect, vi } from 'vitest';
3-
import { Sidebar } from '../visualizer/components/sidebar/Sidebar.js';
4-
import { Edge, CalmNode } from '../visualizer/contracts/contracts.js';
3+
import { Sidebar } from './Sidebar.js';
4+
import { CalmNode, Edge } from '../../contracts/contracts.js';
55

66
describe('Sidebar Component', () => {
77
const mockCloseSidebar = vi.fn();

calm-hub-ui/src/tests/set-functions.test.ts renamed to calm-hub-ui/src/visualizer/helpers/set-functions.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { describe, expect, it } from "vitest";
2-
import { difference, intersection, union } from "../visualizer/helpers/set-functions.js";
1+
import { describe, expect, it } from 'vitest';
2+
import { difference, intersection, union } from './set-functions.js';
33

44
describe('union', () => {
55
it('should return the union of two sets', () => {
@@ -68,4 +68,4 @@ describe('difference', () => {
6868
const result = difference(set1, set2);
6969
expect(result).toEqual(new Set());
7070
});
71-
});
71+
});

calm-hub-ui/src/tests/layout-correction-service.test.ts renamed to calm-hub-ui/src/visualizer/services/layout-correction-service.test.ts

Lines changed: 41 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { describe, it, vi, beforeEach, expect } from "vitest";
2-
import cytoscape from "cytoscape";
3-
import { LayoutCorrectionService } from "../visualizer/services/layout-correction-service.js";
4-
import { BoundingBox, CalmNode } from '../visualizer/contracts/contracts.js';
5-
import { afterEach } from "node:test";
1+
import { describe, it, vi, beforeEach, expect } from 'vitest';
2+
import cytoscape from 'cytoscape';
3+
import { afterEach } from 'node:test';
4+
import { BoundingBox, CalmNode } from '../contracts/contracts.js';
5+
import { LayoutCorrectionService } from './layout-correction-service.js';
66

77
function generateMockNodeObj(id: string, parentId?: string): CalmNode {
88
const nodeObj = {
@@ -31,19 +31,23 @@ function generateBoundingBox(x1: number, y1: number, w: number, h: number): Boun
3131
y1: y1,
3232
y2: y1 + h,
3333
w: w,
34-
h: h
34+
h: h,
3535
};
3636
}
3737

38-
function generateMockCyRefGetElementById(x1: number, y1: number, w: number, h: number): cytoscape.NodeSingular {
38+
function generateMockCyRefGetElementById(
39+
x1: number,
40+
y1: number,
41+
w: number,
42+
h: number
43+
): cytoscape.NodeSingular {
3944
return {
4045
boundingBox: vi.fn().mockReturnValue(generateBoundingBox(x1, y1, w, h)),
4146
position: vi.fn(),
4247
} as unknown as cytoscape.NodeSingular;
4348
}
4449

4550
describe(LayoutCorrectionService.name, () => {
46-
4751
let mockCyRef: cytoscape.Core;
4852
let mockCyRefGetElementById: cytoscape.NodeSingular;
4953

@@ -53,7 +57,7 @@ describe(LayoutCorrectionService.name, () => {
5357
getElementById: vi.fn().mockImplementation(() => mockCyRefGetElementById),
5458
nodes: vi.fn().mockReturnValue([]),
5559
edges: vi.fn().mockReturnValue([]),
56-
} as unknown as cytoscape.Core;
60+
} as unknown as cytoscape.Core;
5761
});
5862

5963
afterEach(() => {
@@ -73,9 +77,9 @@ describe(LayoutCorrectionService.name, () => {
7377
];
7478

7579
instance.calculateAndUpdateNodePositions(mockCyRef, nodes);
76-
expect(mockCyRef.getElementById).toHaveBeenCalledWith("node1");
77-
expect(mockCyRef.getElementById).toHaveBeenCalledWith("node2");
78-
expect(mockCyRef.getElementById).toHaveBeenCalledWith("node3");
80+
expect(mockCyRef.getElementById).toHaveBeenCalledWith('node1');
81+
expect(mockCyRef.getElementById).toHaveBeenCalledWith('node2');
82+
expect(mockCyRef.getElementById).toHaveBeenCalledWith('node3');
7983
expect(mockCyRefGetElementById.boundingBox).toHaveBeenCalledTimes(7);
8084
});
8185

@@ -92,7 +96,8 @@ describe(LayoutCorrectionService.name, () => {
9296
instance.calculateAndUpdateNodePositions(mockCyRef, nodes);
9397
//Once for node 2
9498
expect(mockCyRefGetElementById.position).toHaveBeenCalledWith({
95-
x: -100, y: -100,
99+
x: -100,
100+
y: -100,
96101
});
97102
});
98103

@@ -105,25 +110,26 @@ describe(LayoutCorrectionService.name, () => {
105110
const mockCyRefGetElementByIdNode3 = generateMockCyRefGetElementById(-150, -150, 100, 100);
106111
mockCyRef = {
107112
getElementById: vi.fn().mockImplementation((id) => {
108-
if (id === "node1") return mockCyRefGetElementByIdNode1;
109-
if (id === "node2") return mockCyRefGetElementByIdNode2;
110-
if (id === "node3") return mockCyRefGetElementByIdNode3;
113+
if (id === 'node1') return mockCyRefGetElementByIdNode1;
114+
if (id === 'node2') return mockCyRefGetElementByIdNode2;
115+
if (id === 'node3') return mockCyRefGetElementByIdNode3;
111116
return null;
112117
}),
113118
nodes: vi.fn().mockReturnValue([]),
114119
edges: vi.fn().mockReturnValue([]),
115120
} as unknown as cytoscape.Core;
116-
121+
117122
const nodes: CalmNode[] = [
118123
generateMockNodeObj('node1'),
119124
generateMockNodeObj('node2'),
120-
generateMockNodeObj('node3', 'node1')
125+
generateMockNodeObj('node3', 'node1'),
121126
];
122127

123128
instance.calculateAndUpdateNodePositions(mockCyRef, nodes);
124129
//Once for node 3
125130
expect(mockCyRefGetElementByIdNode3.position).toHaveBeenCalledWith({
126-
x: 50, y: 50,
131+
x: 50,
132+
y: 50,
127133
});
128134
});
129135

@@ -136,15 +142,15 @@ describe(LayoutCorrectionService.name, () => {
136142
const mockCyRefGetElementByIdNode3 = generateMockCyRefGetElementById(-50, -50, 50, 50);
137143
mockCyRef = {
138144
getElementById: vi.fn().mockImplementation((id) => {
139-
if (id === "node1") return mockCyRefGetElementByIdNode1;
140-
if (id === "node2") return mockCyRefGetElementByIdNode2;
141-
if (id === "node3") return mockCyRefGetElementByIdNode3;
145+
if (id === 'node1') return mockCyRefGetElementByIdNode1;
146+
if (id === 'node2') return mockCyRefGetElementByIdNode2;
147+
if (id === 'node3') return mockCyRefGetElementByIdNode3;
142148
return null;
143149
}),
144150
nodes: vi.fn().mockReturnValue([]),
145151
edges: vi.fn().mockReturnValue([]),
146152
} as unknown as cytoscape.Core;
147-
153+
148154
const nodes: CalmNode[] = [
149155
generateMockNodeObj('node1'),
150156
generateMockNodeObj('node2', 'node1'),
@@ -154,11 +160,13 @@ describe(LayoutCorrectionService.name, () => {
154160
instance.calculateAndUpdateNodePositions(mockCyRef, nodes);
155161
//Once for node 2 (move to centre of node 1)
156162
expect(mockCyRefGetElementByIdNode2.position).toHaveBeenCalledWith({
157-
x: 50, y: 50,
163+
x: 50,
164+
y: 50,
158165
});
159166
//Once for node 3 (move to centre of node 2, which has just moved)
160167
expect(mockCyRefGetElementByIdNode3.position).toHaveBeenCalledWith({
161-
x: 85, y: 85,
168+
x: 85,
169+
y: 85,
162170
});
163171
});
164172

@@ -171,16 +179,16 @@ describe(LayoutCorrectionService.name, () => {
171179
const mockCyRefGetElementByIdNode4 = generateMockCyRefGetElementById(10, 10, 40, 40);
172180
mockCyRef = {
173181
getElementById: vi.fn().mockImplementation((id) => {
174-
if (id === "node1") return mockCyRefGetElementByIdNode1;
175-
if (id === "node2") return mockCyRefGetElementByIdNode2;
176-
if (id === "node3") return mockCyRefGetElementByIdNode3;
177-
if (id === "node4") return mockCyRefGetElementByIdNode4;
182+
if (id === 'node1') return mockCyRefGetElementByIdNode1;
183+
if (id === 'node2') return mockCyRefGetElementByIdNode2;
184+
if (id === 'node3') return mockCyRefGetElementByIdNode3;
185+
if (id === 'node4') return mockCyRefGetElementByIdNode4;
178186
return null;
179187
}),
180188
nodes: vi.fn().mockReturnValue([]),
181189
edges: vi.fn().mockReturnValue([]),
182190
} as unknown as cytoscape.Core;
183-
191+
184192
const nodes: CalmNode[] = [
185193
generateMockNodeObj('node1'),
186194
generateMockNodeObj('node2'),
@@ -191,7 +199,8 @@ describe(LayoutCorrectionService.name, () => {
191199
instance.calculateAndUpdateNodePositions(mockCyRef, nodes);
192200
//Once for node 3 (move between node 1 and node 2)
193201
expect(mockCyRefGetElementByIdNode3.position).toHaveBeenCalledWith({
194-
x: -50, y: -50,
202+
x: -50,
203+
y: -50,
195204
});
196205
});
197-
});
206+
});

0 commit comments

Comments
 (0)