| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import sysend from 'sysend'
- import sinon from 'sinon'
- const sysendSpy = sinon.spy(sysend)
- function resetHistory() {
- for (const method of Object.keys(sysendSpy)) {
- if (sysendSpy[method].resetHistory) sysendSpy[method].resetHistory()
- }
- }
- // sysends sends and receives custom calls in the background. This Helps
- // filtering them out
- function getDetachCalls(method) {
- return sysend[method]
- .getCalls()
- .filter(call => call.args[0].startsWith('detach-'))
- }
- function getLastDetachCall(method) {
- return getDetachCalls(method).pop()
- }
- function getLastBroacastMessage() {
- return getLastDetachCall('broadcast').args[1]
- }
- // this fakes receiving a message by calling the handler add to `on`. A bit
- // funky, but works for now
- function receiveMessage(message) {
- getLastDetachCall('on').args[1](message)
- }
- export default {
- spy: sysendSpy,
- resetHistory,
- getDetachCalls,
- getLastDetachCall,
- getLastBroacastMessage,
- receiveMessage,
- }
|