webdriverio-automation
Version:
WebdriverIO-Automation android ios project
89 lines (73 loc) • 10.8 kB
JavaScript
;
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==