Skip to content

spec.ts for http get service is not working. #7

Description

@rushikeshsarode

Following is my 'user.service.ts' file which uses http get to receive data from users.json file :

import {Injectable} from '@angular/core';
import { IUser } from './userInterface';
import { Http, Response } from '@angular/http';
import{ Observable } from 'rxjs/Observable';
@Injectable()

export class UserService {
private _productUrl = '../app/users/users.json';
constructor(private _http: Http) {}
getUsers(): Observable {
return this._http.get(this._productUrl)
.map((response: Response) => response.json());
}
}

I have following 'user.service.spec.ts' file to test the above service :

import {
describe,
expect,
beforeEach,
it,
inject,
beforeEachProviders
} from '@angular/core/testing';
import { UserService } from './user.service';
import { HTTP_PROVIDERS } from '@angular/http';

export function main() {

describe('UserService test', () => {
let service: UserService;

//setup
beforeEachProviders(() => {
return[
HTTP_PROVIDERS,
//provide(XHRBackend, {useClass: MockBackend}),
UserService
];
});

beforeEach(inject([UserService], (l:any) => {
service = l;
}));

it('should return the list of users', () => {
service.getUsers().subscribe(x => {
expect(x).toEqual(jasmine.any(Array));
});
});
});
}

Any guess why this is not working and throws error (attached screenshot) when I run 'npm test'... Thanks in advance.
untitled

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions