Sha256: 8dde97faf8c412782795080b7f62bee279481c3049d5b89d193ee5209149cce1

Contents?: true

Size: 1.84 KB

Versions: 4

Compression:

Stored size: 1.84 KB

Contents

import { inject, async, ComponentFixture, TestBed } from '@angular/core/testing';
import { MockBackend, MockConnection } from '@angular/http/testing';
import { Http, BaseRequestOptions, Response, ResponseOptions } from '@angular/http';

import { HttpService } from '..';
import { RegistrationService, IAccount } from '.'

describe('RegistrationService', () => {

  beforeEach(() => {
    TestBed.configureTestingModule({
      providers: [
        HttpService,
        RegistrationService,
        BaseRequestOptions,
        MockBackend,
        {
          provide: Http,
          useFactory: (backend, defaultOptions) => { return new Http(backend, defaultOptions) },
          deps: [MockBackend, BaseRequestOptions]
        },
      ]
    });
  });

  it(`handles error`, inject([MockBackend, RegistrationService], (backend: MockBackend, service: RegistrationService) => {
    let errors = ['name is required']
    let mockResponse = new Response(new ResponseOptions({
      status: 422,
      body: errors
    }))

    backend.connections.subscribe(c => c.mockError(mockResponse));

    let acct: IAccount = {
      name: '',
      email: '',
      password: '',
      password_confirmation: ''
    }

    service.registerAccount(acct).subscribe((res: Response) => {}, (err: Response) => {
      expect(err).toEqual(errors)
    });

  }))

  it(`handles success`, inject([MockBackend, RegistrationService], (backend: MockBackend, service: RegistrationService) => {

    let acct: IAccount = {
      name: '',
      email: '',
      password: '',
      password_confirmation: ''
    }

    let mockResponse = new Response(new ResponseOptions({
      status: 200,
      body: acct
    }))

    backend.connections.subscribe(c => c.mockRespond(mockResponse));

    service.registerAccount(acct).subscribe((res: Response) => {
      expect(res).toEqual(acct)
    });

  }))

});

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
unsakini-0.0.5 angular/src/app/registration/registration.services.spec.ts
unsakini-0.0.5.pre.1 angular/src/app/registration/registration.services.spec.ts
unsakini-0.0.4.pre.1 angular/src/app/registration/registration.services.spec.ts
unsakini-0.0.4.3 angular/src/app/registration/registration.services.spec.ts