mirror of
https://github.com/GNS3/gns3-web-ui.git
synced 2025-04-13 21:32:55 +00:00
Missing unit tests added
This commit is contained in:
parent
ab79d84edb
commit
c6d37ea3af
src/app/components/preferences
docker
add-docker-template
docker-template-details
docker-templates
ios-on-unix
add-iou-template
iou-template-details
iou-templates
@ -0,0 +1,111 @@
|
||||
import { ComponentFixture, async, TestBed } from '@angular/core/testing';
|
||||
import { MatInputModule, MatIconModule, MatToolbarModule, MatMenuModule, MatCheckboxModule, MatSelectModule, MatFormFieldModule, MatAutocompleteModule, MatTableModule } from '@angular/material';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { of } from 'rxjs';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { MockedServerService } from '../../../../services/server.service.spec';
|
||||
import { ServerService } from '../../../../services/server.service';
|
||||
import { Server } from '../../../../models/server';
|
||||
import { ToasterService } from '../../../../services/toaster.service';
|
||||
import { TemplateMocksService } from '../../../../services/template-mocks.service';
|
||||
import { MockedToasterService } from '../../../../services/toaster.service.spec';
|
||||
import { MockedActivatedRoute } from '../../preferences.component.spec';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { DockerTemplate } from '../../../../models/templates/docker-template';
|
||||
import { AddDockerTemplateComponent } from './add-docker-template.component';
|
||||
import { DockerService } from '../../../../services/docker.service';
|
||||
import { DockerConfigurationService } from '../../../../services/docker-configuration.service';
|
||||
|
||||
export class MockedDockerService {
|
||||
public addTemplate(server: Server, dockerTemplate: DockerTemplate) {
|
||||
return of(dockerTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
describe('AddDockerTemplateComponent', () => {
|
||||
let component: AddDockerTemplateComponent;
|
||||
let fixture: ComponentFixture<AddDockerTemplateComponent>;
|
||||
|
||||
let mockedServerService = new MockedServerService;
|
||||
let mockedDockerService = new MockedDockerService;
|
||||
let mockedToasterService = new MockedToasterService;
|
||||
let activatedRoute = new MockedActivatedRoute().get();
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [ FormsModule, MatTableModule, MatAutocompleteModule, MatFormFieldModule, MatInputModule, ReactiveFormsModule, MatSelectModule, MatIconModule, MatToolbarModule, MatMenuModule, MatCheckboxModule, CommonModule, NoopAnimationsModule, RouterTestingModule.withRoutes([])],
|
||||
providers: [
|
||||
{
|
||||
provide: ActivatedRoute, useValue: activatedRoute
|
||||
},
|
||||
{ provide: ServerService, useValue: mockedServerService },
|
||||
{ provide: DockerService, useValue: mockedDockerService },
|
||||
{ provide: ToasterService, useValue: mockedToasterService},
|
||||
{ provide: TemplateMocksService, useClass: TemplateMocksService },
|
||||
{ provide: DockerConfigurationService, useClass: DockerConfigurationService }
|
||||
],
|
||||
declarations: [
|
||||
AddDockerTemplateComponent
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AddDockerTemplateComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should call add template', () => {
|
||||
spyOn(mockedDockerService, 'addTemplate').and.returnValue(of({} as DockerTemplate));
|
||||
component.virtualMachineForm.controls['filename'].setValue('sample name');
|
||||
component.containerNameForm.controls['templateName'].setValue('template name');
|
||||
component.networkAdaptersForm.controls['adapters'].setValue(1);
|
||||
component.server = {id: 1} as Server;
|
||||
|
||||
component.addTemplate();
|
||||
|
||||
expect(mockedDockerService.addTemplate).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should not call add template when file name is missing', () => {
|
||||
spyOn(mockedDockerService, 'addTemplate').and.returnValue(of({} as DockerTemplate));
|
||||
component.containerNameForm.controls['templateName'].setValue('template name');
|
||||
component.networkAdaptersForm.controls['adapters'].setValue(1);
|
||||
component.server = {id: 1} as Server;
|
||||
|
||||
component.addTemplate();
|
||||
|
||||
expect(mockedDockerService.addTemplate).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should not call add template when template name is missing', () => {
|
||||
spyOn(mockedDockerService, 'addTemplate').and.returnValue(of({} as DockerTemplate));
|
||||
component.virtualMachineForm.controls['filename'].setValue('sample name');
|
||||
component.networkAdaptersForm.controls['adapters'].setValue(1);
|
||||
component.server = {id: 1} as Server;
|
||||
|
||||
component.addTemplate();
|
||||
|
||||
expect(mockedDockerService.addTemplate).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should not call add template when adapters field is empty', () => {
|
||||
spyOn(mockedDockerService, 'addTemplate').and.returnValue(of({} as DockerTemplate));
|
||||
component.virtualMachineForm.controls['filename'].setValue('sample name');
|
||||
component.containerNameForm.controls['templateName'].setValue('template name');
|
||||
component.server = {id: 1} as Server;
|
||||
|
||||
component.addTemplate();
|
||||
|
||||
expect(mockedDockerService.addTemplate).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
@ -0,0 +1,76 @@
|
||||
import { ComponentFixture, async, TestBed } from '@angular/core/testing';
|
||||
import { MatIconModule, MatToolbarModule, MatMenuModule, MatCheckboxModule } from '@angular/material';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { of } from 'rxjs';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { MockedServerService } from '../../../../services/server.service.spec';
|
||||
import { ServerService } from '../../../../services/server.service';
|
||||
import { Server } from '../../../../models/server';
|
||||
import { MockedToasterService } from '../../../../services/toaster.service.spec';
|
||||
import { ToasterService } from '../../../../services/toaster.service';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { MockedActivatedRoute } from '../../preferences.component.spec';
|
||||
import { DockerTemplate } from '../../../../models/templates/docker-template';
|
||||
import { DockerTemplateDetailsComponent } from './docker-template-details.component';
|
||||
import { DockerService } from '../../../../services/docker.service';
|
||||
import { DockerConfigurationService } from '../../../../services/docker-configuration.service';
|
||||
|
||||
export class MockedDockerService {
|
||||
public getTemplate(server: Server, template_id: string) {
|
||||
return of({} as DockerTemplate);
|
||||
}
|
||||
|
||||
public saveTemplate(server: Server, dockerTemplate: DockerTemplate) {
|
||||
return of(dockerTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
describe('DockerTemplateDetailsComponent', () => {
|
||||
let component: DockerTemplateDetailsComponent;
|
||||
let fixture: ComponentFixture<DockerTemplateDetailsComponent>;
|
||||
|
||||
let mockedServerService = new MockedServerService;
|
||||
let mockedDockerService = new MockedDockerService;
|
||||
let mockedToasterService = new MockedToasterService;
|
||||
let activatedRoute = new MockedActivatedRoute().get();
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [FormsModule, ReactiveFormsModule, MatIconModule, MatToolbarModule, MatMenuModule, MatCheckboxModule, CommonModule, NoopAnimationsModule, RouterTestingModule.withRoutes([])],
|
||||
providers: [
|
||||
{
|
||||
provide: ActivatedRoute, useValue: activatedRoute
|
||||
},
|
||||
{ provide: ServerService, useValue: mockedServerService },
|
||||
{ provide: DockerService, useValue: mockedDockerService },
|
||||
{ provide: ToasterService, useValue: mockedToasterService },
|
||||
{ provide: DockerConfigurationService, useClass: DockerConfigurationService }
|
||||
],
|
||||
declarations: [
|
||||
DockerTemplateDetailsComponent
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(DockerTemplateDetailsComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should call save template', () => {
|
||||
spyOn(mockedDockerService, 'saveTemplate').and.returnValue(of({} as DockerTemplate));
|
||||
|
||||
component.onSave();
|
||||
|
||||
expect(mockedDockerService.saveTemplate).toHaveBeenCalled();
|
||||
});
|
||||
});
|
@ -0,0 +1,55 @@
|
||||
import { ComponentFixture, async, TestBed } from '@angular/core/testing';
|
||||
import { MatIconModule, MatToolbarModule, MatMenuModule, MatCheckboxModule } from '@angular/material';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { of } from 'rxjs';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { MockedServerService } from '../../../../services/server.service.spec';
|
||||
import { ServerService } from '../../../../services/server.service';
|
||||
import { Server } from '../../../../models/server';
|
||||
import { MockedActivatedRoute } from '../../preferences.component.spec';
|
||||
import { DockerTemplate } from '../../../../models/templates/docker-template';
|
||||
import { DockerTemplatesComponent } from './docker-templates.component';
|
||||
import { DockerService } from '../../../../services/docker.service';
|
||||
|
||||
export class MockedDockerService {
|
||||
public getTemplates(server: Server) {
|
||||
return of([{} as DockerTemplate]);
|
||||
}
|
||||
}
|
||||
|
||||
describe('DockerTemplatesComponent', () => {
|
||||
let component: DockerTemplatesComponent;
|
||||
let fixture: ComponentFixture<DockerTemplatesComponent>;
|
||||
|
||||
let mockedServerService = new MockedServerService;
|
||||
let mockedDockerService = new MockedDockerService;
|
||||
let activatedRoute = new MockedActivatedRoute().get();
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [MatIconModule, MatToolbarModule, MatMenuModule, MatCheckboxModule, CommonModule, NoopAnimationsModule, RouterTestingModule.withRoutes([])],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: activatedRoute },
|
||||
{ provide: ServerService, useValue: mockedServerService },
|
||||
{ provide: DockerService, useValue: mockedDockerService }
|
||||
],
|
||||
declarations: [
|
||||
DockerTemplatesComponent
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(DockerTemplatesComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
@ -0,0 +1,95 @@
|
||||
import { ComponentFixture, async, TestBed } from '@angular/core/testing';
|
||||
import { MatInputModule, MatIconModule, MatToolbarModule, MatMenuModule, MatCheckboxModule, MatSelectModule, MatFormFieldModule, MatAutocompleteModule, MatTableModule } from '@angular/material';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { of } from 'rxjs';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { MockedServerService } from '../../../../services/server.service.spec';
|
||||
import { ServerService } from '../../../../services/server.service';
|
||||
import { Server } from '../../../../models/server';
|
||||
import { ToasterService } from '../../../../services/toaster.service';
|
||||
import { TemplateMocksService } from '../../../../services/template-mocks.service';
|
||||
import { MockedToasterService } from '../../../../services/toaster.service.spec';
|
||||
import { MockedActivatedRoute } from '../../preferences.component.spec';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { IouTemplate } from '../../../../models/templates/iou-template';
|
||||
import { AddIouTemplateComponent } from './add-iou-template.component';
|
||||
import { IouService } from '../../../../services/iou.service';
|
||||
import { IouConfigurationService } from '../../../../services/iou-configuration.service';
|
||||
|
||||
export class MockedIouService {
|
||||
public addTemplate(server: Server, iouTemplate: IouTemplate) {
|
||||
return of(iouTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
describe('AddIouTemplateComponent', () => {
|
||||
let component: AddIouTemplateComponent;
|
||||
let fixture: ComponentFixture<AddIouTemplateComponent>;
|
||||
|
||||
let mockedServerService = new MockedServerService;
|
||||
let mockedIouService = new MockedIouService;
|
||||
let mockedToasterService = new MockedToasterService;
|
||||
let activatedRoute = new MockedActivatedRoute().get();
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [ FormsModule, MatTableModule, MatAutocompleteModule, MatFormFieldModule, MatInputModule, ReactiveFormsModule, MatSelectModule, MatIconModule, MatToolbarModule, MatMenuModule, MatCheckboxModule, CommonModule, NoopAnimationsModule, RouterTestingModule.withRoutes([])],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: activatedRoute },
|
||||
{ provide: ServerService, useValue: mockedServerService },
|
||||
{ provide: IouService, useValue: mockedIouService },
|
||||
{ provide: ToasterService, useValue: mockedToasterService},
|
||||
{ provide: TemplateMocksService, useClass: TemplateMocksService },
|
||||
{ provide: IouConfigurationService, useClass: IouConfigurationService }
|
||||
],
|
||||
declarations: [
|
||||
AddIouTemplateComponent
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AddIouTemplateComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should call add template', () => {
|
||||
spyOn(mockedIouService, 'addTemplate').and.returnValue(of({} as IouTemplate));
|
||||
component.templateNameForm.controls['templateName'].setValue('sample name');
|
||||
component.imageForm.controls['imageName'].setValue('sample name');
|
||||
component.server = {id: 1} as Server;
|
||||
|
||||
component.addTemplate();
|
||||
|
||||
expect(mockedIouService.addTemplate).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should not call add template when template name is empty', () => {
|
||||
spyOn(mockedIouService, 'addTemplate').and.returnValue(of({} as IouTemplate));
|
||||
component.imageForm.controls['imageName'].setValue('sample name');
|
||||
component.server = {id: 1} as Server;
|
||||
|
||||
component.addTemplate();
|
||||
|
||||
expect(mockedIouService.addTemplate).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should not call add template when image is not entered', () => {
|
||||
spyOn(mockedIouService, 'addTemplate').and.returnValue(of({} as IouTemplate));
|
||||
component.templateNameForm.controls['templateName'].setValue('sample name');
|
||||
component.server = {id: 1} as Server;
|
||||
|
||||
component.addTemplate();
|
||||
|
||||
expect(mockedIouService.addTemplate).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
@ -0,0 +1,74 @@
|
||||
import { ComponentFixture, async, TestBed } from '@angular/core/testing';
|
||||
import { MatIconModule, MatToolbarModule, MatMenuModule, MatCheckboxModule } from '@angular/material';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { of } from 'rxjs';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { MockedServerService } from '../../../../services/server.service.spec';
|
||||
import { ServerService } from '../../../../services/server.service';
|
||||
import { Server } from '../../../../models/server';
|
||||
import { MockedToasterService } from '../../../../services/toaster.service.spec';
|
||||
import { ToasterService } from '../../../../services/toaster.service';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { MockedActivatedRoute } from '../../preferences.component.spec';
|
||||
import { IouTemplate } from '../../../../models/templates/iou-template';
|
||||
import { IouTemplateDetailsComponent } from './iou-template-details.component';
|
||||
import { IouService } from '../../../../services/iou.service';
|
||||
import { IouConfigurationService } from '../../../../services/iou-configuration.service';
|
||||
|
||||
export class MockedIouService {
|
||||
public getTemplate(server: Server, template_id: string) {
|
||||
return of({} as IouTemplate);
|
||||
}
|
||||
|
||||
public saveTemplate(server: Server, iouTemplate: IouTemplate) {
|
||||
return of(iouTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
describe('IouTemplateDetailsComponent', () => {
|
||||
let component: IouTemplateDetailsComponent;
|
||||
let fixture: ComponentFixture<IouTemplateDetailsComponent>;
|
||||
|
||||
let mockedServerService = new MockedServerService;
|
||||
let mockedIouService = new MockedIouService;
|
||||
let mockedToasterService = new MockedToasterService;
|
||||
let activatedRoute = new MockedActivatedRoute().get();
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [FormsModule, ReactiveFormsModule, MatIconModule, MatToolbarModule, MatMenuModule, MatCheckboxModule, CommonModule, NoopAnimationsModule, RouterTestingModule.withRoutes([])],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: activatedRoute },
|
||||
{ provide: ServerService, useValue: mockedServerService },
|
||||
{ provide: IouService, useValue: mockedIouService },
|
||||
{ provide: ToasterService, useValue: mockedToasterService },
|
||||
{ provide: IouConfigurationService, useClass: IouConfigurationService }
|
||||
],
|
||||
declarations: [
|
||||
IouTemplateDetailsComponent
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(IouTemplateDetailsComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should call save template', () => {
|
||||
spyOn(mockedIouService, 'saveTemplate').and.returnValue(of({} as IouTemplate));
|
||||
|
||||
component.onSave();
|
||||
|
||||
expect(mockedIouService.saveTemplate).toHaveBeenCalled();
|
||||
});
|
||||
});
|
@ -0,0 +1,55 @@
|
||||
import { ComponentFixture, async, TestBed } from '@angular/core/testing';
|
||||
import { MatIconModule, MatToolbarModule, MatMenuModule, MatCheckboxModule } from '@angular/material';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { of } from 'rxjs';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { MockedServerService } from '../../../../services/server.service.spec';
|
||||
import { ServerService } from '../../../../services/server.service';
|
||||
import { Server } from '../../../../models/server';
|
||||
import { MockedActivatedRoute } from '../../preferences.component.spec';
|
||||
import { IouTemplate } from '../../../../models/templates/iou-template';
|
||||
import { IouTemplatesComponent } from './iou-templates.component';
|
||||
import { IouService } from '../../../../services/iou.service';
|
||||
|
||||
export class MockedIouService {
|
||||
public getTemplates(server: Server) {
|
||||
return of([{} as IouTemplate]);
|
||||
}
|
||||
}
|
||||
|
||||
describe('IouTemplatesComponent', () => {
|
||||
let component: IouTemplatesComponent;
|
||||
let fixture: ComponentFixture<IouTemplatesComponent>;
|
||||
|
||||
let mockedServerService = new MockedServerService;
|
||||
let mockedIouService = new MockedIouService;
|
||||
let activatedRoute = new MockedActivatedRoute().get();
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [MatIconModule, MatToolbarModule, MatMenuModule, MatCheckboxModule, CommonModule, NoopAnimationsModule, RouterTestingModule.withRoutes([])],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: activatedRoute },
|
||||
{ provide: ServerService, useValue: mockedServerService },
|
||||
{ provide: IouService, useValue: mockedIouService }
|
||||
],
|
||||
declarations: [
|
||||
IouTemplatesComponent
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(IouTemplatesComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user