Reputation: 223
One of my developers have written the code in js file like this using backbone..
define([],function(){
var sampleFunction = Backbone.view.extend({
initialize:function(){
$( 'body' ).on( 'keypress', '#listItemName', function ( ev ) {
if ( ev.keyCode === 13 ) {
$( '#createList' ).click();
return false;
}
} );
},
events:{
"click #createList": "handleCreateNewList",
},
}),
}
And i have to write a test case for this on keypress function ...
I have written my spec like
describe("",function(){
beforeEach(function({
});
afterEach(function(){
});
it("Binding create list event to enter button",function(){
spyOn( _this.leftNavView, "handleCreateNewList");
_this.leftNavView.delegateEvents();
var e = jQuery.Event("Keypress");
e.keyCode = 13;
if(e.keyCode == 13){
$("#createList").trigger('click');
}
expect( _this.leftNavView.handleCreateNewList ).toHaveBeenCalled();
});
}),
My spec is calling only the click event for createlist, but i want to call the on keypress event for #listItemName and inside that create list click event. Am just confusing here, tried a lot but i did't find any results.
Some code was removed..
Upvotes: 2
Views: 645
Reputation: 13734
Have you tried, something like this :
var e = $.Event('keypress');
e.keyCode = 13;
$('#listItemName').trigger(e);
Upvotes: 1