Update validation
This commit is contained in:
parent
78143ec0b3
commit
1aeb520b06
|
@ -22,8 +22,8 @@ class MediaController
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'name' => 'string',
|
|
||||||
'model' => ['required', 'string', Rule::in(app('media-library-helpers')->keys())],
|
'model' => ['required', 'string', Rule::in(app('media-library-helpers')->keys())],
|
||||||
|
'id' => 'required',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$model = $this->validateModel($request);
|
$model = $this->validateModel($request);
|
||||||
|
@ -34,13 +34,13 @@ class MediaController
|
||||||
$request->validate($isSingle ? [
|
$request->validate($isSingle ? [
|
||||||
'payload' => 'array',
|
'payload' => 'array',
|
||||||
'payload.*' => '',
|
'payload.*' => '',
|
||||||
'payload.name' => 'required|string|max:255',
|
'payload.name' => 'required|string|regex:/\..*$/|max:255',
|
||||||
'payload.content' => 'required|string',
|
'payload.content' => 'required|string',
|
||||||
] : [
|
] : [
|
||||||
'payload' => 'required|array|min:1',
|
'payload' => 'required|array|min:1',
|
||||||
'payload.*' => 'array',
|
'payload.*' => 'array',
|
||||||
'payload.*.name' => 'string',
|
'payload.*.name' => 'required|string|regex:/\..*$/|max:255',
|
||||||
'payload.*.content' => 'string',
|
'payload.*.content' => 'required|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$content = $isSingle ? [$request->input('payload')] : $request->input('payload');
|
$content = $isSingle ? [$request->input('payload')] : $request->input('payload');
|
||||||
|
|
|
@ -35,6 +35,79 @@ test('it uploads a single file to a single file collection', function () {
|
||||||
$response->assertJsonMissingPath('model_id');
|
$response->assertJsonMissingPath('model_id');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('test validation', function (array $attributes, string $messages) {
|
||||||
|
$this->auth()->registerModel();
|
||||||
|
$post = $this->newPost();
|
||||||
|
$content = base64_encode($this->pdfFile()->getContent());
|
||||||
|
|
||||||
|
$this->postJson('/mediaupload', [
|
||||||
|
'model' => 'post',
|
||||||
|
'id' => $post->id,
|
||||||
|
'collection' => 'defaultSingleFile',
|
||||||
|
'payload' => [
|
||||||
|
'content' => $content,
|
||||||
|
'name' => 'beispiel bild.jpg',
|
||||||
|
],
|
||||||
|
...$attributes
|
||||||
|
])->assertJsonValidationErrors($messages);
|
||||||
|
})->with([
|
||||||
|
'missing collection' => [
|
||||||
|
['collection' => ''],
|
||||||
|
'collection'
|
||||||
|
],
|
||||||
|
'missing id' => [
|
||||||
|
['id' => ''],
|
||||||
|
'id'
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
|
||||||
|
test('test validation for payload', function () {
|
||||||
|
$this->auth()->registerModel();
|
||||||
|
$post = $this->newPost();
|
||||||
|
|
||||||
|
$this->postJson('/mediaupload', [
|
||||||
|
'model' => 'post',
|
||||||
|
'id' => $post->id,
|
||||||
|
'collection' => 'defaultSingleFile',
|
||||||
|
'payload' => [
|
||||||
|
'content' => '',
|
||||||
|
'name' => 'beispiel bild.jpg',
|
||||||
|
],
|
||||||
|
])->assertJsonValidationErrors('payload.content');
|
||||||
|
});
|
||||||
|
|
||||||
|
test('test validation for name', function () {
|
||||||
|
$this->auth()->registerModel();
|
||||||
|
$post = $this->newPost();
|
||||||
|
$content = base64_encode($this->pdfFile()->getContent());
|
||||||
|
|
||||||
|
$this->postJson('/mediaupload', [
|
||||||
|
'model' => 'post',
|
||||||
|
'id' => $post->id,
|
||||||
|
'collection' => 'defaultSingleFile',
|
||||||
|
'payload' => [
|
||||||
|
'content' => $content,
|
||||||
|
'name' => '',
|
||||||
|
],
|
||||||
|
])->assertJsonValidationErrors('payload.name');
|
||||||
|
});
|
||||||
|
|
||||||
|
test('test validation for extension', function () {
|
||||||
|
$this->auth()->registerModel();
|
||||||
|
$post = $this->newPost();
|
||||||
|
$content = base64_encode($this->pdfFile()->getContent());
|
||||||
|
|
||||||
|
$this->postJson('/mediaupload', [
|
||||||
|
'model' => 'post',
|
||||||
|
'id' => $post->id,
|
||||||
|
'collection' => 'defaultSingleFile',
|
||||||
|
'payload' => [
|
||||||
|
'content' => $content,
|
||||||
|
'name' => 'aaa',
|
||||||
|
],
|
||||||
|
])->assertJsonValidationErrors('payload.name');
|
||||||
|
});
|
||||||
|
|
||||||
test('it uploads a single image to a single file collection', function () {
|
test('it uploads a single image to a single file collection', function () {
|
||||||
$this->auth()->registerModel();
|
$this->auth()->registerModel();
|
||||||
$post = $this->newPost();
|
$post = $this->newPost();
|
||||||
|
|
Loading…
Reference in New Issue