Files
automatisch/packages/backend/test/assertions/to-require-property.js
2024-09-23 16:16:13 +03:00

32 lines
831 B
JavaScript

import { ValidationError } from 'objection';
export const toRequireProperty = async (model, requiredProperty) => {
try {
await model.query().insert({});
} catch (error) {
if (
error instanceof ValidationError &&
error.message.includes(
`${requiredProperty}: must have required property '${requiredProperty}'`
)
) {
return {
pass: true,
message: () =>
`Expected ${requiredProperty} to be required, and it was.`,
};
} else {
return {
pass: false,
message: () =>
`Expected ${requiredProperty} to be required, but it was not found in the error message.`,
};
}
}
return {
pass: false,
message: () =>
`Expected ${requiredProperty} to be required, but no ValidationError was thrown.`,
};
};