From cdbf2e4eb2287ffd9fad7add9f7faef75b12ce5c Mon Sep 17 00:00:00 2001 From: Piotr Pekala Date: Mon, 23 Sep 2019 06:08:42 -0700 Subject: [PATCH] Unit tests updated --- .../projects/projects.component.spec.ts | 27 +++++++------------ .../components/projects/projects.component.ts | 2 +- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/app/components/projects/projects.component.spec.ts b/src/app/components/projects/projects.component.spec.ts index 880c1798..57668115 100644 --- a/src/app/components/projects/projects.component.spec.ts +++ b/src/app/components/projects/projects.component.spec.ts @@ -1,5 +1,5 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { MatIconModule, MatSortModule, MatTableModule, MatTooltipModule, MatDialogModule, MatFormFieldModule, MatInputModule } from '@angular/material'; +import { MatIconModule, MatSortModule, MatTableModule, MatTooltipModule, MatDialogModule, MatFormFieldModule, MatInputModule, MatDialogRef } from '@angular/material'; import { RouterTestingModule } from '@angular/router/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; @@ -19,6 +19,8 @@ import { Project } from '../../models/project'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NO_ERRORS_SCHEMA } from '@angular/core'; import { ProjectsFilter } from '../../filters/projectsFilter.pipe'; +import { ChooseNameDialogComponent } from './choose-name-dialog/choose-name-dialog.component'; +import { BrowserDynamicTestingModule } from '@angular/platform-browser-dynamic/testing'; describe('ProjectsComponent', () => { let component: ProjectsComponent; @@ -51,9 +53,11 @@ describe('ProjectsComponent', () => { { provide: SettingsService, useClass: MockedSettingsService }, ProgressService ], - declarations: [ProjectsComponent, ProjectsFilter], + declarations: [ProjectsComponent, ChooseNameDialogComponent, ProjectsFilter], schemas: [NO_ERRORS_SCHEMA] - }).compileComponents(); + }) + .overrideModule(BrowserDynamicTestingModule, { set: { entryComponents: [ChooseNameDialogComponent] } }) + .compileComponents(); serverService = TestBed.get(ServerService); settingsService = TestBed.get(SettingsService); @@ -93,26 +97,15 @@ describe('ProjectsComponent', () => { expect(mockedProjectService.delete).toHaveBeenCalled(); }); - it('should call project service after duplicate action', () => { - spyOn(mockedProjectService, 'duplicate').and.returnValue(of()); + it('should call open dialog after duplicate action', () => { + spyOn(component.dialog, 'open').and.callThrough(); let project = new Project(); project.project_id = '1'; project.status = 'closed'; component.duplicate(project); - expect(mockedProjectService.duplicate).toHaveBeenCalled(); - }); - - it('should call refresh after duplicate action', () => { - spyOn(component, 'refresh'); - let project = new Project(); - project.project_id = '1'; - project.status = 'closed'; - - component.duplicate(project); - - expect(component.refresh).toHaveBeenCalled(); + expect(component.dialog.open).toHaveBeenCalled(); }); describe('ProjectComponent open', () => { diff --git a/src/app/components/projects/projects.component.ts b/src/app/components/projects/projects.component.ts index 3eeb6d45..e17c6c99 100644 --- a/src/app/components/projects/projects.component.ts +++ b/src/app/components/projects/projects.component.ts @@ -40,7 +40,7 @@ export class ProjectsComponent implements OnInit { private projectService: ProjectService, private settingsService: SettingsService, private progressService: ProgressService, - private dialog: MatDialog + public dialog: MatDialog ) {} ngOnInit() {