Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit 52ce0e7

Browse files
authored
Merge pull request #66 from programmatordev/YAPV-68-simplify-message-parameters-tests
Improve error message parameter tests
2 parents ee89ba2 + a348275 commit 52ce0e7

23 files changed

+72
-70
lines changed

tests/ChoiceTest.php

+8-8
Original file line numberDiff line numberDiff line change
@@ -66,39 +66,39 @@ public static function provideRuleMessageOptionData(): \Generator
6666
yield 'message' => [
6767
new Choice(
6868
constraints: $constraints,
69-
message: 'The {{ name }} value {{ value }} is not a valid choice.'
69+
message: '{{ name }} | {{ value }} | {{ constraints }}'
7070
),
7171
10,
72-
'The test value 10 is not a valid choice.'
72+
'test | 10 | [1, 2, 3, 4, 5]'
7373
];
7474
yield 'multiple message' => [
7575
new Choice(
7676
constraints: $constraints,
7777
multiple: true,
78-
multipleMessage: 'The {{ name }} value {{ value }} is not a valid choice.'
78+
multipleMessage: '{{ name }} | {{ value }} | {{ constraints }}'
7979
),
8080
[10],
81-
'The test value [10] is not a valid choice.'
81+
'test | [10] | [1, 2, 3, 4, 5]'
8282
];
8383
yield 'min message' => [
8484
new Choice(
8585
constraints: $constraints,
8686
multiple: true,
8787
min: 2,
88-
minMessage: 'The {{ name }} value should have at least {{ min }} choices.'
88+
minMessage: '{{ name }} | {{ value }} | {{ constraints }} | {{ min }} | {{ max }} | {{ numElements }}'
8989
),
9090
[1],
91-
'The test value should have at least 2 choices.'
91+
'test | [1] | [1, 2, 3, 4, 5] | 2 | null | 1'
9292
];
9393
yield 'max message' => [
9494
new Choice(
9595
constraints: $constraints,
9696
multiple: true,
9797
max: 2,
98-
maxMessage: 'The {{ name }} value should have at most {{ max }} choices.'
98+
maxMessage: '{{ name }} | {{ value }} | {{ constraints }} | {{ min }} | {{ max }} | {{ numElements }}'
9999
),
100100
[1, 2, 3],
101-
'The test value should have at most 2 choices.'
101+
'test | [1, 2, 3] | [1, 2, 3, 4, 5] | null | 2 | 3'
102102
];
103103
}
104104

tests/CollectionTest.php

+6-6
Original file line numberDiff line numberDiff line change
@@ -117,26 +117,26 @@ public static function provideRuleMessageOptionData(): \Generator
117117
yield 'message' => [
118118
new Collection(
119119
fields: ['field' => Validator::notBlank()],
120-
message: 'There was an error: {{ message }}'
120+
message: '{{ name }} | {{ field }} | {{ message }}'
121121
),
122122
['field' => ''],
123-
'There was an error: The "field" value should not be blank, "" given.'
123+
'test | "field" | The "field" value should not be blank, "" given.'
124124
];
125125
yield 'extra fields message' => [
126126
new Collection(
127127
fields: ['field' => Validator::notBlank()],
128-
extraFieldsMessage: 'The {{ field }} was not expected.'
128+
extraFieldsMessage: '{{ name }} | {{ field }}'
129129
),
130130
['field' => 'value', 'extrafield' => 'extravalue'],
131-
'The "extrafield" was not expected.'
131+
'test | "extrafield"'
132132
];
133133
yield 'missing fields message' => [
134134
new Collection(
135135
fields: ['field' => Validator::notBlank()],
136-
missingFieldsMessage: 'Missing field: {{ field }}.'
136+
missingFieldsMessage: '{{ name }} | {{ field }}'
137137
),
138138
[],
139-
'Missing field: "field".'
139+
'test | "field"'
140140
];
141141
}
142142
}

tests/CountTest.php

