Skip to content

Instantly share code, notes, and snippets.

@magnars
Created November 1, 2013 09:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save magnars/7263165 to your computer and use it in GitHub Desktop.
Save magnars/7263165 to your computer and use it in GitHub Desktop.
(function (L) {
"use strict";
describe("lms.events 'first-results'", function () {
var eventHub;
beforeEach(function () {
eventHub = FINN.eventHub.create();
L.setupFirstResultsEvent(eventHub);
});
function setupFirstResultsListener() {
var listener = sinon.spy();
eventHub.subscribe("first-results", listener);
return listener;
}
it("fires on first polling-response with offers", function () {
var listener = setupFirstResultsListener();
var resultWithOffers = { offers: [{}] };
eventHub.publish("polling-response", resultWithOffers);
assert.calledOnceWith(listener, resultWithOffers);
});
it("does not fire on missing offers", function () {
var listener = setupFirstResultsListener();
eventHub.publish("polling-response", {});
refute.called(listener);
});
it("does not fire on empty offers", function () {
var listener = setupFirstResultsListener();
eventHub.publish("polling-response", { offers: [] });
refute.called(listener);
});
it("fires only once", function () {
var listener = setupFirstResultsListener();
var result = { offers: [{}] };
eventHub.publish("polling-response", result);
eventHub.publish("polling-response", result);
assert.calledOnce(listener);
});
});
}(FINN.travel.lms));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment