shiva
shiva

Reputation: 223

jasmine test cases with backbone js

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

Answers (1)

coding_idiot
coding_idiot

Reputation: 13734

Have you tried, something like this :

    var e = $.Event('keypress');
    e.keyCode = 13;
    $('#listItemName').trigger(e);

Upvotes: 1

Related Questions