I'm running a Karma spec to test the functionality of an Angular BaseClass for my models that is outlined in an Egghead.io tutorial.
The behavior seems to be working, but I'm running into a weird error:
PhantomJS 1.9.7 (Mac OS X) BCCache adds a cache to the model FAILED
Expected { } to equal { }.
Error: Expected { } to equal { }.
What I could find of this error (it's hard to search, given the characters -- suggests that toEqual
should be able to recognize the two objects' equivalence -- so I'm a little stumped.
Here's the spec code (coffeescript) :
describe 'BCCache', ->
it "adds a cache to the model", ->
expect(Post.cached).toEqual({})
And here's what it's testing:
base.coffee
angular.module("BaseClass")
.factory "BCBase", ['BCCache', (Cache) ->
Base = (attributes) ->
_constructor = this
_prototype = _constructor.prototype
_constructor.cached = new Cache()
return Base
]
cache.coffee
angular.module('BaseClass')
.factory 'BCCache', ->
Cache = ->
return Cache
The spec is basically asserting that the cached
method (currently) returns a new empty object, which the cache.coffee
file seems to successfully do. But somehow, Karma doesn't see the two empty objects as equivalent. Any idea why? I'm a little stumped.