Jasmine.js Test - Spion am Fenster.öffnen

JS

var link = this.notificationDiv.getElementsByTagName('a')[0];

link.addEventListener('click', function (evt){
    evt.preventDefault();
    visitDestination(next);
  }, false);
}

var visitDestination = function(next){
    window.open(next)
}

Spec

  var next = "http://www.example.com"

  it( 'should test window open event', function() {

    var spyEvent = spyOnEvent('#link', 'click' ).andCallFake(visitDestination(next));;
    $('#link')[0].click();
    expect( 'click' ).toHaveBeenTriggeredOn( '#link' );
    expect( spyEvent ).toHaveBeenTriggered();

    expect(window.open).toBeDefined();
    expect(window.open).toBe('http://www.example.com');    
 });

Schreiben wie man die Skillung zu testen, wenn der link geklickt wird, ruft es visitDestination und sorgt dafür window.open == next? Wenn ich versuche zu laufen, die spec-es öffnet sich das neue Fenster.

InformationsquelleAutor baconck | 2016-09-20

Schreibe einen Kommentar