       
       scope.create(firstName: "Lance!")
       
-      assert.deepEqual scope.build).toHaveBeenCalledWith(
+      expect(scope.build).toHaveBeenCalledWith(
         { firstName: "Lance!" }
       )
       

      
      args = scope.store.create.argsForCall[0]
      
      assert.deepEqual args[0].attributes, { id: undefined, firstName : 'Lantial', createdAt : new Date, updatedAt : new Date, likes : 0, tags : [  ], postIds : [  ] }
      assert.deepEqual args[1], { instantiate: false }
      
    test 'create(firstName: "Lantial")', ->
      scope.create(firstName: "Lantial")
      
      assert.deepEqual User.count(), 3
      
  test '#clone', ->
    clone = scope.where(firstName: "Lance")
    clone2 = clone.where(email: "example@gmail.com")
    
    assert.deepEqual clone.criteria.conditions()).toNotEqual scope.criteria.query
    assert.deepEqual clone2.criteria.conditions(), firstName: "Lance", email: "example@gmail.com"
    assert.deepEqual clone.criteria.conditions(), firstName: "Lance"
    assert.deepEqual scope.criteria.conditions(), {}

      spyOn scope.store, "find"
      scope.find [1, 2, 3], callback
      
      expect(scope.store.find).toHaveBeenCalledWith {id: $in: [1, 2, 3]}, {  }, callback
      
    #test 'where(id: $in: [1, 2, 3]).find(1) should only pass id: $in: [1]', ->
    #  spyOn scope.store, "find"
    #  scope.where(id: $in: [1, 2, 3]).find(1)
    #  
    #  expect(scope.store.find).toHaveBeenCalledWith {id: $in: [1]}, {  }, null
      
  describe '#update', ->
    test '`1, 2, 3`', ->
      spyOn scope.store, "update"
      scope.update 1, 2, 3, {firstName: "Lance"}, instantiate: false
      
      expect(scope.store.update).toHaveBeenCalledWith { firstName : 'Lance' }, { id : { $in : [ 1, 2, 3 ] } }, {  }, null 
      
    test '`[1, 2, 3]`', ->
      spyOn scope.store, "update"
      scope.update 1, 2, 3, {firstName: "Lance"}, instantiate: false

      expect(scope.store.update).toHaveBeenCalledWith { firstName : 'Lance' }, { id : { $in : [ 1, 2, 3 ] } }, {  }, null 
      
  describe '#destroy', ->
    test '`1, 2, 3`', ->
      spyOn scope.store, "destroy"
      scope.destroy 1, 2, 3, instantiate: false
      
      expect(scope.store.destroy).toHaveBeenCalledWith { id : { $in : [ 1, 2, 3 ] } }, {  }, null 
      
    test '`[1, 2, 3]`', ->
      spyOn scope.store, "destroy"
      scope.destroy 1, 2, 3, instantiate: false
      
      expect(scope.store.destroy).toHaveBeenCalledWith  { id : { $in : [ 1, 2, 3 ] } }, {  }, null 
      
    test 'query + ids', ->
      spyOn scope.store, "destroy"
      scope.where(firstName: "John").destroy 1, 2, 3, instantiate: false
      
      expect(scope.store.destroy).toHaveBeenCalledWith  { firstName: "John", id : { $in : [ 1, 2, 3 ] } }, {  }, null
      
  describe '#create', ->
    test 'build(firstName: "Lance!")', ->
