Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {TestBed, getTestBed, inject, fakeAsync} from '@angular/core/testing';
- import { FilmService } from './film.service';
- import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing";
- import {Film} from './film';
- describe('FilmsService', () => {
- let service: FilmService;
- let httpController: HttpTestingController;
- let injector: TestBed;
- beforeEach(() => {
- TestBed.configureTestingModule({
- imports: [HttpClientTestingModule],
- providers: [FilmService]
- });
- // injector = getTestBed();
- // service = injector.get(FilmService);
- // httpController = injector.get(HttpTestingController);
- });
- it("initialised", inject([FilmService], (filmservice : FilmService) => {
- expect(filmservice).toBeTruthy();
- }));
- // it("check", fakeAsync(inject([FilmService, HttpTestingController], (filmservice : FilmService, backend : HttpTestingController) => {
- // let response = null;
- // filmservice.getFilm("12").subscribe((film : Film) => {
- // response = film;
- // }, (error1 => {
- // console.log("loh");
- // }))
- // })));
- it('FilmGenreTest',
- inject([HttpTestingController, FilmService],
- (httpMock: HttpTestingController, service: FilmService) => {
- service.getFilm("12").subscribe((film : Film) => {
- expect(film.genre).toBe("Horror");
- });
- const req = httpMock.expectOne('http://13.53.42.33/detail/12');
- expect(req.request.method).toEqual('GET');
- req.flush({genre: "Horror"});
- httpMock.verify();
- })
- );
- it('FilmPlotTest',
- inject([HttpTestingController, FilmService],
- (httpMock: HttpTestingController, service: FilmService) => {
- let plottest = "";
- service.getFilm("12").subscribe((film : Film) => {
- expect(film.plot).not.toBeNull();
- plottest = film.plot;
- });
- const req = httpMock.expectOne('http://13.53.42.33/detail/12');
- expect(req.request.method).toEqual('GET');
- req.flush({plot : plottest});
- httpMock.verify();
- })
- );
- it('SearchFilmByTitle',
- inject([HttpTestingController, FilmService],
- (httpMock: HttpTestingController, service: FilmService) => {
- let filmFound = false;
- let id = 10;
- service.searchFilms("The Matrix").subscribe((filmList : Film[]) => {
- filmList.forEach(film => {
- if (film.title == "The Matrix") {
- filmFound = true;
- id = film.id;
- }
- });
- expect(filmFound).toBeTruthy();
- });
- const req = httpMock.expectOne('http://13.53.42.33/api/films/detail/' + id);
- expect(req.request.method).toEqual('GET');
- req.flush({title : "The Matrix"});
- httpMock.verify();
- })
- );
- it('FilmReleasedDataRatingTest',
- inject([HttpTestingController, FilmService],
- (httpMock: HttpTestingController, service: FilmService) => {
- service.getFilm("12").subscribe((film : Film) => {
- expect(film.releaseDate).toBe(1987);
- });
- const req = httpMock.expectOne('http://13.53.42.33/detail/12');
- expect(req.request.method).toEqual('GET');
- req.flush({releaseDate : 1987});
- httpMock.verify();
- })
- );
- it('FilmProducerTest',
- inject([HttpTestingController, FilmService],
- (httpMock: HttpTestingController, service: FilmService) => {
- service.getFilm("12").subscribe((film : Film) => {
- expect(film.producer).toBe("Sam Raimi");
- });
- const req = httpMock.expectOne('http://13.53.42.33/detail/12');
- expect(req.request.method).toEqual('GET');
- req.flush({producer : 'Sam Raimi'});
- httpMock.verify();
- })
- );
- it('FilmProducerTest',
- inject([HttpTestingController, FilmService],
- (httpMock: HttpTestingController, service: FilmService) => {
- service.getFilm("12").subscribe((film : Film) => {
- expect(film.producer).toBe("Sam Raimi");
- });
- const req = httpMock.expectOne('http://13.53.42.33/detail/12');
- expect(req.request.method).toEqual('GET');
- req.flush({producer : 'Sam Raimi'});
- httpMock.verify();
- })
- );
- it('FilmAgeRatingTest',
- inject([HttpTestingController, FilmService],
- (httpMock: HttpTestingController, service: FilmService) => {
- service.getFilm("12").subscribe((film : Film) => {
- expect(film.ageRating).toBe("Prohibited for under 16 unless accompanied by an adult");
- });
- const req = httpMock.expectOne('http://13.53.42.33/detail/12');
- expect(req.request.method).toEqual('GET');
- req.flush({ageRating : 'Prohibited for under 16 unless accompanied by an adult'});
- httpMock.verify();
- })
- );
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement