Skip to content

Commit 1c5c711

Browse files
authored
Merge pull request #6015 from NMDSdevopsServiceAdm/fix/deleteTrainingRecords
Fix/delete training records
2 parents ae3e931 + 534511b commit 1c5c711

5 files changed

Lines changed: 70 additions & 18 deletions

File tree

karma.conf.js

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,15 @@ module.exports = function (config) {
6363
logLevel: config.LOG_INFO,
6464
autoWatch: !isCI,
6565
singleRun: isCI,
66-
// browsers: ['ChromeHeadlessNoSandbox', 'ChromeNoSandbox'],
67-
browsers: ['ChromeNoSandbox'],
66+
//browsers: ['ChromeHeadlessNoSandbox', 'ChromeNoSandbox'],
67+
browsers: ['ChromeHeadlessNoSandbox'],
6868
customLaunchers: {
69-
// ChromeHeadlessNoSandbox: {
70-
// base: 'ChromeHeadless',
69+
ChromeHeadlessNoSandbox: {
70+
base: 'ChromeHeadless',
71+
flags: ['--no-sandbox'],
72+
},
73+
// ChromeNoSandbox: {
74+
// base: 'Chrome',
7175
// flags: [
7276
// '--no-sandbox',
7377
// '--user-data-dir=/tmp/chrome-test-profile',
@@ -77,17 +81,6 @@ module.exports = function (config) {
7781
// ],
7882
// debug: true,
7983
// },
80-
ChromeNoSandbox: {
81-
base: 'Chrome',
82-
flags: [
83-
'--no-sandbox',
84-
'--user-data-dir=/tmp/chrome-test-profile',
85-
'--disable-web-security',
86-
'--remote-debugging-address=0.0.0.0',
87-
'--remote-debugging-port=9222',
88-
],
89-
debug: true,
90-
},
9184
},
9285
browserDisconnectTimeout: 10000,
9386
browserDisconnectTolerance: 3,

src/app/features/training-and-qualifications/add-edit-training/add-edit-training.component.spec.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,42 @@ describe('AddEditTrainingComponent', () => {
210210
});
211211
});
212212

213+
describe('Delete button', () => {
214+
it('should navigate to delete confirmation page with training category', async () => {
215+
const { component, routerSpy, getByTestId, fixture } = await setup();
216+
const deleteTrainingRecord = getByTestId('deleteButton');
217+
component.trainingCategory = { id: 2, category: 'First aid' };
218+
fixture.detectChanges();
219+
220+
fireEvent.click(deleteTrainingRecord);
221+
expect(routerSpy).toHaveBeenCalledWith([
222+
'/workplace',
223+
component.workplace.uid,
224+
'training-and-qualifications-record',
225+
component.worker.uid,
226+
'training',
227+
component.trainingRecordId,
228+
{ trainingCategory: JSON.stringify(component.trainingCategory) },
229+
'delete',
230+
]);
231+
});
232+
233+
it('should navigate to delete confirmation page without training category', async () => {
234+
const { component, routerSpy, getByTestId } = await setup();
235+
const deleteTrainingRecord = getByTestId('deleteButton');
236+
fireEvent.click(deleteTrainingRecord);
237+
expect(routerSpy).toHaveBeenCalledWith([
238+
'/workplace',
239+
component.workplace.uid,
240+
'training-and-qualifications-record',
241+
component.worker.uid,
242+
'training',
243+
component.trainingRecordId,
244+
'delete',
245+
]);
246+
});
247+
});
248+
213249
describe('Cancel button', () => {
214250
it('should call navigate when pressing cancel', async () => {
215251
const { component, fixture, getByText, routerSpy } = await setup();

src/app/features/training-and-qualifications/add-multiple-training/training-details/training-details.component.spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@ describe('MultipleTrainingDetailsComponent', () => {
126126
await setup();
127127

128128
const categoryOption = component.categories[0].id.toString();
129-
130129
userEvent.selectOptions(getByLabelText('Training category'), categoryOption);
131130
userEvent.type(getByLabelText('Training name'), 'Training');
132131
userEvent.click(getByLabelText('Yes'));

src/app/shared/directives/add-edit-training/add-edit-training.component.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,7 @@ <h1 class="govuk-fieldset__heading">
175175
class="govuk-button govuk-button--link govuk__flex govuk__align-items-center"
176176
*ngIf="trainingRecordId"
177177
draggable="false"
178-
href="#"
179-
[routerLink]="['../delete']"
178+
(click)="navigateToDeleteTrainingRecord()"
180179
data-testid="deleteButton"
181180
>
182181
<img src="/assets/images/bin.svg" alt="" />

src/app/shared/directives/add-edit-training/add-edit-training.directive.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,4 +283,29 @@ export class AddEditTrainingDirective implements OnInit, AfterViewInit {
283283
event.preventDefault();
284284
this.router.navigate(this.previousUrl);
285285
}
286+
287+
protected navigateToDeleteTrainingRecord(): void {
288+
if (this.trainingCategory) {
289+
this.router.navigate([
290+
'/workplace',
291+
this.workplace.uid,
292+
'training-and-qualifications-record',
293+
this.worker.uid,
294+
'training',
295+
this.trainingRecordId,
296+
{ trainingCategory: JSON.stringify(this.trainingCategory) },
297+
'delete',
298+
]);
299+
} else {
300+
this.router.navigate([
301+
'/workplace',
302+
this.workplace.uid,
303+
'training-and-qualifications-record',
304+
this.worker.uid,
305+
'training',
306+
this.trainingRecordId,
307+
'delete',
308+
]);
309+
}
310+
}
286311
}

0 commit comments

Comments
 (0)