"use strict";
/**
* Contains global framework functions and helpers.
*
* @module
*/
const _ = require("lodash");
const gSession = session;
global.session = (name, fixtures, func) => {
if (_.isFunction(fixtures)) [func, fixtures] = [fixtures];
if (_.isArray(name)) [fixtures, name] = [name];
if (_.isFunction(name)) [func, name] = [name];
fixtures = fixtures || [];
if (CONF.web.use && !CONF.cluster.slavesNum) fixtures.push(fxKillWebdriver);
if (CONF.xvfb.use) fixtures.push(fxXvfb);
if (CONF.proxy.global) fixtures.push(fxGlobalProxy);
if (CONF.proxy.http) fixtures.push(fxHttpProxy);
if (CONF.web.use && !CONF.webdriver.host) fixtures.push(fxSeleniumServer);
if (CONF.web.use) fixtures.push(fxBrowser);
if (CONF.image.screenOnFail) fixtures.push(fxScreenOnFail);
gSession(name, fixtures, func);
};