Skip to content

Commit

Permalink
Merge pull request #10 from mattjay/codename_tests
Browse files Browse the repository at this point in the history
codename tests working
  • Loading branch information
mattjay committed Nov 20, 2013
2 parents 41df1d6 + b449046 commit 83d7ce5
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions src/spec/code-name-generator.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/**
* Created by mattjohansen on 11/19/13.
*/

var codename = require('../scripts/code-name-generator.coffee');
var HttpClient = require('scoped-http-client');

describe('codename', function() {
var robot, msg = null;

beforeEach(function(){
robot = {
respond: function(regex, callback){},
http: function(url){}
}
spyOn(robot, 'respond').andCallThrough();
spyOn(robot, 'http').andCallFake(function(){
var url = robot.http.mostRecentCall.args[0];
var client = HttpClient.create(url);
spyOn(client, 'get').andReturn(function(){});
return client
});
codename(robot);
msg = {
match: 'codename'.match(robot.respond.mostRecentCall.args[0]),
send: function() {}
}
});

it('should be a function', function(){
expect(typeof(codename)).toBe('function');
});

it('should generate the correct URL', function() {
expect(robot.respond).toHaveBeenCalled();
robot.respond.mostRecentCall.args[1](msg);
expect(robot.http).toHaveBeenCalled();
expect(robot.http.mostRecentCall.args[0]).toBeDefined();
expect(robot.http.mostRecentCall.args[0]).toBe('https://gist.github.com/sroberts/6529712/raw/1e979071f6a9e8747d2c44cf5af7c4998e068d49/wordlist')
});

//TODO - More verbose tests to make sure this doesn't get called when Regex fails
//TODO - Get access to the callback to actually test the body and parsing

});

0 comments on commit 83d7ce5

Please sign in to comment.