appium-xcuitest-driver
Version:
Appium driver for iOS using XCUITest for backend
54 lines • 2.84 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const sinon_1 = __importDefault(require("sinon"));
const driver_1 = require("../../../lib/driver");
const node_simctl_1 = require("node-simctl");
const chai_1 = require("chai");
describe('general commands', function () {
const driver = new driver_1.XCUITestDriver({});
const simctl = new node_simctl_1.Simctl();
driver._device = { simctl };
let mockSimctl;
beforeEach(function () {
mockSimctl = sinon_1.default.mock(driver.device.simctl);
});
afterEach(function () {
mockSimctl.verify();
});
describe('simctl', function () {
it('should call xcrun simctl', async function () {
driver.opts.udid = '60EB8FDB-92E0-4895-B466-0153C6DE7BAE';
driver.isSimulator = () => true;
mockSimctl.expects('exec').once().withExactArgs('getenv', { args: ['60EB8FDB-92E0-4895-B466-0153C6DE7BAE', 'HOME'], timeout: undefined }).returns(Promise.resolve({ stdout: '', stderr: '', code: 0 }));
await driver.mobileSimctl('getenv', ['HOME']);
});
it('should call xcrun simctl with timeout', async function () {
driver.opts.udid = '60EB8FDB-92E0-4895-B466-0153C6DE7BAE';
driver.isSimulator = () => true;
mockSimctl.expects('exec').once().withExactArgs('getenv', { args: ['60EB8FDB-92E0-4895-B466-0153C6DE7BAE', 'HOME'], timeout: 10000 }).returns(Promise.resolve({ stdout: '', stderr: '', code: 0 }));
await driver.mobileSimctl('getenv', ['HOME'], 10000);
});
it('should raise an error as not supported command', async function () {
driver.opts.udid = '60EB8FDB-92E0-4895-B466-0153C6DE7BAE';
driver.isSimulator = () => true;
mockSimctl.expects('exec').never();
await (0, chai_1.expect)(driver.mobileSimctl('list', ['devices', 'booted', '--json'])).to.eventually.be.rejected;
});
it('should raise an error as no udid', async function () {
driver.opts.udid = undefined;
driver.isSimulator = () => true;
mockSimctl.expects('exec').never();
await (0, chai_1.expect)(driver.mobileSimctl('getenv', ['HOME'])).to.eventually.be.rejected;
});
it('should raise an error for non-simulator', async function () {
driver.opts.udid = '60EB8FDB-92E0-4895-B466-0153C6DE7BAE';
driver.isSimulator = () => false;
mockSimctl.expects('exec').never();
await (0, chai_1.expect)(driver.mobileSimctl('getenv', ['HOME'])).to.eventually.be.rejected;
});
});
});
//# sourceMappingURL=simctl-specs.js.map