Skip to content

Instantly share code, notes, and snippets.

@neaf
Created June 6, 2011 10:36
Show Gist options
  • Save neaf/1010055 to your computer and use it in GitHub Desktop.
Save neaf/1010055 to your computer and use it in GitHub Desktop.
_ = require('underscore')
assert = require('assert')
sinon = require('sinon')
Game = require('../../game/game')
db = require('../../db')
module.exports =
"setMongoObject(),
assigns mongo game to the instance,
calls rebuildState()": (done) ->
mongo_game = new db.Game()
game = new Game(mongo_game)
mock = sinon.mock(game)
mock.expects("rebuildState").once()
game.setMongoObject(mongo_game)
assert.equal(game.mongo, mongo_game)
mock.verify()
done()
"authorizePlayer(),
fires callback if player is added to the game": (done) ->
mongo_game = new db.Game()
game = new Game(mongo_game)
player = new db.Player()
game.setMongoObject(mongo_game)
game.setMongoObject(mongo_game)
game.mongo.player_ids = [player.id]
done()
# TODO: Test for save and broadcast
"addEvent(),
appends event to queue,
saves mongo object,
calls broadcast() with event": (done) ->
mongo_game = new db.Game()
game = new Game(mongo_game)
game.setMongoObject(mongo_game)
event = { type: "test.event" }
game.addEvent(event)
assert.ok(_.include(game.events, event))
assert.ok(_.include(game.mongo.events, event))
done()
"addMessage(),
adds message event": (done) ->
game = new Game()
player = new db.Player()
mock = sinon.mock(game).expects("addEvent").once()
result = game.addMessage(player, "Test body")
assert.equal(result.data.player.id, player.id)
assert.equal(result.data.body, "Test body")
mock.verify()
done()
"disconnect mongo": (done) ->
db.mongoose.disconnect()
done()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment