blob: 8164d0a921cb08dad31803085bc82f1b1b993d01 [file] [log] [blame]
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { FormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { MatDialogModule, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatSelectModule } from '@angular/material/select';
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { MatStepperModule } from '@angular/material/stepper';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { AddStructureDialog } from '../../types/AddStructureDialog';
import { structure } from '../../types/structure';
import { AddStructureDialogComponent } from './add-structure-dialog.component';
describe('AddStructureDialogComponent', () => {
let component: AddStructureDialogComponent;
let fixture: ComponentFixture<AddStructureDialogComponent>;
let dialogRef = jasmine.createSpyObj('MatDialogRef', ['close']);
let dialogData: AddStructureDialog = {
id: '123456',
name: 'submessage',
structure: {
id: '',
name: '',
description: '',
elements: [],
interfaceMaxSimultaneity: "1",
interfaceMinSimultaneity: "0",
interfaceStructureCategory: "",
interfaceTaskFileType:0
}
}
let dummyStructure: structure = {
id: '10',
name: '',
description: '',
elements: [],
interfaceMaxSimultaneity: '1',
interfaceMinSimultaneity: '0',
interfaceStructureCategory: '',
interfaceTaskFileType:0
}
beforeEach(async () => {
await TestBed.configureTestingModule({
imports:[HttpClientTestingModule,MatStepperModule,MatDialogModule,MatButtonModule,FormsModule,MatFormFieldModule,MatSelectModule,MatInputModule,MatSlideToggleModule,NoopAnimationsModule],
declarations: [AddStructureDialogComponent],
providers:[{provide:MAT_DIALOG_DATA,useValue:dialogData},{provide:MatDialogRef,useValue:dialogRef}]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(AddStructureDialogComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
it('should movetoStep', () => {
let stepper = jasmine.createSpyObj('stepper', {}, { selectedIndex: 0 });
spyOn(stepper, 'selectedIndex').and.callThrough();
component.moveToStep(3, stepper);
expect(stepper.selectedIndex).toEqual(0);
});
it('should create new by setting id to -1', () => {
component.createNew();
expect(component.data.structure.id).toEqual('-1');
});
it('should store the id', () => {
component.storeId(dummyStructure);
expect(component.storedId).toEqual('10');
});
it('should movetoStep 3', () => {
let stepper = jasmine.createSpyObj('stepper', {}, { selectedIndex: 0 });
spyOn(stepper, 'selectedIndex').and.callThrough();
let spy = spyOn(component, 'moveToStep').and.stub();
component.moveToReview(stepper);
expect(spy).toHaveBeenCalled();
expect(spy).toHaveBeenCalledWith(3, stepper);
});
});