| 12345678910111213141516171819202122232425262728293031323334353637 |
- sinon = require('sinon')
- chai = require('chai')
- should = chai.should()
- modulePath = "../../../../app/js/Features/User/UserLocator.js"
- SandboxedModule = require('sandboxed-module')
- describe "UserLocator", ->
- beforeEach ->
- @user = {_id:"12390i"}
- @UserLocator = SandboxedModule.require modulePath, requires:
- "../../infrastructure/mongojs": db: @db = { users: {} }
- @db.users =
- findOne : sinon.stub().callsArgWith(1, null, @user)
- @email = "bob.oswald@gmail.com"
- describe "findByEmail", ->
- it "should try and find a user with that email address", (done)->
- @UserLocator.findByEmail @email, (err, user)=>
- @db.users.findOne.calledWith(email:@email).should.equal true
- done()
- it "should trim white space", (done)->
- @UserLocator.findByEmail "#{@email} ", (err, user)=>
- @db.users.findOne.calledWith(email:@email).should.equal true
- done()
- it "should return the user if found", (done)->
- @UserLocator.findByEmail @email, (err, user)=>
- user.should.deep.equal @user
- done()
|