anobis
Version:
JavaScript obfuscator
109 lines (91 loc) • 3.94 kB
text/typescript
import { assert } from 'chai';
import { ValidationError } from 'class-validator';
import { ValidationErrorsFormatter } from '../../../src/options/ValidationErrorsFormatter';
describe('ValidationErrorsFormatter', () => {
describe('format (validationErrors: ValidationError[]): string', () => {
describe('variant #1: one constraint group with one constraint', () => {
const constraintGroupRegExp: RegExp = /`foo` *errors:/;
const constraintRegExp: RegExp = /(?: *-)+ *constraint *text/;
const validationErrors: ValidationError[] = [{
target: {},
property: 'foo',
value: null,
constraints: {
'constraint1': '- constraint text'
},
children: []
}];
let validationError: string;
before(() => {
validationError = ValidationErrorsFormatter.format(validationErrors);
});
it('match #1: should return valid validation errors', () => {
assert.match(validationError, constraintGroupRegExp);
});
it('match #2: should return valid validation errors', () => {
assert.match(validationError, constraintRegExp);
});
});
describe('variant #2: one constraint group with two constraint', () => {
const constraintGroupRegExp: RegExp = /`foo` *errors:/;
const constraintRegExp1: RegExp = /(?: *-)+ constraint *text *#1/;
const constraintRegExp2: RegExp = /(?: *-)+ constraint *text *#2/;
const validationErrors: ValidationError[] = [{
target: {},
property: 'foo',
value: null,
constraints: {
'constraint1': '- constraint text #1',
'constraint2': '- constraint text #2'
},
children: []
}];
let validationError: string;
before(() => {
validationError = ValidationErrorsFormatter.format(validationErrors);
});
it('match #1: should return valid validation errors', () => {
assert.match(validationError, constraintGroupRegExp);
});
it('match #2: should return valid validation errors', () => {
assert.match(validationError, constraintRegExp1);
});
it('match #3: should return valid validation errors', () => {
assert.match(validationError, constraintRegExp2);
});
});
describe('variant #3: two constraint groups', () => {
const regExpMatch: string = `` +
`\`foo\` *errors:\\n` +
`(?: *-)+ *constraint *group *#1 *text\\n+` +
`\`bar\` *errors:\\n` +
`(?: *-)+ *constraint *group *#2 *text\\n+` +
``;
const regExp: RegExp = new RegExp(regExpMatch);
const validationErrors: ValidationError[] = [{
target: {},
property: 'foo',
value: null,
constraints: {
'constraint': '- constraint group #1 text'
},
children: []
}, {
target: {},
property: 'bar',
value: null,
constraints: {
'constraint': '- constraint group #2 text'
},
children: []
}];
let validationError: string;
before(() => {
validationError = ValidationErrorsFormatter.format(validationErrors);
});
it('should return valid validation errors', () => {
assert.match(validationError, regExp);
});
});
});
});