Repository navigation
Expand file tree
/
Copy pathValidateWildcardPathTest.php
More file actions
52 lines (47 loc) · 1.83 KB
/
Copy pathValidateWildcardPathTest.php
File metadata and controls
52 lines (47 loc) · 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
use BitApps\WPValidator\Validator;
test(
'validate-wildcard',
function () {
$validator = new Validator;
$data = [
'by_role' => [
'administrator' => [
'path' => '/home/data/www/wp-dev/wp-content',
'commands' => [
'download', 'cut', 'copy', 'edit', 'rm', 'upload', 'duplicate', 'paste',
'mkfile', 'mkdir', 'rename', 'archive', 'extract'
],
],
'editor' => [
'path' => '/home/data/www/wp-dev/wp-content/uploads',
'commands' => ['download'],
],
'author' => [
'path' => '/home/data/www/wp-dev/wp-content/uploads/file-manager',
],
'contributor' => ['path' => ["/path/to/folder"]],
'subscriber' => [
'path' => '/home/data/www/wp-dev/wp-content/uploads/file-manager',
'commands' => 'cut',
]
],
];
$rules = [
'by_role.*.path' => ['nullable', 'string'],
'by_role.*.commands' => ['nullable', 'array'],
];
$validation = $validator->make($data, $rules);
$errors = $validation->errors();
expect($validation->fails())->toBe(true);
expect($errors)->toBeArray();
expect($errors)->toHaveCount(2);
expect($errors)->toHaveKeys(['by_role.contributor.path', 'by_role.subscriber.commands']);
expect($errors)->toBe(
[
'by_role.contributor.path' => ['The by_role.contributor.path field should be string'],
'by_role.subscriber.commands' => ['The by_role.subscriber.commands must be array'],
]
);
}
);