Advertisement
Guest User

Untitled

a guest
Nov 16th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.81 KB | None | 0 0
  1. import {TestBed, getTestBed, inject, fakeAsync} from '@angular/core/testing';
  2.  
  3. import { FilmService } from './film.service';
  4. import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing";
  5. import {Film} from './film';
  6.  
  7. describe('FilmsService', () => {
  8. let service: FilmService;
  9. let httpController: HttpTestingController;
  10. let injector: TestBed;
  11. beforeEach(() => {
  12. TestBed.configureTestingModule({
  13. imports: [HttpClientTestingModule],
  14. providers: [FilmService]
  15. });
  16. // injector = getTestBed();
  17. // service = injector.get(FilmService);
  18. // httpController = injector.get(HttpTestingController);
  19. });
  20. it("initialised", inject([FilmService], (filmservice : FilmService) => {
  21. expect(filmservice).toBeTruthy();
  22. }));
  23.  
  24. // it("check", fakeAsync(inject([FilmService, HttpTestingController], (filmservice : FilmService, backend : HttpTestingController) => {
  25. // let response = null;
  26. // filmservice.getFilm("12").subscribe((film : Film) => {
  27. // response = film;
  28. // }, (error1 => {
  29. // console.log("loh");
  30. // }))
  31. // })));
  32.  
  33. it('FilmGenreTest',
  34. inject([HttpTestingController, FilmService],
  35. (httpMock: HttpTestingController, service: FilmService) => {
  36. service.getFilm("12").subscribe((film : Film) => {
  37. expect(film.genre).toBe("Horror");
  38. });
  39. const req = httpMock.expectOne('http://13.53.42.33/detail/12');
  40. expect(req.request.method).toEqual('GET');
  41. req.flush({genre: "Horror"});
  42. httpMock.verify();
  43. })
  44. );
  45.  
  46.  
  47. it('FilmPlotTest',
  48. inject([HttpTestingController, FilmService],
  49. (httpMock: HttpTestingController, service: FilmService) => {
  50. let plottest = "";
  51. service.getFilm("12").subscribe((film : Film) => {
  52. expect(film.plot).not.toBeNull();
  53. plottest = film.plot;
  54. });
  55. const req = httpMock.expectOne('http://13.53.42.33/detail/12');
  56. expect(req.request.method).toEqual('GET');
  57. req.flush({plot : plottest});
  58. httpMock.verify();
  59. })
  60. );
  61.  
  62. it('SearchFilmByTitle',
  63. inject([HttpTestingController, FilmService],
  64. (httpMock: HttpTestingController, service: FilmService) => {
  65. let filmFound = false;
  66. let id = 10;
  67. service.searchFilms("The Matrix").subscribe((filmList : Film[]) => {
  68. filmList.forEach(film => {
  69.  
  70. if (film.title == "The Matrix") {
  71. filmFound = true;
  72. id = film.id;
  73. }
  74. });
  75. expect(filmFound).toBeTruthy();
  76. });
  77. const req = httpMock.expectOne('http://13.53.42.33/api/films/detail/' + id);
  78. expect(req.request.method).toEqual('GET');
  79. req.flush({title : "The Matrix"});
  80. httpMock.verify();
  81. })
  82. );
  83.  
  84. it('FilmReleasedDataRatingTest',
  85. inject([HttpTestingController, FilmService],
  86. (httpMock: HttpTestingController, service: FilmService) => {
  87. service.getFilm("12").subscribe((film : Film) => {
  88. expect(film.releaseDate).toBe(1987);
  89. });
  90. const req = httpMock.expectOne('http://13.53.42.33/detail/12');
  91. expect(req.request.method).toEqual('GET');
  92. req.flush({releaseDate : 1987});
  93. httpMock.verify();
  94. })
  95. );
  96.  
  97. it('FilmProducerTest',
  98. inject([HttpTestingController, FilmService],
  99. (httpMock: HttpTestingController, service: FilmService) => {
  100. service.getFilm("12").subscribe((film : Film) => {
  101. expect(film.producer).toBe("Sam Raimi");
  102. });
  103. const req = httpMock.expectOne('http://13.53.42.33/detail/12');
  104. expect(req.request.method).toEqual('GET');
  105. req.flush({producer : 'Sam Raimi'});
  106. httpMock.verify();
  107. })
  108. );
  109.  
  110. it('FilmProducerTest',
  111. inject([HttpTestingController, FilmService],
  112. (httpMock: HttpTestingController, service: FilmService) => {
  113. service.getFilm("12").subscribe((film : Film) => {
  114. expect(film.producer).toBe("Sam Raimi");
  115. });
  116. const req = httpMock.expectOne('http://13.53.42.33/detail/12');
  117. expect(req.request.method).toEqual('GET');
  118. req.flush({producer : 'Sam Raimi'});
  119. httpMock.verify();
  120. })
  121. );
  122.  
  123. it('FilmAgeRatingTest',
  124. inject([HttpTestingController, FilmService],
  125. (httpMock: HttpTestingController, service: FilmService) => {
  126. service.getFilm("12").subscribe((film : Film) => {
  127. expect(film.ageRating).toBe("Prohibited for under 16 unless accompanied by an adult");
  128. });
  129. const req = httpMock.expectOne('http://13.53.42.33/detail/12');
  130. expect(req.request.method).toEqual('GET');
  131. req.flush({ageRating : 'Prohibited for under 16 unless accompanied by an adult'});
  132. httpMock.verify();
  133. })
  134. );
  135.  
  136. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement