Unit Testing Tap (instead of click)


#1

If I’m using Karma and Jasmine to test my Ionic application, here’s how I’d test a click event:

spyOn(storyPreview, 'goToStory');

var previewInner = storyPreviewEl.querySelector('.story-preview');

previewInner.click();

// previewInner.tap() <----- this doesn't work
// previewInner.dispatchEvent('tap') <----- neither does this

storyPreviewFixture.detectChanges();

expect(storyPreview.goToStory).toHaveBeenCalled();

However, I wanted to use the (tap) directive instead of the (click) because it responds much faster but I wasn’t able to figure out how to test that in my unit test. Doing previewInner.tap() doesn’t work. I know you guys are using Hammer under the hood and I saw a post on Stack Overflow about Hammer specifically but figured I’d ask here in case others were wondering how to test it for Ionic.