Added vorgang.service.ts and accompanying spec
[examples/angular-tour-of-heroes] / src / app / vorgang.service.spec.ts
diff --git a/src/app/vorgang.service.spec.ts b/src/app/vorgang.service.spec.ts
new file mode 100644 (file)
index 0000000..72b694d
--- /dev/null
@@ -0,0 +1,51 @@
+import { TestBed, getTestBed } from '@angular/core/testing';
+import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
+
+import { VorgangService } from './vorgang.service';
+import { Vorgang } from './vorgang';
+
+describe('VorgangService', () => {
+  let service: VorgangService;
+  let httpMock: HttpTestingController;
+
+  beforeEach(() => {
+    TestBed.configureTestingModule({
+      imports: [ HttpClientTestingModule ],
+      providers: [ VorgangService ]
+    });
+    service = TestBed.inject(VorgangService);
+    httpMock = TestBed.inject(HttpTestingController);
+  });
+
+  afterEach(() => {
+    // After every test, assert that there are no more pending requests.
+    httpMock.verify();
+  });
+
+  it('should be created', () => {
+    expect(service).toBeTruthy();
+  });
+
+  describe('#getUrlSave', () => {
+    it ('should reate valid url for save', () => {
+      const expectedUrl = 'http://localhost:1991/las/VBID/save';
+
+      expect(service.getUrlSave('VBID')).toBe(expectedUrl);
+    });
+  });
+
+  describe('#create', () => {
+    it('should return Vorgang', () => {
+      const expectedVorgang = require('../mock/vorgang.json');
+
+      service.create({ type: null, vbId: 'greetings', vorgangId: '1' , zustand: 'Hello world!'}).subscribe(
+        vorgang => expect(vorgang).toEqual(expectedVorgang),
+        fail
+      );
+
+      const req = httpMock.expectOne(service.getUrlSave(expectedVorgang.vbId));
+      expect(req.request.method).toBe('POST');
+      req.flush(expectedVorgang);
+    });
+  });
+});