UNPKG

cumulocity-cypress

Version:
39 lines (38 loc) 1.47 kB
import { isVersionSatisfyingRequirements, } from "../../shared/versioning"; import * as semver from "semver"; import { getShellVersionFromEnv, getSystemVersionFromEnv } from "../utils"; const { _ } = Cypress; if (Cypress.semver == null) { Cypress.semver = semver; } beforeEach(function () { if (Cypress.env("C8Y_IGNORE_REQUIRES_SKIP") == null && // backward compatibility Cypress.env("C8Y_PACT_IGNORE_VERSION_SKIP") == null && isSystemVersionSatisfyingCurrentTestRequirements() === false) { this.skip(); } }); /** * Checks if `Cypress.config().requires` matches environment for the current test. * @returns `true` if the system version satisfies the requirements of the current test, `false` otherwise. */ export function isSystemVersionSatisfyingCurrentTestRequirements() { const requires = Cypress.config().requires; if (requires == null) return true; if (_.isArrayLike(requires)) { return isVersionSatisfyingRequirements(getSystemVersionFromEnv(), requires); } else { let systemResult = true; if (requires.system != null) { systemResult = isVersionSatisfyingRequirements(getSystemVersionFromEnv(), requires.system); } let shellResult = true; if (requires.shell != null) { shellResult = isVersionSatisfyingRequirements(getShellVersionFromEnv(), requires.shell); } return systemResult && shellResult; } }