195 lines
5.0 KiB
Plaintext
195 lines
5.0 KiB
Plaintext
|
|
||
|
p.location-badge.
|
||
|
exported from <a href='../http'>angular2/http</a>
|
||
|
defined in <a href="https://github.com/angular/angular/tree/2.0.0-alpha.32/modules/angular2/src/http/backends/mock_backend.ts#L99-L228">angular2/src/http/backends/mock_backend.ts (line 99)</a>
|
||
|
|
||
|
:markdown
|
||
|
A mock backend for testing the <a href='Http-class.html'><code>Http</code></a> service.
|
||
|
|
||
|
This class can be injected in tests, and should be used to override bindings
|
||
|
to other backends, such as <a href='XHRBackend-class.html'><code>XHRBackend</code></a>.
|
||
|
|
||
|
#Example
|
||
|
|
||
|
```
|
||
|
import {MockBackend, DefaultOptions, Http} from 'angular2/http';
|
||
|
it('should get some data', inject([AsyncTestCompleter], (async) => {
|
||
|
var connection;
|
||
|
var injector = Injector.resolveAndCreate([
|
||
|
MockBackend,
|
||
|
bind(Http).toFactory((backend, defaultOptions) => {
|
||
|
return new Http(backend, defaultOptions)
|
||
|
}, [MockBackend, DefaultOptions])]);
|
||
|
var http = injector.get(Http);
|
||
|
var backend = injector.get(MockBackend);
|
||
|
//Assign any newly-created connection to local variable
|
||
|
backend.connections.subscribe(c => connection = c);
|
||
|
http.request('data.json').subscribe((res) => {
|
||
|
expect(res.text()).toBe('awesome');
|
||
|
async.done();
|
||
|
});
|
||
|
connection.mockRespond(new Response('awesome'));
|
||
|
}));
|
||
|
```
|
||
|
|
||
|
This method only exists in the mock implementation, not in real Backends.
|
||
|
|
||
|
|
||
|
.l-main-section
|
||
|
h2 Members
|
||
|
.l-sub-section
|
||
|
h3 constructor
|
||
|
|
||
|
|
||
|
pre.prettyprint
|
||
|
code.
|
||
|
constructor()
|
||
|
|
||
|
:markdown
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
.l-sub-section
|
||
|
h3 connections
|
||
|
|
||
|
|
||
|
:markdown
|
||
|
|
||
|
<a href='../core/EventEmitter-class.html'><code>EventEmitter</code></a>
|
||
|
of <a href='MockConnection-class.html'><code>MockConnection</code></a> instances that have been created by this backend. Can be subscribed
|
||
|
to in order to respond to connections.
|
||
|
|
||
|
#Example
|
||
|
|
||
|
```
|
||
|
import {MockBackend, Http, BaseRequestOptions} from 'angular2/http';
|
||
|
import {Injector} from 'angular2/di';
|
||
|
|
||
|
it('should get a response', () => {
|
||
|
var connection; //this will be set when a new connection is emitted from the backend.
|
||
|
var text; //this will be set from mock response
|
||
|
var injector = Injector.resolveAndCreate([
|
||
|
MockBackend,
|
||
|
bind(Http).toFactory(backend, options) {
|
||
|
return new Http(backend, options);
|
||
|
}, [MockBackend, BaseRequestOptions]]);
|
||
|
var backend = injector.get(MockBackend);
|
||
|
var http = injector.get(Http);
|
||
|
backend.connections.subscribe(c => connection = c);
|
||
|
http.request('something.json').subscribe(res => {
|
||
|
text = res.text();
|
||
|
});
|
||
|
connection.mockRespond(new Response({body: 'Something'}));
|
||
|
expect(text).toBe('Something');
|
||
|
});
|
||
|
```
|
||
|
|
||
|
This property only exists in the mock implementation, not in real Backends.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
.l-sub-section
|
||
|
h3 connectionsArray
|
||
|
|
||
|
|
||
|
:markdown
|
||
|
|
||
|
An array representation of `connections`. This array will be updated with each connection that
|
||
|
is created by this backend.
|
||
|
|
||
|
This property only exists in the mock implementation, not in real Backends.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
.l-sub-section
|
||
|
h3 pendingConnections
|
||
|
|
||
|
|
||
|
:markdown
|
||
|
|
||
|
<a href='../core/EventEmitter-class.html'><code>EventEmitter</code></a> of <a href='MockConnection-class.html'><code>MockConnection</code></a> instances that haven't yet been resolved (i.e.
|
||
|
with a `readyState`
|
||
|
less than 4). Used internally to verify that no connections are pending via the
|
||
|
`verifyNoPendingRequests` method.
|
||
|
|
||
|
This property only exists in the mock implementation, not in real Backends.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
.l-sub-section
|
||
|
h3 verifyNoPendingRequests
|
||
|
|
||
|
|
||
|
pre.prettyprint
|
||
|
code.
|
||
|
verifyNoPendingRequests()
|
||
|
|
||
|
:markdown
|
||
|
|
||
|
Checks all connections, and raises an exception if any connection has not received a response.
|
||
|
|
||
|
This method only exists in the mock implementation, not in real Backends.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
.l-sub-section
|
||
|
h3 resolveAllConnections
|
||
|
|
||
|
|
||
|
pre.prettyprint
|
||
|
code.
|
||
|
resolveAllConnections()
|
||
|
|
||
|
:markdown
|
||
|
|
||
|
Can be used in conjunction with `verifyNoPendingRequests` to resolve any not-yet-resolve
|
||
|
connections, if it's expected that there are connections that have not yet received a response.
|
||
|
|
||
|
This method only exists in the mock implementation, not in real Backends.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
.l-sub-section
|
||
|
h3 createConnection
|
||
|
|
||
|
|
||
|
pre.prettyprint
|
||
|
code.
|
||
|
createConnection(req: Request)
|
||
|
|
||
|
:markdown
|
||
|
|
||
|
Creates a new <a href='MockConnection-class.html'><code>MockConnection</code></a>. This is equivalent to calling `new
|
||
|
MockConnection()`, except that it also will emit the new `Connection` to the `connections`
|
||
|
emitter of this `MockBackend` instance. This method will usually only be used by tests
|
||
|
against the framework itself, not by end-users.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|