kibana-with-account
Version:
kibana-with-account is develop based kibana project
60 lines (48 loc) • 1.69 kB
JavaScript
import ngMock from 'ngMock';
import expect from 'expect.js';
import sinon from 'auto-release-sinon';
import RequestQueueProv from '../../_request_queue';
import DocSourceProv from '../doc_source';
describe('DocSource', function () {
require('testUtils/noDigestPromises').activateForSuite();
let requestQueue;
let DocSource;
beforeEach(ngMock.module('kibana'));
beforeEach(ngMock.inject(function (Private) {
requestQueue = Private(RequestQueueProv);
DocSource = Private(DocSourceProv);
}));
describe('#onUpdate()', function () {
it('adds a request to the requestQueue', function () {
const source = new DocSource();
expect(requestQueue).to.have.length(0);
source.onUpdate();
expect(requestQueue).to.have.length(1);
});
it('returns a promise that is resolved with the results', function () {
const source = new DocSource();
const fakeResults = {};
const promise = source.onUpdate().then((results) => {
expect(results).to.be(fakeResults);
});
requestQueue[0].defer.resolve(fakeResults);
return promise;
});
});
describe('#destroy()', function () {
it('aborts all startable requests', function () {
const source = new DocSource();
source.onUpdate();
sinon.stub(requestQueue[0], 'canStart').returns(true);
source.destroy();
expect(requestQueue).to.have.length(0);
});
it('aborts all non-startable requests', function () {
const source = new DocSource();
source.onUpdate();
sinon.stub(requestQueue[0], 'canStart').returns(false);
source.destroy();
expect(requestQueue).to.have.length(0);
});
});
});