Advertisement
Guest User

Untitled

a guest
Dec 16th, 2017
338
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { TestBed, inject } from '@angular/core/testing';
  2. import { HttpModule, Http, BaseRequestOptions, XHRBackend, Response, ResponseOptions } from '@angular/http';
  3. import { HttpClient, HttpClientModule } from '@angular/common/http';
  4. import { UsersService } from './users.service';
  5. import { MockBackend } from '@angular/http/testing';
  6.  
  7. describe('UsersService', () => {
  8.   beforeEach(() => {
  9.     TestBed.configureTestingModule({
  10.       imports: [HttpModule, HttpClientModule],
  11.       providers: [
  12.         UsersService,
  13.         {provide: XHRBackend, useClass: MockBackend}
  14.       ]});
  15.   });
  16.  
  17.   const mockResponseGetUsers = {
  18.     data : [
  19.       { id: 0, firstName: 'firstName0', lastName: 'lastName0', email: 'email0@gmail.com', groups: [] },
  20.       { id: 1, firstName: 'firstName1', lastName: 'lastName1', email: 'email1@gmail.com', groups: [] },
  21.       { id: 2, firstName: 'firstName2', lastName: 'lastName2', email: 'email2@gmail.com', groups: [] },
  22.       { id: 3, firstName: 'firstName3', lastName: 'lastName3', email: 'email3@gmail.com', groups: [] },
  23.     ]
  24.   }
  25.  
  26.   it('should return an Observable<User[]>',
  27.     inject([UsersService, XHRBackend], (usersService, mockBackend) => {
  28.  
  29.       mockBackend.connections.subscribe((connection) => {
  30.         connection.mockRespond(new Response(new ResponseOptions({
  31.           body: JSON.stringify(mockResponseGetUsers)
  32.         })));
  33.       });
  34.  
  35.     usersService.getUsers().subscribe((users) => {
  36.       expect(users.length).toBe(4);
  37.       expect(users[0].firstName).toEqual('firstName0');
  38.       expect(users[1].firstName).toEqual('firstName1');
  39.       expect(users[2].firstName).toEqual('firstName2');
  40.       expect(users[3].firstName).toEqual('firstName3');
  41.     });
  42.   }));
  43.  
  44.   it('should be created', inject([UsersService], (service: UsersService) => {
  45.     expect(service).toBeTruthy();
  46.   }));
  47. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement