Skip to content

Instantly share code, notes, and snippets.

@ChrisMoney
Created May 22, 2018 13:54
Show Gist options
  • Save ChrisMoney/27219648f34549d6f278787e186b6f8d to your computer and use it in GitHub Desktop.
Save ChrisMoney/27219648f34549d6f278787e186b6f8d to your computer and use it in GitHub Desktop.
Unit Test Angular
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { NO_ERRORS_SCHEMA } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
// RXJS
import { of } from 'rxjs/internal/observable/of';
// Components
import { DocumentsFolderUploadComponent } from './documents-folder-upload.component';
import { FolderService } from '../../../shared-services/services/folder.service';
describe('DocumentsFolderUploadComponent', () => {
let dialogRef: MatDialogRef<DocumentsFolderUploadComponent>;
let folderService: any;
let component: DocumentsFolderUploadComponent;
dialogRef = jasmine.createSpyObj('MatDialogRef', ['close']);
folderService = jasmine.createSpyObj('FolderService', ['addFolder']);
let fixture: ComponentFixture<DocumentsFolderUploadComponent>;
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [DocumentsFolderUploadComponent],
providers: [
{ provide: MatDialogRef, useValue: dialogRef },
{ provide: MAT_DIALOG_DATA, useValue: {} },
{ provide: FolderService, useValue: folderService }
],
schemas: [NO_ERRORS_SCHEMA]
}).compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(DocumentsFolderUploadComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should run addFolder', () => {
folderService.addFolder.and.returnValue(of('fake result'));
component.saveFolder();
expect(folderService.addFolder).toHaveBeenCalled();
expect(dialogRef.close).toHaveBeenCalled();
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment