gns3-web-ui/src/app/services/link.service.spec.ts

79 lines
2.2 KiB
TypeScript
Raw Normal View History

2017-12-04 12:25:13 +01:00
import { TestBed, inject } from '@angular/core/testing';
import { LinkService } from './link.service';
2018-03-30 10:41:19 +02:00
import { HttpClient } from '@angular/common/http';
import { HttpTestingController, HttpClientTestingModule } from '@angular/common/http/testing';
import { HttpServer } from './http-server.service';
import { Server } from '../models/server';
2018-06-27 10:29:12 +02:00
import { Node } from '../cartography/models/node';
2018-03-30 10:41:19 +02:00
import { Port } from '../models/port';
2018-03-30 11:04:03 +02:00
import { getTestServer } from './testing';
import { AppTestingModule } from "../testing/app-testing/app-testing.module";
2017-12-04 12:25:13 +01:00
describe('LinkService', () => {
2018-03-30 10:41:19 +02:00
let httpClient: HttpClient;
let httpTestingController: HttpTestingController;
let httpServer: HttpServer;
let server: Server;
2017-12-04 12:25:13 +01:00
beforeEach(() => {
TestBed.configureTestingModule({
2018-03-30 10:41:19 +02:00
imports: [
HttpClientTestingModule,
AppTestingModule
2018-03-30 10:41:19 +02:00
],
providers: [
HttpServer,
LinkService
]
2017-12-04 12:25:13 +01:00
});
2018-03-30 10:41:19 +02:00
httpClient = TestBed.get(HttpClient);
httpTestingController = TestBed.get(HttpTestingController);
httpServer = TestBed.get(HttpServer);
2018-03-30 11:04:03 +02:00
server = getTestServer();
2017-12-04 12:25:13 +01:00
});
2018-03-30 10:41:19 +02:00
afterEach(() => {
httpTestingController.verify();
});
it('should be created', inject([LinkService], (service: LinkService) => {
expect(service).toBeTruthy();
}));
it('should create link', inject([LinkService], (service: LinkService) => {
const sourceNode = new Node();
sourceNode.project_id = "myproject";
sourceNode.node_id = "sourceid";
const sourcePort = new Port();
sourcePort.port_number = 1;
sourcePort.adapter_number = 2;
const targetNode = new Node();
targetNode.node_id = "targetid";
const targetPort = new Port();
targetPort.port_number = 3;
targetPort.adapter_number = 4;
service.createLink(server, sourceNode, sourcePort, targetNode, targetPort).subscribe();
const req = httpTestingController.expectOne('http://127.0.0.1:3080/v2/projects/myproject/links');
2018-03-30 11:04:03 +02:00
expect(req.request.method).toEqual("POST");
2018-03-30 10:41:19 +02:00
expect(req.request.body).toEqual({"nodes": [
{
node_id: "sourceid",
port_number: 1,
adapter_number: 2
},
{
node_id: "targetid",
port_number: 3,
adapter_number: 4
}
]});
}));
2017-12-04 12:25:13 +01:00
});