Skip to content
This repository has been archived by the owner on Apr 4, 2023. It is now read-only.

emartech/boar-angular2-testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Boar Angular2 Testing

This is an angular2 test helper collection.

Install

npm install --save-dev boar-angular2-testing

How to provide

import { SyncMockBackend } from 'boar-angular2-testing';

beforEachProvider(() => {
  SyncMockBackend,
  provide(Http, {
    useFactory: (backend, defaultOptions) => {
      return new Http(backend, defaultOptions);
    },
    deps: [SyncMockBackend, BaseRequestOptions]
  })
});

Manual flush

const backend = new SyncMockBackend();
backend
  .whenGET('http://test.me/api/templates/abc123')
  .respondWithSuccess({ _id: 5, name: 'Test template' });
backend
  .whenDELETE('http://test.me/api/templates/abc123')
  .respondWithError('Something went wrong!'));
service.load();
backend.flushNext();
service.delete();
backend.flushNext();

Auto flush

const backend = new SyncMockBackend({ autoRespond: true });
backend
  .whenGET('http://test.me/api/templates/abc123')
  .respondWithSuccess({ _id: 5, name: 'Test template' });

service.load();

Verify No Pending Requests

const backend = new SyncMockBackend();
backend
  .whenGET('http://test.me/api/templates/abc123')
  .respondWithSuccess({ _id: 5, name: 'Test template' });
service.load();
//backend.flushNext();
backend.verifyNoPendingRequests();

It will throw an error because there is an unflushed request.

Verify No Expected Requests

const backend = new SyncMockBackend();
backend
  .whenGET('http://test.me/api/templates/abc123')
  .respondWithSuccess({ _id: 5, name: 'Test template' });
backend
  .whenDELETE('http://test.me/api/templates/abc123')
  .respondWithSuccess({ _id: 5, name: 'Test template' });
service.load();
//backend.delete();
backend.verifyNoExpectedRequests();

It will throw an error because there is an unused expectation. (DELETE)