@netsells/simulate-user
Advanced tools
Comparing version 2.1.1 to 2.1.2
# Changelog | ||
## 2.1.2 (13/3/19) | ||
- Added target to callbacks | ||
## 2.1.0 (13/3/19) | ||
@@ -4,0 +8,0 @@ |
@@ -12,2 +12,4 @@ "use strict"; | ||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")); | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
@@ -71,3 +73,2 @@ | ||
_this.emitter = new _events["default"](); | ||
_this.logs = []; | ||
return (0, _possibleConstructorReturn2["default"])(_this, new Proxy((0, _assertThisInitialized2["default"])(_this), { | ||
@@ -97,6 +98,8 @@ /** | ||
target.emit(CALLBACKS.BEFORE_CALL, { | ||
var beforeCall = { | ||
method: prop, | ||
args: args | ||
}); | ||
args: args, | ||
target: target | ||
}; | ||
target.emit(CALLBACKS.BEFORE_CALL, beforeCall); | ||
@@ -107,7 +110,5 @@ try { | ||
} finally { | ||
target.emit(CALLBACKS.AFTER_CALL, { | ||
method: prop, | ||
args: args, | ||
target.emit(CALLBACKS.AFTER_CALL, (0, _objectSpread2["default"])({}, beforeCall, { | ||
returned: returned | ||
}); | ||
})); | ||
} | ||
@@ -138,5 +139,2 @@ }; | ||
instance.emitter = this.emitter; | ||
this.logs.push({ | ||
child: instance.logs | ||
}); | ||
return instance; | ||
@@ -160,7 +158,2 @@ } | ||
this.logs.push({ | ||
callback: callback, | ||
args: args | ||
}); | ||
(_this$emitter = this.emitter).emit.apply(_this$emitter, [callback].concat(args)); | ||
@@ -167,0 +160,0 @@ } |
{ | ||
"name": "@netsells/simulate-user", | ||
"version": "2.1.1", | ||
"version": "2.1.2", | ||
"description": "Library for simulating user interactions using JavaScript in the browser", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -32,3 +32,2 @@ import EventEmitter from 'events'; | ||
this.emitter = new EventEmitter(); | ||
this.logs = []; | ||
@@ -54,4 +53,9 @@ return new Proxy(this, { | ||
let returned; | ||
const beforeCall = { | ||
method: prop, | ||
args, | ||
target, | ||
}; | ||
target.emit(CALLBACKS.BEFORE_CALL, { method: prop, args }); | ||
target.emit(CALLBACKS.BEFORE_CALL, beforeCall); | ||
@@ -64,4 +68,3 @@ try { | ||
target.emit(CALLBACKS.AFTER_CALL, { | ||
method: prop, | ||
args, | ||
...beforeCall, | ||
returned, | ||
@@ -87,6 +90,2 @@ }); | ||
this.logs.push({ | ||
child: instance.logs, | ||
}); | ||
return instance; | ||
@@ -102,7 +101,2 @@ } | ||
emit(callback, ...args) { | ||
this.logs.push({ | ||
callback, | ||
args, | ||
}); | ||
this.emitter.emit(callback, ...args); | ||
@@ -109,0 +103,0 @@ } |
@@ -32,2 +32,3 @@ import { getDebugUser } from '../../src/index'; | ||
args: [{ text: 'Input' }], | ||
target: user, | ||
}); | ||
@@ -40,22 +41,6 @@ }); | ||
args: [{ text: 'Input' }], | ||
target: user, | ||
returned: expect.any(Promise), | ||
}); | ||
}); | ||
it('adds to the logs', () => { | ||
expect(user.logs).toEqual([{ | ||
callback: 'beforeCall', | ||
args: [{ | ||
method: 'find', | ||
args: [{ text: 'Input' }], | ||
}], | ||
}, { | ||
callback: 'afterCall', | ||
args: [{ | ||
method: 'find', | ||
args: [{ text: 'Input' }], | ||
returned: expect.any(Promise), | ||
}], | ||
}]); | ||
}); | ||
}); | ||
@@ -75,67 +60,11 @@ | ||
it('will emit beforeCall on the existing callbacks', () => { | ||
user.find({ text: 'Textarea' }); | ||
inputWrapper.find({ text: 'Textarea' }); | ||
expect(beforeCall).toHaveBeenCalledWith({ | ||
expect(beforeCall.mock.calls[1]).toEqual([{ | ||
method: 'find', | ||
args: [{ text: 'Textarea' }], | ||
}); | ||
}); | ||
it('adds to the logs', () => { | ||
expect(user.logs).toEqual([{ | ||
callback: 'beforeCall', | ||
args: [{ | ||
method: 'getElementById', | ||
args: ['a'], | ||
}], | ||
}, { | ||
child: [], | ||
}, { | ||
callback: 'afterCall', | ||
args: [{ | ||
method: 'getElementById', | ||
args: ['a'], | ||
returned: expect.anything(), | ||
}], | ||
target: inputWrapper, | ||
}]); | ||
}); | ||
describe('when calling methods on the child wrapper', () => { | ||
beforeEach(async () => { | ||
await inputWrapper.click(); | ||
}); | ||
it('will add to the child logs', () => { | ||
expect(user.logs).toEqual([{ | ||
callback: 'beforeCall', | ||
args: [{ | ||
method: 'getElementById', | ||
args: ['a'], | ||
}], | ||
}, { | ||
child: [{ | ||
callback: 'beforeCall', | ||
args: [{ | ||
method: 'click', | ||
args: [], | ||
}], | ||
}, { | ||
callback: 'afterCall', | ||
args: [{ | ||
method: 'click', | ||
args: [], | ||
returned: expect.any(Promise), | ||
}], | ||
}], | ||
}, { | ||
callback: 'afterCall', | ||
args: [{ | ||
method: 'getElementById', | ||
args: ['a'], | ||
returned: expect.anything(), | ||
}], | ||
}]); | ||
}); | ||
}); | ||
}); | ||
}); |
103191
2348