UNPKG

webdriverio-automation

Version:

WebdriverIO-Automation android ios project

89 lines (73 loc) 10.8 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); require("source-map-support/register"); var _log = _interopRequireDefault(require("../../../lib/basedriver/commands/log")); var _chai = _interopRequireDefault(require("chai")); var _chaiAsPromised = _interopRequireDefault(require("chai-as-promised")); var _sinon = _interopRequireDefault(require("sinon")); var _lodash = _interopRequireDefault(require("lodash")); _chai.default.should(); _chai.default.use(_chaiAsPromised.default); const expect = _chai.default.expect; const FIRST_LOGS = ['first', 'logs']; const SECOND_LOGS = ['second', 'logs']; const SUPPORTED_LOG_TYPES = { one: { description: 'First logs', getter: () => _lodash.default.clone(FIRST_LOGS) }, two: { description: 'Seconds logs', getter: () => _lodash.default.clone(SECOND_LOGS) } }; describe('log commands -', function () { beforeEach(function () { _log.default.supportedLogTypes = {}; }); describe('getLogTypes', function () { it('should return empty array when no supported log types', async function () { (await _log.default.getLogTypes()).should.eql([]); }); it('should return keys to log type object', async function () { _log.default.supportedLogTypes = SUPPORTED_LOG_TYPES; (await _log.default.getLogTypes()).should.eql(['one', 'two']); }); }); describe('getLog', function () { beforeEach(function () { _sinon.default.spy(SUPPORTED_LOG_TYPES.one, 'getter'); _sinon.default.spy(SUPPORTED_LOG_TYPES.two, 'getter'); }); afterEach(function () { SUPPORTED_LOG_TYPES.one.getter.restore(); SUPPORTED_LOG_TYPES.two.getter.restore(); }); it('should throw error if log type not supported', async function () { await _log.default.getLog('one').should.eventually.be.rejected; SUPPORTED_LOG_TYPES.one.getter.called.should.be.false; SUPPORTED_LOG_TYPES.two.getter.called.should.be.false; }); it('should throw an error with available log types if log type not supported', async function () { _log.default.supportedLogTypes = SUPPORTED_LOG_TYPES; let err; try { await _log.default.getLog('three'); } catch (_err) { err = _err; } expect(err).to.exist; err.message.should.eql(`Unsupported log type 'three'. Supported types: {"one":"First logs","two":"Seconds logs"}`); SUPPORTED_LOG_TYPES.one.getter.called.should.be.false; SUPPORTED_LOG_TYPES.two.getter.called.should.be.false; }); it('should call getter on appropriate log when found', async function () { _log.default.supportedLogTypes = SUPPORTED_LOG_TYPES; let logs = await _log.default.getLog('one'); logs.should.eql(FIRST_LOGS); SUPPORTED_LOG_TYPES.one.getter.called.should.be.true; SUPPORTED_LOG_TYPES.two.getter.called.should.be.false; }); }); });require('source-map-support').install(); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvYmFzZWRyaXZlci9jb21tYW5kcy9sb2ctc3BlY3MuanMiXSwibmFtZXMiOlsiY2hhaSIsInNob3VsZCIsInVzZSIsImNoYWlBc1Byb21pc2VkIiwiZXhwZWN0IiwiRklSU1RfTE9HUyIsIlNFQ09ORF9MT0dTIiwiU1VQUE9SVEVEX0xPR19UWVBFUyIsIm9uZSIsImRlc2NyaXB0aW9uIiwiZ2V0dGVyIiwiXyIsImNsb25lIiwidHdvIiwiZGVzY3JpYmUiLCJiZWZvcmVFYWNoIiwibG9nQ29tbWFuZHMiLCJzdXBwb3J0ZWRMb2dUeXBlcyIsIml0IiwiZ2V0TG9nVHlwZXMiLCJlcWwiLCJzaW5vbiIsInNweSIsImFmdGVyRWFjaCIsInJlc3RvcmUiLCJnZXRMb2ciLCJldmVudHVhbGx5IiwiYmUiLCJyZWplY3RlZCIsImNhbGxlZCIsImZhbHNlIiwiZXJyIiwiX2VyciIsInRvIiwiZXhpc3QiLCJtZXNzYWdlIiwibG9ncyIsInRydWUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUdBQSxjQUFLQyxNQUFMOztBQUNBRCxjQUFLRSxHQUFMLENBQVNDLHVCQUFUOztBQUNBLE1BQU1DLE1BQU0sR0FBR0osY0FBS0ksTUFBcEI7QUFFQSxNQUFNQyxVQUFVLEdBQUcsQ0FBQyxPQUFELEVBQVUsTUFBVixDQUFuQjtBQUNBLE1BQU1DLFdBQVcsR0FBRyxDQUFDLFFBQUQsRUFBVyxNQUFYLENBQXBCO0FBQ0EsTUFBTUMsbUJBQW1CLEdBQUc7QUFDMUJDLEVBQUFBLEdBQUcsRUFBRTtBQUNIQyxJQUFBQSxXQUFXLEVBQUUsWUFEVjtBQUVIQyxJQUFBQSxNQUFNLEVBQUUsTUFBTUMsZ0JBQUVDLEtBQUYsQ0FBUVAsVUFBUjtBQUZYLEdBRHFCO0FBSzFCUSxFQUFBQSxHQUFHLEVBQUU7QUFDSEosSUFBQUEsV0FBVyxFQUFFLGNBRFY7QUFFSEMsSUFBQUEsTUFBTSxFQUFFLE1BQU1DLGdCQUFFQyxLQUFGLENBQVFOLFdB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VixtQkFBaEM7QUFDQSxVQUFJNkIsSUFBSSxHQUFHLE1BQU1wQixhQUFZUyxNQUFaLENBQW1CLEtBQW5CLENBQWpCO0FBQ0FXLE1BQUFBLElBQUksQ0FBQ25DLE1BQUwsQ0FBWW1CLEdBQVosQ0FBZ0JmLFVBQWhCO0FBQ0FFLE1BQUFBLG1CQUFtQixDQUFDQyxHQUFwQixDQUF3QkUsTUFBeEIsQ0FBK0JtQixNQUEvQixDQUFzQzVCLE1BQXRDLENBQTZDMEIsRUFBN0MsQ0FBZ0RVLElBQWhEO0FBQ0E5QixNQUFBQSxtQkFBbUIsQ0FBQ00sR0FBcEIsQ0FBd0JILE1BQXhCLENBQStCbUIsTUFBL0IsQ0FBc0M1QixNQUF0QyxDQUE2QzBCLEVBQTdDLENBQWdERyxLQUFoRDtBQUNELEtBTkMsQ0FBRjtBQU9ELEdBbENPLENBQVI7QUFtQ0QsQ0FqRE8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2dDb21tYW5kcyBmcm9tICcuLi8uLi8uLi9saWIvYmFzZWRyaXZlci9jb21tYW5kcy9sb2cnO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgY2hhaUFzUHJvbWlzZWQgZnJvbSAnY2hhaS1hcy1wcm9taXNlZCc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuXG5jaGFpLnNob3VsZCgpO1xuY2hhaS51c2UoY2hhaUFzUHJvbWlzZWQpO1xuY29uc3QgZXhwZWN0ID0gY2hhaS5leHBlY3Q7XG5cbmNvbnN0IEZJUlNUX0xPR1MgPSBbJ2ZpcnN0JywgJ2xvZ3MnXTtcbmNvbnN0IFNFQ09ORF9MT0dTID0gWydzZWNvbmQnLCAnbG9ncyddO1xuY29uc3QgU1VQUE9SVEVEX0xPR19UWVBFUyA9IHtcbiAgb25lOiB7XG4gICAgZGVzY3JpcHRpb246ICdGaXJzdCBsb2dzJyxcbiAgICBnZXR0ZXI6ICgpID0+IF8uY2xvbmUoRklSU1RfTE9HUyksXG4gIH0sXG4gIHR3bzoge1xuICAgIGRlc2NyaXB0aW9uOiAnU2Vjb25kcyBsb2dzJyxcbiAgICBnZXR0ZXI6ICgpID0+IF8uY2xvbmUoU0VDT05EX0xPR1MpLFxuICB9LFxufTtcblxuZGVzY3JpYmUoJ2xvZyBjb21tYW5kcyAtJywgZnVuY3Rpb24gKCkge1xuICBiZWZvcmVFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAvLyByZXNldCB0aGUgc3VwcG9ydGVkIGxvZyB0eXBlc1xuICAgIGxvZ0NvbW1hbmRzLnN1cHBvcnRlZExvZ1R5cGVzID0ge307XG4gIH0pO1xuICBkZXNjcmliZSgnZ2V0TG9nVHlwZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gZW1wdHkgYXJyYXkgd2hlbiBubyBzdXBwb3J0ZWQgbG9nIHR5cGVzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgKGF3YWl0IGxvZ0NvbW1hbmRzLmdldExvZ1R5cGVzKCkpLnNob3VsZC5lcWwoW10pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGtleXMgdG8gbG9nIHR5cGUgb2JqZWN0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbG9nQ29tbWFuZHMuc3VwcG9ydGVkTG9nVHlwZXMgPSBTVVBQT1JURURfTE9HX1RZUEVTO1xuICAgICAgKGF3YWl0IGxvZ0NvbW1hbmRzLmdldExvZ1R5cGVzKCkpLnNob3VsZC5lcWwoWydvbmUnLCAndHdvJ10pO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2dldExvZycsIGZ1bmN0aW9uICgpIHtcbiAgICBiZWZvcmVFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHNpbm9uLnNweShTVVBQT1JURURfTE9HX1RZUEVTLm9uZSwgJ2dldHRlcicpO1xuICAgICAgc2lub24uc3B5KFNVUFBPUlRFRF9MT0dfVFlQRVMudHdvLCAnZ2V0dGVyJyk7XG4gICAgfSk7XG4gICAgYWZ0ZXJFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIFNVUFBPUlRFRF9MT0dfVFlQRVMub25lLmdldHRlci5yZXN0b3JlKCk7XG4gICAgICBTVVBQT1JURURfTE9HX1RZUEVTLnR3by5nZXR0ZXIucmVzdG9yZSgpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3IgaWYgbG9nIHR5cGUgbm90IHN1cHBvcnRlZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGxvZ0NvbW1hbmRzLmdldExvZygnb25lJykuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWQ7XG4gICAgICBTVVBQT1JURURfTE9HX1RZUEVTLm9uZS5nZXR0ZXIuY2FsbGVkLnNob3VsZC5iZS5mYWxzZTtcbiAgICAgIFNVUFBPUlRFRF9MT0dfVFlQRVMudHdvLmdldHRlci5jYWxsZWQuc2hvdWxkLmJlLmZhbHNlO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igd2l0aCBhdmFpbGFibGUgbG9nIHR5cGVzIGlmIGxvZyB0eXBlIG5vdCBzdXBwb3J0ZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBsb2dDb21tYW5kcy5zdXBwb3J0ZWRMb2dUeXBlcyA9IFNVUFBPUlRFRF9MT0dfVFlQRVM7XG4gICAgICBsZXQgZXJyO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgbG9nQ29tbWFuZHMuZ2V0TG9nKCd0aHJlZScpO1xuICAgICAgfSBjYXRjaCAoX2Vycikge1xuICAgICAgICBlcnIgPSBfZXJyO1xuICAgICAgfVxuICAgICAgZXhwZWN0KGVycikudG8uZXhpc3Q7XG4gICAgICBlcnIubWVzc2FnZS5zaG91bGQuZXFsKGBVbnN1cHBvcnRlZCBsb2cgdHlwZSAndGhyZWUnLiBTdXBwb3J0ZWQgdHlwZXM6IHtcIm9uZVwiOlwiRmlyc3QgbG9nc1wiLFwidHdvXCI6XCJTZWNvbmRzIGxvZ3NcIn1gKTtcbiAgICAgIFNVUFBPUlRFRF9MT0dfVFlQRVMub25lLmdldHRlci5jYWxsZWQuc2hvdWxkLmJlLmZhbHNlO1xuICAgICAgU1VQUE9SVEVEX0xPR19UWVBFUy50d28uZ2V0dGVyLmNhbGxlZC5zaG91bGQuYmUuZmFsc2U7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBjYWxsIGdldHRlciBvbiBhcHByb3ByaWF0ZSBsb2cgd2hlbiBmb3VuZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxvZ0NvbW1hbmRzLnN1cHBvcnRlZExvZ1R5cGVzID0gU1VQUE9SVEVEX0xPR19UWVBFUztcbiAgICAgIGxldCBsb2dzID0gYXdhaXQgbG9nQ29tbWFuZHMuZ2V0TG9nKCdvbmUnKTtcbiAgICAgIGxvZ3Muc2hvdWxkLmVxbChGSVJTVF9MT0dTKTtcbiAgICAgIFNVUFBPUlRFRF9MT0dfVFlQRVMub25lLmdldHRlci5jYWxsZWQuc2hvdWxkLmJlLnRydWU7XG4gICAgICBTVVBQT1JURURfTE9HX1RZUEVTLnR3by5nZXR0ZXIuY2FsbGVkLnNob3VsZC5iZS5mYWxzZTtcbiAgICB9KTtcbiAgfSk7XG59KTsiXSwiZmlsZSI6InRlc3QvYmFzZWRyaXZlci9jb21tYW5kcy9sb2ctc3BlY3MuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4ifQ==