## QA Steps (Technical)
Run through the scenarios below, making a detailed note of the events that were logged.
---
## Scenario 1:
**Action**: User hovers a link, waits to show page preview, moves mouse over the page preview, moves mouse away from page preview
Events sent: `dismissed` (after moving mouse from link to popup), and `dismissed` again (when moving out of popup)
## Scenario 2:
**Action**: User hovers a link, waits to show page preview, clicks CTRL+click to open link in new tab
Events Sent: `opened`, `dismissed`, `dismissed`
Events Sent: `opened`, `dwelledButAbandoned`, `dwelledButAbandoned` (different scenario, popup was visible, but because some (look below for **general issue**) reason browser sends `dwelledButAbandoned`)
Expected events: opened~~, dismissed~~
## Scenario 3:
**Action**: User hovers a link, waits to show page preview, moves mouse pointer over the popup, clicks CTRL+click to open link in new tab
Events sent: `dismissed`, `dwelledButAbandoned` (happens when user moves mouse out of popup over a link)
Events sent: `dismissed`, `dismissed` (Chromium, Firefox)
Expected events: opened~~, dismissed~~
## Scenario 4:
**Action**: User hovers a link, then moves mouse below the link (where popup will appear), popup appears and stays under mouse
Events sent: `dwelledButAbandoned`, `dwelledButAbandoned`
Expected events: `dwelledButAbandoned`, no popup is shown
## Scenario 5:
**Action**: User hovers a link, popup loads, then quickly moves mouse out of the page preview and then immediately brings mouse back over popup
Events sent: `dismissed` every time mouse leaves the popup, because move gets back over the page preview popup doesn't dismiss, I'm able to send 10-20 dismiss events for same popup (even it stays on top)
Expected events: only one `dismissed` event when popup actually gets closed
## Scenario 6:
**Action**: Slow connection/network hiccup, user moves mouse over link couple times before AJAX call is made and moves mouse away from link
Events sent: `dwelledButAbandoned` as many times as mouse was over the link sent after AJAX request is made
Expected events: current scenario is correct (but make sure each `dwelledButAbandoned` event has a different `linkInteractionToken`)
## Scenario 7:
The killer feature
**Action**: User hovers a link, popup appears, moves mouse over popup, moves it back over a link, clicks CTRL+click to open link in new tab
Events set: `dismissed`, `dwelledButAbandoned`, `opened`, `dwelledButAbandoned`, `dwelledButAbandoned`
## General issue:
If mouse pointer is over popup, and leaves popup over link (hover over link, hover over popup, hover back over link, move mouse pointer away) browser sends `dwelledButAbandoned` event even popup was visible
Tested:
* Chromium 56
* Firefox 51
For reference:
- https://meta.wikimedia.org/wiki/Schema:Popups
- https://meta.wikimedia.org/wiki/Schema_talk:Popups#State_diagram