У меня есть вид с submit
метод. Как написать модульный тест, чтобы проверить, что событие срабатывает в следующем кодеunit test Магистральная модель save handle
submit:(event) ->
MyModel.save(null, {
success: (model, response)=>
@trigger('saveSuccess', response)
})
примечание: Я не хочу, чтобы проверить, что успех называется
Попытка:
it 'Should trigger events on save', (done) ->
originalSave = MyModel.save
triggerSpy = sinon.spy()
MyModel.on('rating:saveSuccess', triggerSpy)
stub = sinon.stub(MyModel, "save", ->
successSpy = sinon.spy(arguments[1].success)
originalSave.apply(MyModel, arguments);
# want to call this line in the successSpy callback
expect(triggerSpy.callCount).to.equal(1);
done()
)
MyView.submit({})
expect(stub).to.have.been.called
Редактировать Вторая попытка (работал, но не уверен, что его правильный путь)
it 'Should trigger events on save', (done) ->
triggerSpy = sinon.spy()
MyView.on('saveSuccess', triggerSpy)
stub = sinon.stub(MyModel, "save", ->
arguments[1].success()
expect(triggerSpy.callCount).to.equal(1);
done()
)
MyView.submitReval({})
expect(stub).to.have.been.called