+6-6
Original file line numberDiff line numberDiff line change
@@ -59,27 +59,27 @@ public static function provideRuleMessageOptionData(): \Generator
5959
yield 'min message' => [
6060
new Count(
6161
min: 10,
62-
minMessage: 'The {{ name }} value should have at least {{ min }} elements.'
62+
minMessage: '{{ name }} | {{ value }} | {{ min }} | {{ max }} | {{ numElements }}'
6363
),
6464
$value,
65-
'The test value should have at least 10 elements.'
65+
'test | [1, 2, 3, 4, 5] | 10 | null | 5'
6666
];
6767
yield 'max message' => [
6868
new Count(
6969
max: 2,
70-
maxMessage: 'The {{ name }} value should have at most {{ max }} elements.'
70+
maxMessage: '{{ name }} | {{ value }} | {{ min }} | {{ max }} | {{ numElements }}'
7171
),
7272
$value,
73-
'The test value should have at most 2 elements.'
73+
'test | [1, 2, 3, 4, 5] | null | 2 | 5'
7474
];
7575
yield 'exact message' => [
7676
new Count(
7777
min: 2,
7878
max: 2,
79-
exactMessage: 'The {{ name }} value should have exactly {{ min }} elements.'
79+
exactMessage: '{{ name }} | {{ value }} | {{ min }} | {{ max }} | {{ numElements }}'
8080
),
8181
$value,
82-
'The test value should have exactly 2 elements.'
82+
'test | [1, 2, 3, 4, 5] | 2 | 2 | 5'
8383
];
8484
}
8585
}

tests/CountryTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ public static function provideRuleMessageOptionData(): \Generator
4646
{
4747
yield 'message' => [
4848
new Country(
49-
message: 'The {{ name }} value {{ value }} is not a valid {{ code }} country code.'
49+
message: '{{ name }} | {{ value }} | {{ code }}'
5050
),
5151
'invalid',
52-
'The test value "invalid" is not a valid "alpha-2" country code.'
52+
'test | "invalid" | "alpha-2"'
5353
];
5454
}
5555
}

tests/DateTimeTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ public static function provideRuleMessageOptionData(): \Generator
4545
{
4646
yield 'message' => [
4747
new DateTime(
48-
message: 'The {{ name }} datetime does not match the format {{ format }}.'
48+
message: '{{ name }} | {{ value }} | {{ format }}'
4949
),
5050
'2024-01-01',
51-
'The test datetime does not match the format "Y-m-d H:i:s".'
51+
'test | "2024-01-01" | "Y-m-d H:i:s"'
5252
];
5353
}
5454
}

tests/EachKeyTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,10 @@ public static function provideRuleMessageOptionData(): \Generator
7272
yield 'message' => [
7373
new EachKey(
7474
validator: new Validator(new Type('string')),
75-
message: 'The {{ name }} key {{ key }} is invalid.'
75+
message: '{{ name }} | {{ value }} | {{ key }} | {{ element }} | {{ message }}'
7676
),
7777
['key1' => 1, 'key2' => 2, 1 => 3],
78-
'The test key 1 is invalid.'
78+
'test | [1, 2, 3] | 1 | 3 | The test key value should be of type "string", 1 given.'
7979
];
8080
}
8181
}

tests/EachValueTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,10 @@ public static function provideRuleMessageOptionData(): \Generator
7272
yield 'message' => [
7373
new EachValue(
7474
validator: new Validator(new NotBlank()),
75-
message: 'The {{ name }} value {{ value }} failed at key {{ key }}.'
75+
message: '{{ name }} | {{ value }} | {{ key }} | {{ element }} | {{ message }}'
7676
),
7777
[1, 2, ''],
78-
'The test value [1, 2, ""] failed at key 2.'
78+
'test | [1, 2, ""] | 2 | "" | The test value should not be blank, "" given.'
7979
];
8080
}
8181
}

tests/EmailTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ public static function provideRuleMessageOptionData(): \Generator
4949
{
5050
yield 'message' => [
5151
new Email(
52-
message: 'The {{ name }} value {{ value }} in {{ mode }} mode is not a valid email address.'
52+
message: '{{ name }} | {{ value }} | {{ mode }}'
5353
),
5454
'invalid',
55-
'The test value "invalid" in "html5" mode is not a valid email address.'
55+
'test | "invalid" | "html5"'
5656
];
5757
}
5858
}

