I'm using angular version1 and need to test some jquery on my index.html page.
I have added jquery to my karma conf but when I run this test jquery is undefined.
Code I'm looking to test:
<!-- Is Angular supported -->
<script>
if(window.angular === undefined)
$(function(){$("#angularNotSupportedModal").load("/app/noAngularModal.html");});
</script>
<div id="angularNotSupportedModal"></div>
My test code:
it('should call through $ chain', (done) => {
var angular = window.angular;
window.angular = undefined;
spyOn(jQuery.prototype, 'ready').and.callThrough();
spyOn(jQuery.prototype, 'load').and.callThrough();
// make spy not break the chain
var init = jQuery.prototype.init.bind(jQuery.prototype);
spyOn(jQuery.prototype, 'init').and.callFake(init);
window.runAngularNotSupportedFunction();
expect(jQuery.prototype.ready).toHaveBeenCalledWith(jasmine.any(Function));
expect(jQuery.prototype.init).toHaveBeenCalledWith('#angularNotSupportedModal', undefined);
expect(jQuery.prototype.load).toHaveBeenCalledWith('/app/noAngularModal.html');
window.angular = angular;
jQuery.ready.promise().done(done)
})
Aucun commentaire:
Enregistrer un commentaire