3

jQuery-Jasmine拡張機能を使用してイベントをスパイしていますが、正しい構文を取得できません。

// Get a button
var $button = $( '#ai1ec_subscribe_users' );
// Call the function
utility_functions.block_all_submit_and_ajax( $button.get(0) );
// check that all submit are disabled
var first_multi = $( '.ai1ec-facebook-refresh-multiselect:first' );
spyOnEvent( '.ai1ec-facebook-refresh-multiselect:first', 'click' );
first_multi.click();
expect( 'click' ).toHaveBeenTriggeredOn( '.ai1ec-facebook-refresh-multiselect:first' );

これで元に戻る

.ai1ec-facebook-refresh-multiselect:first でトリガーされると予想されるイベント クリック

しかし、チェックの前に行をクリックしたので、何か間違ったことをしているに違いありません。

4

1 に答える 1

6

問題は、イベントを正しい方法でトリガーしていなかったことです。

これはうまくいきました:

it( "Prevent all ajax functionality", function() {
        // Get a button
        var $button = $( '#ai1ec_subscribe_users' );
        // Call the function
        utility_functions.block_all_submit_and_ajax( $button.get(0) );
        // check that all submit are disabled
        spyOnEvent( $( '.ai1ec-facebook-refresh-multiselect:first' ), 'click' );
        $( '.ai1ec-facebook-refresh-multiselect:first' )[0].click();
        expect( 'click' ).toHaveBeenTriggeredOn( $( '.ai1ec-facebook-refresh-multiselect:first' ) );
} );
于 2012-06-11T16:20:48.983 に答える