Results 1 to 2 of 2

Thread: Spying on controllers method never get called

  1. #1
    Sencha User
    Join Date
    Mar 2012
    Posts
    35
    Answers
    2
    Vote Rating
    0
      0  

    Default Spying on controllers method never get called

    Hi folks,

    In my test code I use sinon to spy on my components methods and events. It has being working great with all components (forms, buttons, etc) but when I try to spy on controllers method, the controller always calls the real method and never the spy, even thou I can confirm that the real method was replaced by the spy.

    Any idea how this is possible?

    Below we have a pseudo-code
    Code:
    controller.js
    
    Ext.define('myapp.controller.Main', {
        extend: 'Ext.app.Controller',
    
    
        requires:[
            'myapp.view.Account.AccountForm'
        ],
    
    
        config: {
            refs: {
                accountForm: {
                    selector: 'account-form',
                    xtype: 'account-form',
                    autoCreate: true
                }
            },
            control: {
                'account-form': {
                    save: 'onAccountSave'
                }
            }
        },
    
    
        onAccountSave: function(form, user){
            console.log('real onAccountSave: ', user);
            });
        },
    });

    Code:
    test/controller-spec.js
    
    var main = MyApp.app.getController('MyApp.controller.Main');
    var account_form = main.getAccountForm();
    var spy = sinon.spy(main, 'onAccountSave');
    account_form.fireEvent('save', account_form, {});
    spy.should.have.been.called;

  2. #2
    Sencha User mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    40,050
    Answers
    3976
    Vote Rating
    1382
      0  

    Default

    I've never used sinon but from what it looks it should have been called.
    Mitchell Simoens @LikelyMitch
    Modus Create, Senior Frontend Engineer
    ________________
    Need any sort of Ext JS help? Modus Create is here to help!

    Check out my GitHub:
    https://github.com/mitchellsimoens

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •