72b694d6adb3655a18ab84d453a20c21444d7731
[examples/angular-tour-of-heroes] / src / app / vorgang.service.spec.ts
1 import { TestBed, getTestBed } from '@angular/core/testing';
2 import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
3
4 import { VorgangService } from './vorgang.service';
5 import { Vorgang } from './vorgang';
6
7 describe('VorgangService', () => {
8   let service: VorgangService;
9   let httpMock: HttpTestingController;
10
11   beforeEach(() => {
12     TestBed.configureTestingModule({
13       imports: [ HttpClientTestingModule ],
14       providers: [ VorgangService ]
15     });
16     service = TestBed.inject(VorgangService);
17     httpMock = TestBed.inject(HttpTestingController);
18   });
19
20   afterEach(() => {
21     // After every test, assert that there are no more pending requests.
22     httpMock.verify();
23   });
24
25   it('should be created', () => {
26     expect(service).toBeTruthy();
27   });
28
29   describe('#getUrlSave', () => {
30     it ('should reate valid url for save', () => {
31       const expectedUrl = 'http://localhost:1991/las/VBID/save';
32
33       expect(service.getUrlSave('VBID')).toBe(expectedUrl);
34     });
35   });
36
37   describe('#create', () => {
38     it('should return Vorgang', () => {
39       const expectedVorgang = require('../mock/vorgang.json');
40
41       service.create({ type: null, vbId: 'greetings', vorgangId: '1' , zustand: 'Hello world!'}).subscribe(
42         vorgang => expect(vorgang).toEqual(expectedVorgang),
43         fail
44       );
45
46       const req = httpMock.expectOne(service.getUrlSave(expectedVorgang.vbId));
47       expect(req.request.method).toBe('POST');
48       req.flush(expectedVorgang);
49     });
50   });
51 });