Skip to content

Commit 3f6f840

Browse files
authored
Merge pull request #4541 from mattsches/mattsches-patch-1
Add unit tests for getStrippedSaveRequest
2 parents 1d7765e + 263bc84 commit 3f6f840

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

tests/Unit/CrudPanel/CrudPanelFieldsTest.php

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Arr;
66
use Backpack\CRUD\Tests\Unit\Models\User;
7+
use Illuminate\Http\Request;
78

89
/**
910
* @covers Backpack\CRUD\app\Library\CrudPanel\Traits\Fields
@@ -598,4 +599,44 @@ public function testFieldNameIsPartialRelationInCrudModel()
598599
$field = $this->crudPanel->fields()['articles_id'];
599600
$this->assertEquals($field['relation_type'], 'HasMany');
600601
}
602+
603+
public function testGetStrippedSaveRequestWithClosure()
604+
{
605+
$this->crudPanel->setOperationSetting(
606+
'strippedRequest',
607+
static function (Request $request) {
608+
return $request->toArray();
609+
},
610+
'update'
611+
);
612+
$this->crudPanel->setOperation('update');
613+
$this->crudPanel->setModel(User::class);
614+
$request = request()->create('/users/1/edit', 'POST', ['name' => 'john']);
615+
$result = $this->crudPanel->getStrippedSaveRequest($request);
616+
$this->assertIsArray($result);
617+
$this->assertSame(['name' => 'john'], $result);
618+
}
619+
620+
public function testGetStrippedSaveRequestWithClass()
621+
{
622+
$this->crudPanel->setOperationSetting(
623+
'strippedRequest',
624+
Invokable::class,
625+
'update'
626+
);
627+
$this->crudPanel->setOperation('update');
628+
$this->crudPanel->setModel(User::class);
629+
$request = request()->create('/users/1/edit', 'POST', ['name' => 'john']);
630+
$result = $this->crudPanel->getStrippedSaveRequest($request);
631+
$this->assertIsArray($result);
632+
$this->assertSame(['invokable' => 'invokable'], $result);
633+
}
634+
}
635+
636+
class Invokable
637+
{
638+
public function __invoke(): array
639+
{
640+
return ['invokable' => 'invokable'];
641+
}
601642
}

0 commit comments

Comments
 (0)