cypress-xray-plugin
Version:
A Cypress plugin for uploading test results to Xray (test management for Jira)
34 lines (33 loc) • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.containsCypressTest = containsCypressTest;
exports.containsCucumberTest = containsCucumberTest;
exports.getTestIssueKeys = getTestIssueKeys;
const errors_1 = require("../../util/errors");
function containsCypressTest(runResult, featureFileExtension) {
return runResult.runs.some((run) => {
return !featureFileExtension || !run.spec.absolute.endsWith(featureFileExtension);
});
}
function containsCucumberTest(runResult, featureFileExtension) {
return runResult.runs.some((run) => {
return featureFileExtension && run.spec.absolute.endsWith(featureFileExtension);
});
}
/**
* Extracts Jira issue keys from a Cypress test title, based on the provided project key.
*
* @param title - the test title
* @param projectKey - the Jira projectk key
* @returns the Jira issue keys
* @throws if the title contains zero issue keys
*/
function getTestIssueKeys(title, projectKey) {
const regex = new RegExp(`(${projectKey}-\\d+)`, "g");
const matches = title.match(regex);
if (!matches) {
throw (0, errors_1.missingTestKeyInTestTitleError)(title, projectKey);
}
const [key, ...keys] = matches;
return [key, ...keys];
}