Skip to content

Commit 9ae7513

Browse files
Copilotrenemadsen
andcommitted
Migrate from Jasmine to Jest syntax
- Replaced jasmine.createSpyObj with native Jest mock objects - Changed jasmine.SpyObj<T> types to any for compatibility - Replaced .and.returnValue() with .mockReturnValue() - Replaced .calls.reset() with .mockClear() - Replaced .calls.count() with .mock.calls.length - Removed Jasmine compatibility layer from setup-jest.ts - All tests now use native Jest syntax Migrated 11 spec files that were using Jasmine syntax. Tests are now fully Jest-native. Co-authored-by: renemadsen <[email protected]>
1 parent 083ad17 commit 9ae7513

File tree

12 files changed

+206
-247
lines changed

12 files changed

+206
-247
lines changed

eform-client/src/app/modules/advanced/components/folders/folder-delete/folder-delete.component.spec.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,17 @@ import { FolderDto, OperationResult } from 'src/app/common/models';
99
describe('FolderDeleteComponent', () => {
1010
let component: FolderDeleteComponent;
1111
let fixture: ComponentFixture<FolderDeleteComponent>;
12-
let mockFoldersService: jasmine.SpyObj<FoldersService>;
13-
let mockDialogRef: jasmine.SpyObj<MatDialogRef<FolderDeleteComponent>>;
12+
let mockFoldersService: any;
13+
let mockDialogRef: any;
1414
let mockDialogData: FolderDto;
1515

1616
beforeEach(waitForAsync(() => {
17-
mockFoldersService = jasmine.createSpyObj('FoldersService', ['deleteSingleFolder']);
18-
mockDialogRef = jasmine.createSpyObj('MatDialogRef', ['close']);
17+
mockFoldersService = {
18+
deleteSingleFolder: jest.fn(),
19+
};
20+
mockDialogRef = {
21+
close: jest.fn(),
22+
};
1923
mockDialogData = { id: 1, name: 'Test Folder' } as FolderDto;
2024

2125
TestBed.configureTestingModule({
@@ -77,7 +81,7 @@ describe('FolderDeleteComponent', () => {
7781
success: true,
7882
message: ''
7983
};
80-
mockFoldersService.deleteSingleFolder.and.returnValue(of(mockResult));
84+
mockFoldersService.deleteSingleFolder.mockReturnValue(of(mockResult));
8185

8286
component.deleteFolder();
8387

@@ -90,7 +94,7 @@ describe('FolderDeleteComponent', () => {
9094
success: false,
9195
message: 'Error deleting folder'
9296
};
93-
mockFoldersService.deleteSingleFolder.and.returnValue(of(mockResult));
97+
mockFoldersService.deleteSingleFolder.mockReturnValue(of(mockResult));
9498

9599
component.deleteFolder();
96100

@@ -99,7 +103,7 @@ describe('FolderDeleteComponent', () => {
99103
});
100104

101105
it('should handle null response', () => {
102-
mockFoldersService.deleteSingleFolder.and.returnValue(of(null));
106+
mockFoldersService.deleteSingleFolder.mockReturnValue(of(null));
103107

104108
component.deleteFolder();
105109

eform-client/src/app/modules/advanced/components/folders/folders/folders.component.spec.ts

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,23 @@ import { FolderDto, OperationDataResult } from 'src/app/common/models';
1111
describe('FoldersComponent', () => {
1212
let component: FoldersComponent;
1313
let fixture: ComponentFixture<FoldersComponent>;
14-
let mockFoldersService: jasmine.SpyObj<FoldersService>;
15-
let mockDialog: jasmine.SpyObj<MatDialog>;
16-
let mockStore: jasmine.SpyObj<Store>;
14+
let mockFoldersService: any;
15+
let mockDialog: any;
16+
let mockStore: any;
1717

1818
beforeEach(waitForAsync(() => {
19-
mockFoldersService = jasmine.createSpyObj('FoldersService', ['getAllFolders', 'getAllFoldersList']);
20-
mockDialog = jasmine.createSpyObj('MatDialog', ['open']);
21-
mockStore = jasmine.createSpyObj('Store', ['select', 'dispatch']);
22-
mockStore.select.and.returnValue(of(true));
19+
mockFoldersService = {
20+
getAllFolders: jest.fn(),
21+
getAllFoldersList: jest.fn(),
22+
};
23+
mockDialog = {
24+
open: jest.fn(),
25+
};
26+
mockStore = {
27+
select: jest.fn(),
28+
dispatch: jest.fn(),
29+
};
30+
mockStore.select.mockReturnValue(of(true));
2331

2432
TestBed.configureTestingModule({
2533
declarations: [FoldersComponent],
@@ -49,7 +57,7 @@ describe('FoldersComponent', () => {
4957
message: '',
5058
model: []
5159
};
52-
mockFoldersService.getAllFolders.and.returnValue(of(mockResult));
60+
mockFoldersService.getAllFolders.mockReturnValue(of(mockResult));
5361

5462
component.ngOnInit();
5563

@@ -64,7 +72,7 @@ describe('FoldersComponent', () => {
6472
message: '',
6573
model: []
6674
};
67-
mockFoldersService.getAllFolders.and.returnValue(of(mockResult));
75+
mockFoldersService.getAllFolders.mockReturnValue(of(mockResult));
6876

6977
component.getInitialData();
7078

@@ -83,7 +91,7 @@ describe('FoldersComponent', () => {
8391
message: '',
8492
model: mockFolders
8593
};
86-
mockFoldersService.getAllFolders.and.returnValue(of(mockResult));
94+
mockFoldersService.getAllFolders.mockReturnValue(of(mockResult));
8795

8896
component.loadAllFolders();
8997

@@ -97,7 +105,7 @@ describe('FoldersComponent', () => {
97105
message: '',
98106
model: null
99107
};
100-
mockFoldersService.getAllFolders.and.returnValue(of(mockResult));
108+
mockFoldersService.getAllFolders.mockReturnValue(of(mockResult));
101109

102110
component.loadAllFolders();
103111

@@ -117,7 +125,7 @@ describe('FoldersComponent', () => {
117125
message: '',
118126
model: mockFolders
119127
};
120-
mockFoldersService.getAllFoldersList.and.returnValue(of(mockResult));
128+
mockFoldersService.getAllFoldersList.mockReturnValue(of(mockResult));
121129

122130
component.loadAllFoldersList();
123131

@@ -131,14 +139,14 @@ describe('FoldersComponent', () => {
131139
const mockDialogRef = {
132140
afterClosed: () => of(true)
133141
};
134-
mockDialog.open.and.returnValue(mockDialogRef as any);
142+
mockDialog.open.mockReturnValue(mockDialogRef as any);
135143

136144
const mockResult: OperationDataResult<Array<FolderDto>> = {
137145
success: true,
138146
message: '',
139147
model: []
140148
};
141-
mockFoldersService.getAllFolders.and.returnValue(of(mockResult));
149+
mockFoldersService.getAllFolders.mockReturnValue(of(mockResult));
142150

143151
component.openCreateModal();
144152

@@ -151,14 +159,14 @@ describe('FoldersComponent', () => {
151159
const mockDialogRef = {
152160
afterClosed: () => of(true)
153161
};
154-
mockDialog.open.and.returnValue(mockDialogRef as any);
162+
mockDialog.open.mockReturnValue(mockDialogRef as any);
155163

156164
const mockResult: OperationDataResult<Array<FolderDto>> = {
157165
success: true,
158166
message: '',
159167
model: []
160168
};
161-
mockFoldersService.getAllFolders.and.returnValue(of(mockResult));
169+
mockFoldersService.getAllFolders.mockReturnValue(of(mockResult));
162170

163171
component.openCreateModal(parentFolder);
164172

@@ -170,9 +178,9 @@ describe('FoldersComponent', () => {
170178
const mockDialogRef = {
171179
afterClosed: () => of(false)
172180
};
173-
mockDialog.open.and.returnValue(mockDialogRef as any);
181+
mockDialog.open.mockReturnValue(mockDialogRef as any);
174182

175-
mockFoldersService.getAllFolders.calls.reset();
183+
mockFoldersService.getAllFolders.mockClear();
176184
component.openCreateModal();
177185

178186
expect(mockDialog.open).toHaveBeenCalled();
@@ -186,14 +194,14 @@ describe('FoldersComponent', () => {
186194
const mockDialogRef = {
187195
afterClosed: () => of(true)
188196
};
189-
mockDialog.open.and.returnValue(mockDialogRef as any);
197+
mockDialog.open.mockReturnValue(mockDialogRef as any);
190198

191199
const mockResult: OperationDataResult<Array<FolderDto>> = {
192200
success: true,
193201
message: '',
194202
model: []
195203
};
196-
mockFoldersService.getAllFolders.and.returnValue(of(mockResult));
204+
mockFoldersService.getAllFolders.mockReturnValue(of(mockResult));
197205

198206
component.openEditModal(selectedFolder);
199207

@@ -208,14 +216,14 @@ describe('FoldersComponent', () => {
208216
const mockDialogRef = {
209217
afterClosed: () => of(true)
210218
};
211-
mockDialog.open.and.returnValue(mockDialogRef as any);
219+
mockDialog.open.mockReturnValue(mockDialogRef as any);
212220

213221
const mockResult: OperationDataResult<Array<FolderDto>> = {
214222
success: true,
215223
message: '',
216224
model: []
217225
};
218-
mockFoldersService.getAllFolders.and.returnValue(of(mockResult));
226+
mockFoldersService.getAllFolders.mockReturnValue(of(mockResult));
219227

220228
component.openDeleteModal(selectedFolder);
221229

eform-client/src/app/modules/advanced/components/units/unit-create/unit-create.component.spec.ts

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,20 @@ import { UnitModel, SiteDto, DeviceUserRequestModel, OperationResult, OperationD
1010
describe('UnitCreateComponent', () => {
1111
let component: UnitCreateComponent;
1212
let fixture: ComponentFixture<UnitCreateComponent>;
13-
let mockUnitsService: jasmine.SpyObj<UnitsService>;
14-
let mockDeviceUserService: jasmine.SpyObj<DeviceUserService>;
15-
let mockDialogRef: jasmine.SpyObj<MatDialogRef<UnitCreateComponent>>;
13+
let mockUnitsService: any;
14+
let mockDeviceUserService: any;
15+
let mockDialogRef: any;
1616

1717
beforeEach(waitForAsync(() => {
18-
mockUnitsService = jasmine.createSpyObj('UnitsService', ['createUnit']);
19-
mockDeviceUserService = jasmine.createSpyObj('DeviceUserService', ['getDeviceUsersFiltered']);
20-
mockDialogRef = jasmine.createSpyObj('MatDialogRef', ['close']);
18+
mockUnitsService = {
19+
createUnit: jest.fn(),
20+
};
21+
mockDeviceUserService = {
22+
getDeviceUsersFiltered: jest.fn(),
23+
};
24+
mockDialogRef = {
25+
close: jest.fn(),
26+
};
2127

2228
TestBed.configureTestingModule({
2329
declarations: [UnitCreateComponent],
@@ -49,7 +55,7 @@ describe('UnitCreateComponent', () => {
4955
success: true, message: '',
5056
model: mockSites
5157
};
52-
mockDeviceUserService.getDeviceUsersFiltered.and.returnValue(of(mockResult));
58+
mockDeviceUserService.getDeviceUsersFiltered.mockReturnValue(of(mockResult));
5359

5460
component.ngOnInit();
5561

@@ -67,7 +73,7 @@ describe('UnitCreateComponent', () => {
6773
success: true, message: '',
6874
model: mockSites
6975
};
70-
mockDeviceUserService.getDeviceUsersFiltered.and.returnValue(of(mockResult));
76+
mockDeviceUserService.getDeviceUsersFiltered.mockReturnValue(of(mockResult));
7177

7278
component.loadAllSimpleSites();
7379

@@ -82,7 +88,7 @@ describe('UnitCreateComponent', () => {
8288
success: true, message: '',
8389
model: []
8490
};
85-
mockDeviceUserService.getDeviceUsersFiltered.and.returnValue(of(mockResult));
91+
mockDeviceUserService.getDeviceUsersFiltered.mockReturnValue(of(mockResult));
8692

8793
component.loadAllSimpleSites();
8894

@@ -116,7 +122,7 @@ describe('UnitCreateComponent', () => {
116122
success: true,
117123
message: ''
118124
};
119-
mockUnitsService.createUnit.and.returnValue(of(mockResult));
125+
mockUnitsService.createUnit.mockReturnValue(of(mockResult));
120126
component.unitModel = new UnitModel();
121127
component.unitModel.siteId = 1;
122128

@@ -131,7 +137,7 @@ describe('UnitCreateComponent', () => {
131137
success: false,
132138
message: ''
133139
};
134-
mockUnitsService.createUnit.and.returnValue(of(mockResult));
140+
mockUnitsService.createUnit.mockReturnValue(of(mockResult));
135141
component.unitModel = new UnitModel();
136142

137143
component.createUnit();
@@ -141,7 +147,7 @@ describe('UnitCreateComponent', () => {
141147
});
142148

143149
it('should handle null response', () => {
144-
mockUnitsService.createUnit.and.returnValue(of(null));
150+
mockUnitsService.createUnit.mockReturnValue(of(null));
145151
component.unitModel = new UnitModel();
146152

147153
component.createUnit();

eform-client/src/app/modules/advanced/components/units/units-otp-code/units-otp-code.component.spec.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,17 @@ import { UnitDto, OperationDataResult } from 'src/app/common/models';
99
describe('UnitsOtpCodeComponent', () => {
1010
let component: UnitsOtpCodeComponent;
1111
let fixture: ComponentFixture<UnitsOtpCodeComponent>;
12-
let mockUnitsService: jasmine.SpyObj<UnitsService>;
13-
let mockDialogRef: jasmine.SpyObj<MatDialogRef<UnitsOtpCodeComponent>>;
12+
let mockUnitsService: any;
13+
let mockDialogRef: any;
1414
let mockDialogData: UnitDto;
1515

1616
beforeEach(waitForAsync(() => {
17-
mockUnitsService = jasmine.createSpyObj('UnitsService', ['requestOtp']);
18-
mockDialogRef = jasmine.createSpyObj('MatDialogRef', ['close']);
17+
mockUnitsService = {
18+
requestOtp: jest.fn(),
19+
};
20+
mockDialogRef = {
21+
close: jest.fn(),
22+
};
1923
mockDialogData = { id: 1, microtingUid: 12345, siteName: 'Test Site' } as UnitDto;
2024

2125
TestBed.configureTestingModule({
@@ -78,7 +82,7 @@ describe('UnitsOtpCodeComponent', () => {
7882
success: true, message: '',
7983
model: mockUnit
8084
};
81-
mockUnitsService.requestOtp.and.returnValue(of(mockResult));
85+
mockUnitsService.requestOtp.mockReturnValue(of(mockResult));
8286

8387
component.requestOtp();
8488

@@ -91,7 +95,7 @@ describe('UnitsOtpCodeComponent', () => {
9195
success: false, message: '',
9296
model: null
9397
};
94-
mockUnitsService.requestOtp.and.returnValue(of(mockResult));
98+
mockUnitsService.requestOtp.mockReturnValue(of(mockResult));
9599

96100
component.requestOtp();
97101

@@ -100,7 +104,7 @@ describe('UnitsOtpCodeComponent', () => {
100104
});
101105

102106
it('should handle null response', () => {
103-
mockUnitsService.requestOtp.and.returnValue(of(null));
107+
mockUnitsService.requestOtp.mockReturnValue(of(null));
104108

105109
component.requestOtp();
106110

0 commit comments

Comments
 (0)