tests/GreaterThanOrEqualTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ public static function provideRuleMessageOptionData(): \Generator
6060
yield 'message' => [
6161
new GreaterThanOrEqual(
6262
constraint: 10,
63-
message: 'The {{ name }} value {{ value }} is not greater than or equal to {{ constraint }}.'
63+
message: '{{ name }} | {{ value }} | {{ constraint }}'
6464
),
6565
1,
66-
'The test value 1 is not greater than or equal to 10.'
66+
'test | 1 | 10'
6767
];
6868
}
6969
}

tests/GreaterThanTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ public static function provideRuleMessageOptionData(): \Generator
6060
yield 'message' => [
6161
new GreaterThan(
6262
constraint: 10,
63-
message: 'The {{ name }} value {{ value }} is not greater than {{ constraint }}.'
63+
message: '{{ name }} | {{ value }} | {{ constraint }}'
6464
),
6565
1,
66-
'The test value 1 is not greater than 10.'
66+
'test | 1 | 10'
6767
];
6868
}
6969
}

tests/LanguageTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ public static function provideRuleMessageOptionData(): \Generator
4646
{
4747
yield 'message' => [
4848
new Language(
49-
message: 'The {{ name }} value {{ value }} is not a valid {{ code }} language code.'
49+
message: '{{ name }} | {{ value }} | {{ code }}'
5050
),
5151
'invalid',
52-
'The test value "invalid" is not a valid "alpha-2" language code.'
52+
'test | "invalid" | "alpha-2"'
5353
];
5454
}
5555
}

tests/LengthTest.php

+8-8
Original file line numberDiff line numberDiff line change
@@ -71,36 +71,36 @@ public static function provideRuleMessageOptionData(): \Generator
7171
yield 'min message' => [
7272
new Length(
7373
min: 10,
74-
minMessage: 'The {{ name }} value with count unit {{ countUnit }} should have at least {{ min }} characters.'
74+
minMessage: '{{ name }} | {{ value }} | {{ min }} | {{ max }} | {{ numChars }} | {{ charset }} | {{ countUnit }}'
7575
),
7676
$value,
77-
'The test value with count unit "codepoints" should have at least 10 characters.'
77+
'test | "abcde" | 10 | null | 5 | "UTF-8" | "codepoints"'
7878
];
7979
yield 'max message' => [
8080
new Length(
8181
max: 2,
82-
maxMessage: 'The {{ name }} value with count unit {{ countUnit }} should have at most {{ max }} characters.'
82+
maxMessage: '{{ name }} | {{ value }} | {{ min }} | {{ max }} | {{ numChars }} | {{ charset }} | {{ countUnit }}'
8383
),
8484
$value,
85-
'The test value with count unit "codepoints" should have at most 2 characters.'
85+
'test | "abcde" | null | 2 | 5 | "UTF-8" | "codepoints"'
8686
];
8787
yield 'exact message' => [
8888
new Length(
8989
min: 2,
9090
max: 2,
91-
exactMessage: 'The {{ name }} value with count unit {{ countUnit }} should have exactly {{ min }} characters.'
91+
exactMessage: '{{ name }} | {{ value }} | {{ min }} | {{ max }} | {{ numChars }} | {{ charset }} | {{ countUnit }}'
9292
),
9393
$value,
94-
'The test value with count unit "codepoints" should have exactly 2 characters.'
94+
'test | "abcde" | 2 | 2 | 5 | "UTF-8" | "codepoints"'
9595
];
9696
yield 'charset message' => [
9797
new Length(
9898
min: 2,
9999
charset: 'ASCII',
100-
charsetMessage: 'The {{ name }} value is not a {{ charset }} charset.'
100+
charsetMessage: '{{ name }} | {{ value }} | {{ charset }}'
101101
),
102102
'テスト',
103-
'The test value is not a "ASCII" charset.'
103+
'test | "テスト" | "ASCII"'
104104
];
105105
}
106106
}

