@thisisagile/easy-test
Version:
Straightforward library for testing microservices built with @thisisagile/easy
52 lines (51 loc) • 1.38 kB
JavaScript
import {
eq
} from "../chunk-QE3TR4BY.mjs";
import {
asJson,
asString,
toArray
} from "../chunk-O475TEG2.mjs";
// src/mock/Fits.ts
import { AsymmetricMatcher } from "expect";
var ObjectContainingText = class extends AsymmetricMatcher {
asymmetricMatch(other) {
return asString(other).includes(asString(this.sample));
}
toString() {
return `String${this.inverse ? "Not" : ""}Containing`;
}
};
var ObjectContainingTextExact = class extends AsymmetricMatcher {
asymmetricMatch(other) {
return asString(other) === asString(this.sample);
}
toString() {
return `String${this.inverse ? "Not" : ""}Containing`;
}
};
var ObjectContainingJson = class extends AsymmetricMatcher {
asymmetricMatch(other) {
return eq.subset(asJson(other), asJson(this.sample));
}
toString() {
return `Object${this.inverse ? "Not" : ""}Containing`;
}
};
var fits = {
any: () => expect.anything(),
type: (type) => expect.any(type),
with: (o) => expect.objectContaining(o),
text: (s) => new ObjectContainingText(s),
textExact: (s) => new ObjectContainingTextExact(s),
uri: (u) => fits.textExact(u),
json: (s) => new ObjectContainingJson(s),
items: (...items) => expect.arrayContaining(toArray(...items))
};
export {
ObjectContainingJson,
ObjectContainingText,
ObjectContainingTextExact,
fits
};
//# sourceMappingURL=Fits.mjs.map