Skip to content

Commit e46ee07

Browse files
committed
chore(matchers): enhance toHaveTriggeredSensorEvent with count
This ensures that we can verify that drag:start only happens once when there are both delay and distance conditions configured
1 parent 052744e commit e46ee07

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

scripts/test/matchers/sensor.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
1-
function toHaveTriggeredSensorEvent(received, expectedEventName) {
1+
function toHaveTriggeredSensorEvent(received, expectedEventName, count) {
22
let triggered = false;
3-
3+
let callCount = 0;
44
function callback() {
5+
count !== undefined && (callCount = callCount + 1);
56
triggered = true;
67
}
78

89
document.addEventListener(expectedEventName, callback);
910
received();
1011
document.removeEventListener(expectedEventName, callback);
1112

12-
const pass = Boolean(triggered);
13+
const pass = Boolean(triggered) && Boolean(count === undefined || callCount === count);
1314

1415
return {
1516
pass,
1617
message: () => {
1718
const expectation = pass ? 'not to have been' : 'to have been';
19+
const defaultMessage = `Expected sensor event '${expectedEventName}' ${expectation} to be triggered`;
1820

19-
return `Expected sensor event '${expectedEventName}' ${expectation} triggered`;
21+
return count ? `${defaultMessage} ${count} time(s)` : defaultMessage;
2022
},
2123
};
2224
}

0 commit comments

Comments
 (0)