mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
109 lines
3.8 KiB
TypeScript
109 lines
3.8 KiB
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);
|
|
});
|
|
});
|
|
});
|
|
});
|