Added missing validation.file message

- Included test to cover
- Also applied StyleCI fixes

Closes #3248
This commit is contained in:
Dan Brown 2022-02-06 14:47:33 +00:00
parent d29a2a647a
commit 1df7497c09
No known key found for this signature in database
GPG Key ID: 46D9F943C24A2EF9
3 changed files with 30 additions and 26 deletions

View File

@ -32,6 +32,7 @@ return [
'digits_between' => 'The :attribute must be between :min and :max digits.', 'digits_between' => 'The :attribute must be between :min and :max digits.',
'email' => 'The :attribute must be a valid email address.', 'email' => 'The :attribute must be a valid email address.',
'ends_with' => 'The :attribute must end with one of the following: :values', 'ends_with' => 'The :attribute must end with one of the following: :values',
'file' => 'The :attribute must be provided as a valid file.',
'filled' => 'The :attribute field is required.', 'filled' => 'The :attribute field is required.',
'gt' => [ 'gt' => [
'numeric' => 'The :attribute must be greater than :value.', 'numeric' => 'The :attribute must be greater than :value.',

View File

@ -122,7 +122,7 @@ class AttachmentsApiTest extends TestCase
$resp = $this->call('POST', $this->baseEndpoint, $details, [], ['file' => $file]); $resp = $this->call('POST', $this->baseEndpoint, $details, [], ['file' => $file]);
$resp->assertStatus(422); $resp->assertStatus(422);
$resp->assertJson($this->validationResponse([ $resp->assertJson($this->validationResponse([
"file" => ["The file may not be greater than 1000 kilobytes."] 'file' => ['The file may not be greater than 1000 kilobytes.'],
])); ]));
} }
@ -139,15 +139,7 @@ class AttachmentsApiTest extends TestCase
$resp = $this->postJson($this->baseEndpoint, $details); $resp = $this->postJson($this->baseEndpoint, $details);
$resp->assertStatus(422); $resp->assertStatus(422);
$resp->assertJson([ $resp->assertJson($this->validationResponse(['name' => ['The name field is required.']]));
'error' => [
'message' => 'The given data was invalid.',
'validation' => [
'name' => ['The name field is required.'],
],
'code' => 422,
],
]);
} }
public function test_link_or_file_needed_to_create() public function test_link_or_file_needed_to_create()
@ -163,16 +155,27 @@ class AttachmentsApiTest extends TestCase
$resp = $this->postJson($this->baseEndpoint, $details); $resp = $this->postJson($this->baseEndpoint, $details);
$resp->assertStatus(422); $resp->assertStatus(422);
$resp->assertJson([ $resp->assertJson($this->validationResponse([
'error' => [ 'file' => ['The file field is required when link is not present.'],
'message' => 'The given data was invalid.', 'link' => ['The link field is required when file is not present.'],
'validation' => [ ]));
'file' => ['The file field is required when link is not present.'], }
'link' => ['The link field is required when file is not present.'],
], public function test_message_shown_if_file_is_not_a_valid_file()
'code' => 422, {
], $this->actingAsApiAdmin();
]); /** @var Page $page */
$page = Page::query()->first();
$details = [
'name' => 'my attachment',
'uploaded_to' => $page->id,
'file' => 'cat',
];
$resp = $this->postJson($this->baseEndpoint, $details);
$resp->assertStatus(422);
$resp->assertJson($this->validationResponse(['file' => ['The file must be provided as a valid file.']]));
} }
public function test_read_endpoint_for_link_attachment() public function test_read_endpoint_for_link_attachment()

View File

@ -659,14 +659,14 @@ class PageContentTest extends TestCase
public function test_markdown_base64_extract_not_limited_by_pcre_limits() public function test_markdown_base64_extract_not_limited_by_pcre_limits()
{ {
$pcreBacktrackLimit = ini_get("pcre.backtrack_limit"); $pcreBacktrackLimit = ini_get('pcre.backtrack_limit');
$pcreRecursionLimit = ini_get("pcre.recursion_limit"); $pcreRecursionLimit = ini_get('pcre.recursion_limit');
$this->asEditor(); $this->asEditor();
$page = Page::query()->first(); $page = Page::query()->first();
ini_set("pcre.backtrack_limit", "500"); ini_set('pcre.backtrack_limit', '500');
ini_set("pcre.recursion_limit", "500"); ini_set('pcre.recursion_limit', '500');
$content = str_repeat('a', 5000); $content = str_repeat('a', 5000);
$base64Content = base64_encode($content); $base64Content = base64_encode($content);
@ -686,8 +686,8 @@ class PageContentTest extends TestCase
$this->assertEquals($content, file_get_contents($imageFile)); $this->assertEquals($content, file_get_contents($imageFile));
$this->deleteImage($imagePath); $this->deleteImage($imagePath);
ini_set("pcre.backtrack_limit", $pcreBacktrackLimit); ini_set('pcre.backtrack_limit', $pcreBacktrackLimit);
ini_set("pcre.recursion_limit", $pcreRecursionLimit); ini_set('pcre.recursion_limit', $pcreRecursionLimit);
} }
public function test_base64_images_within_markdown_blanked_if_not_supported_extension_for_extract() public function test_base64_images_within_markdown_blanked_if_not_supported_extension_for_extract()