cypress-spok-command
Version:
A wrapper around cy-spok
174 lines (158 loc) • 7.91 kB
JavaScript
var $8zHUo$cyspok = require("cy-spok");
function $parcel$interopDefault(a) {
return a && a.__esModule ? a.default : a;
}
const $c3160573e8648cec$var$stringifySortKeys = (object)=>JSON.stringify(Object.keys(object).sort());
const $c3160573e8648cec$var$sameKeys = (target, matcher)=>$c3160573e8648cec$var$stringifySortKeys(target) === $c3160573e8648cec$var$stringifySortKeys(matcher);
const $c3160573e8648cec$export$16ed51028860e0c0 = "cy.spok() strictMode error: object keys were not an exact match";
function $c3160573e8648cec$export$302a47ce5e674e39(target, matcher) {
const result = $c3160573e8648cec$var$sameKeys(target, matcher);
Cypress.log({
name: "strictMode",
message: `target and matcher have same keys: ${result}`
});
if (!result) throw new Error($c3160573e8648cec$export$16ed51028860e0c0);
}
const $5a1ca3ecd66aac5d$export$64c4f432e043d5dd = {
spokRegex: /^spok\..*$/,
spokArrayElementsRegex: /^spok\.arrayElements\((.*)\)$/,
spokGeRegex: /^spok.ge\((.*)\)$/,
spokGtRegex: /^spok.gt\((.*)\)$/,
spokLeRegex: /^spok.le\((.*)\)$/,
spokLtRegex: /^spok.lt\((.*)\)$/,
spokNeRegex: /^spok.ne\((.*)\)$/,
spokSLRegex: /^spok.stringLength\((.*)\)$/,
spokRangeRegex: /^spok\.range\((\d*),\s?(\d*)\)$/,
spokTestRegex: /^spok\.test\((.*)\)$/,
spokTypeRegex: /^spok\.type\((.*)\)$/
};
const { spokArrayElementsRegex: $1c228307971ee708$var$spokArrayElementsRegex, spokGeRegex: $1c228307971ee708$var$spokGeRegex, spokGtRegex: $1c228307971ee708$var$spokGtRegex, spokLeRegex: $1c228307971ee708$var$spokLeRegex, spokLtRegex: $1c228307971ee708$var$spokLtRegex, spokNeRegex: $1c228307971ee708$var$spokNeRegex, spokRangeRegex: $1c228307971ee708$var$spokRangeRegex, spokSLRegex: $1c228307971ee708$var$spokSLRegex, spokTestRegex: $1c228307971ee708$var$spokTestRegex, spokTypeRegex: $1c228307971ee708$var$spokTypeRegex } = (0, $5a1ca3ecd66aac5d$export$64c4f432e043d5dd);
const $1c228307971ee708$export$e29616b55ad743cf = (value)=>{
switch(value){
case "spok.array":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).array;
break;
// spok.arrayElements
case value.match($1c228307971ee708$var$spokArrayElementsRegex)?.input:
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).arrayElements(Number(value.match($1c228307971ee708$var$spokArrayElementsRegex)[1]));
break;
case "spok.boolean":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).type("boolean");
break;
case "spok.defined":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).defined;
break;
case "spok.definedObject":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).definedObject;
break;
case "spok.emptyArray":
value = [];
break;
case "spok.emptyObject":
value = {};
break;
case "spok.function":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).function;
break;
// spok.ge
case value.match($1c228307971ee708$var$spokGeRegex)?.input:
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).ge(Number(value.match($1c228307971ee708$var$spokGeRegex)[1]));
break;
case "spok.gez":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).gez;
break;
// spok.gt
case value.match($1c228307971ee708$var$spokGtRegex)?.input:
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).gt(Number(value.match($1c228307971ee708$var$spokGtRegex)[1]));
break;
case "spok.gtz":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).gtz;
break;
// spok.le
case value.match($1c228307971ee708$var$spokLeRegex)?.input:
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).le(Number(value.match($1c228307971ee708$var$spokLeRegex)[1]));
break;
case "spok.lez":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).lez;
break;
// spok.lt
case value.match($1c228307971ee708$var$spokLtRegex)?.input:
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).lt(Number(value.match($1c228307971ee708$var$spokLtRegex)[1]));
break;
case "spok.ltz":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).ltz;
break;
// spok.ne
case value.match($1c228307971ee708$var$spokNeRegex)?.input:
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).ne(Number(value.match($1c228307971ee708$var$spokNeRegex)[1]));
break;
case "spok.nonEmptyArray":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).arrayElementsRange(1, 999999999);
break;
case "spok.notDefined":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).notDefined;
break;
case "spok.number":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).number;
break;
case "spok.string":
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).string;
break;
// spok.range
case value.match($1c228307971ee708$var$spokRangeRegex)?.input:
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).range(Number(value.match($1c228307971ee708$var$spokRangeRegex)[1]), Number(value.match($1c228307971ee708$var$spokRangeRegex)[2]));
break;
// spok.stringLength
case value.match($1c228307971ee708$var$spokSLRegex)?.input:
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).test(new RegExp(`.{${value.match($1c228307971ee708$var$spokSLRegex)[1]}}`));
break;
// spok.test
case value.match($1c228307971ee708$var$spokTestRegex)?.input:
// extract the regex value from the passed string and execute the match
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).test(new RegExp(value.match($1c228307971ee708$var$spokTestRegex)[1]));
break;
// spok.type
case value.match($1c228307971ee708$var$spokTypeRegex)?.input:
value = (0, ($parcel$interopDefault($8zHUo$cyspok))).type(value.match($1c228307971ee708$var$spokTypeRegex)[1]);
break;
default:
Cypress.log({
name: "literal",
message: `using literal value: "${value}"`
});
}
return value;
};
const { spokRegex: $9092234f5f8dccf5$var$spokRegex } = (0, $5a1ca3ecd66aac5d$export$64c4f432e043d5dd);
function $9092234f5f8dccf5$export$c8fc1961ce6344e5(object) {
const newMatcher = {};
for (const [key, value] of Object.entries(object)){
let result = value;
if (typeof value === "string" && value.match($9092234f5f8dccf5$var$spokRegex)) result = (0, $1c228307971ee708$export$e29616b55ad743cf)(value);
if (typeof value === "object" && !Array.isArray(value)) {
newMatcher[key] = {};
result = $9092234f5f8dccf5$export$c8fc1961ce6344e5(value);
}
newMatcher[key] = result;
}
return newMatcher;
}
Cypress.Commands.add(// @ts-expect-error issue referring types in `index.d.ts`
"spok", (target, matcher, options = {
strictMode: false
})=>{
const { strictMode: strictMode } = options;
Cypress.log({
name: "spok",
message: strictMode ? "strictMode: true" : "",
consoleProps: ()=>({
target: target
})
});
if (strictMode) (0, $c3160573e8648cec$export$302a47ce5e674e39)(target, matcher);
const finalMatcher = (0, $9092234f5f8dccf5$export$c8fc1961ce6344e5)(matcher);
cy.wrap(target, {
log: false
}).should((0, ($parcel$interopDefault($8zHUo$cyspok)))(finalMatcher));
});
//# sourceMappingURL=index.js.map