Skip to content

Instantly share code, notes, and snippets.

@roykolak
Created June 26, 2011 20:00
Show Gist options
  • Save roykolak/1047915 to your computer and use it in GitHub Desktop.
Save roykolak/1047915 to your computer and use it in GitHub Desktop.
require('../lib/texting_buds');
require('../lib/store');
require('../lib/sender');
describe('TextingBuds', function() {
var textingBuds, sender, store, number, stubbedQuery;
beforeEach(function() {
sender = new Sender({});
store = new Store({});
number = '8057698255';
textingBuds = new TextingBuds(sender, store);
stubbedQuery = function(query, result) {
spyOn(store, query).andCallFake(function() {
var args = this[query].mostRecentCall.args;
var callback = args[args.length - 1];
callback(result);
});
};
});
describe('#next', function() {
describe('When the buddy queue is empty', function() {
beforeEach(function() {
spyOn(sender, 'emptyQueueSms');
stubbedQuery('getAssignedBuddy', null);
stubbedQuery('getBuddiesWaiting', []);
stubbedQuery('addBuddyWaiting', true);
});
it('sends the empty queue SMS to the person', function() {
textingBuds.next(number);
expect(sender.emptyQueueSms).toHaveBeenCalledWith(number);
});
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment