I have a Backbone Model:
class DateTimeSelector extends Backbone.Model
initialize: ->
@bind \'change:date\', @updateDatetime
@bind \'change:tim
You're mixing the mocking syntax of jasmine and sinon together.
In your passing test your sinon spy exposes the property calledOnce but you're using a jasmine-esque function toHaveBeenCalledOnce(). This function doesn't exist on the sinon spy so essentially no assert is taking place.
In your failing tests you're calling the jasmine spy function toHaveBeenCalled() on your sinon spy. Jasmine has its own syntax for creating a spy: spyOn(obj, 'method');