calculator.service.spec.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { TestBed } from '@angular/core/testing';
  2. import { CalculatorService } from './calculator.service';
  3. import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing";
  4. import {HttpClient} from "@angular/common/http";
  5. describe('CalculatorService', () => {
  6. let service: CalculatorService;
  7. let httpClient : HttpClient;
  8. let httpTestingController : HttpTestingController;
  9. beforeEach(() => {
  10. TestBed.configureTestingModule({
  11. imports: [HttpClientTestingModule],
  12. });
  13. httpClient = TestBed.inject(HttpClient);
  14. httpTestingController = TestBed.inject(HttpTestingController);
  15. service = TestBed.inject(CalculatorService);
  16. });
  17. afterEach(() => {
  18. httpTestingController.verify();
  19. });
  20. it('should be created', () => {
  21. expect(service).toBeTruthy();
  22. });
  23. it('should return ', () => {
  24. let mockResponse : number = 3;
  25. service.calculate('add', 1, 2).subscribe(
  26. r => expect(r.body).toEqual(mockResponse, 'should return expected number'),
  27. fail
  28. );
  29. const req = httpTestingController.expectOne('/api/numbers/1/add/2');
  30. expect(req.request.method).toEqual('GET');
  31. req.flush(mockResponse);
  32. });
  33. });