tests/LessThanOrEqualTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ public static function provideRuleMessageOptionData(): \Generator
6060
yield 'message' => [
6161
new LessThanOrEqual(
6262
constraint: 10,
63-
message: 'The {{ name }} value {{ value }} is not less than or equal to {{ constraint }}.'
63+
message: '{{ name }} | {{ value }} | {{ constraint }}'
6464
),
6565
20,
66-
'The test value 20 is not less than or equal to 10.'
66+
'test | 20 | 10'
6767
];
6868
}
6969
}

tests/LessThanTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ public static function provideRuleMessageOptionData(): \Generator
6060
yield 'message' => [
6161
new LessThan(
6262
constraint: 10,
63-
message: 'The {{ name }} value {{ value }} is not less than {{ constraint }}.'
63+
message: '{{ name }} | {{ value }} | {{ constraint }}'
6464
),
6565
20,
66-
'The test value 20 is not less than 10.'
66+
'test | 20 | 10'
6767
];
6868
}
6969
}

tests/LocaleTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ public static function provideRuleMessageOptionData(): \Generator
4747
{
4848
yield 'message' => [
4949
new Locale(
50-
message: '{{ name }} {{ value }}'
50+
message: '{{ name }} | {{ value }}'
5151
),
5252
'invalid',
53-
'test "invalid"'
53+
'test | "invalid"'
5454
];
5555
}
5656
}

tests/NotBlankTest.php

+4-2
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,11 @@ public static function provideRuleSuccessConditionData(): \Generator
4848
public static function provideRuleMessageOptionData(): \Generator
4949
{
5050
yield 'message' => [
51-
new NotBlank(message: 'The {{ name }} value {{ value }} is not blank.'),
51+
new NotBlank(
52+
message: '{{ name }} | {{ value }}'
53+
),
5254
'',
53-
'The test value "" is not blank.'
55+
'test | ""'
5456
];
5557
}
5658
}

tests/PasswordStrengthTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ public static function provideRuleMessageOptionData(): \Generator
5151
{
5252
yield 'message' => [
5353
new PasswordStrength(
54-
message: 'The {{ name }} value entropy is not high enough.'
54+
message: '{{ name }} | {{ minStrength }}'
5555
),
5656
'password',
57-
'The test value entropy is not high enough.'
57+
'test | "medium"'
5858
];
5959
}
6060
}

tests/RangeTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ public static function provideRuleMessageOptionData(): \Generator
7575
new Range(
7676
min: 10,
7777
max: 20,
78-
message: 'The {{ name }} value {{ value }} should be between {{ min }} and {{ max }}.'
78+
message: '{{ name }} | {{ value }} | {{ min }} | {{ max }}'
7979
),
8080
30,
81-
'The test value 30 should be between 10 and 20.'
81+
'test | 30 | 10 | 20'
8282
];
8383
}
8484
}

tests/RegexTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ public static function provideRuleMessageOptionData(): \Generator
4949
yield 'message' => [
5050
new Regex(
5151
pattern: '/[a-z]/',
52-
message: 'The {{ name }} value does not match the pattern {{ pattern }}.'
52+
message: '{{ name }} | {{ value }} | {{ pattern }}'
5353
),
5454
'123',
55-
'The test value does not match the pattern "/[a-z]/".'
55+
'test | "123" | "/[a-z]/"'
5656
];
5757
}
5858
}

tests/TimezoneTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ public static function provideRuleMessageOptionData(): \Generator
5555
{
5656
yield 'message' => [
5757
new Timezone(
58-
message: 'The {{ name }} value {{ value }} is not a valid timezone.'
58+
message: '{{ name }} | {{ value }} | {{ countryCode }}'
5959
),
6060
'Invalid/Timezone',
61-
'The test value "Invalid/Timezone" is not a valid timezone.'
61+
'test | "Invalid/Timezone" | null'
6262
];
6363
}
6464

tests/TypeTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,10 @@ public static function provideRuleMessageOptionData(): \Generator
107107
yield 'message' => [
108108
new Type(
109109
constraint: 'int',
110-
message: 'The {{ name }} value is not of type {{ constraint }}.'
110+
message: '{{ name }} | {{ value }} | {{ constraint }}'
111111
),
112112
'string',
113-
'The test value is not of type "int".'
113+
'test | "string" | "int"'
114114
];
115115
}
116116

0 commit comments

Comments
 (0)