Validation on Mock Objects
We do not include the complex validation provided by Sequelize for validating your object input. However, we do support testing against validation errors. There is a simple Mock Object specific interface for setting up any validation errors.
Queued validation errors will be returned any time save()
, or update()
are called on Instances, as well as from create()
on Models. Any validation errors will be returned in a ValidationError
object, and then the error list will be cleared for the next validate()
call.
Usage
To queue validation errors, call $addValidationError(column[, message[, type]])
on an Instance and any queries to that instance that trigger validation will cause a validation error to be returned or thrown.
var user = UserMock.build();
user.$addValidationError('username', 'Username is too short');
user.update({
'username': 'abc',
}).catch(function (error) {
// Validation error caught here
});
Error object
The error object is a copy of the ValidationError
object that would be returned by Sequelize.
This will return 1 object with a sub array of errors
that will include each of the errors above with the following format.
{
"message": "", // Message passed in to each validation error
"type": "", // Type passed in to each validation error
"path": "", // Column name that has the validation error
"value": "" // Value of the column in that object
}