ima-ui-atoms
Version:
IMA.js UI React atoms
44 lines (37 loc) • 1.42 kB
JavaScript
;
var _Visibility = _interopRequireDefault(require("../Visibility"));
var _window2 = _interopRequireDefault(require("../mocks/window"));
var _dispatcher2 = _interopRequireDefault(require("../mocks/dispatcher"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Visibility', () => {
let reader = () => {};
let writer = () => {};
let options = {
visibilityInterval: 180
};
let visibility = null;
beforeEach(() => {
visibility = new _Visibility.default(_window2.default, _dispatcher2.default);
});
describe('register method', () => {
it('should return visibilityId', () => {
expect(typeof visibility.register(reader, writer, options) === 'string').toEqual(true);
});
it('should start listening on scroll and resize events', () => {
spyOn(visibility, '_listenOnEvents');
visibility.register(reader, writer, options);
expect(visibility._listenOnEvents).toHaveBeenCalled();
});
});
describe('unregister method', () => {
let visibilityId = null;
beforeEach(() => {
visibilityId = visibility.register(reader, writer, options);
});
it('should stop listening on scroll and resize events', () => {
spyOn(visibility, '_unlistenOnEvents');
visibility.unregister(visibilityId);
expect(visibility._unlistenOnEvents).toHaveBeenCalled();
});
});
});