Skip to content

Commit

Permalink
[11.x] Add tests for handling non-baked enum and empty string requests (
Browse files Browse the repository at this point in the history
#51289)

* Add tests for handling non-baked enum and empty string requests

* use existing request key

---------

Co-authored-by: Hrant Aghanian <haghanian@ronasit.com>
  • Loading branch information
hrant1020 and Hrant Aghanian authored May 5, 2024
1 parent 2f9a217 commit 7269425
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
8 changes: 7 additions & 1 deletion tests/Http/Enums.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@

namespace Illuminate\Tests\Http;

enum TestEnum: string
enum TestEnumBacked: string
{
case test = 'test';
case test_empty = '';
}

enum TestEnum
{
case test;
}
9 changes: 6 additions & 3 deletions tests/Http/HttpRequestTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -762,13 +762,16 @@ public function testEnumMethod()
$request = Request::create('/', 'GET', [
'valid_enum_value' => 'test',
'invalid_enum_value' => 'invalid',
'empty_value_request' => '',
]);

$this->assertNull($request->enum('doesnt_exists', TestEnum::class));
$this->assertNull($request->enum('doesnt_exists', TestEnumBacked::class));

$this->assertEquals(TestEnum::test, $request->enum('valid_enum_value', TestEnum::class));
$this->assertEquals(TestEnumBacked::test, $request->enum('valid_enum_value', TestEnumBacked::class));

$this->assertNull($request->enum('invalid_enum_value', TestEnum::class));
$this->assertNull($request->enum('invalid_enum_value', TestEnumBacked::class));
$this->assertNull($request->enum('empty_value_request', TestEnumBacked::class));
$this->assertNull($request->enum('valid_enum_value', TestEnum::class));
}

public function testArrayAccess()
Expand Down

0 comments on commit 7269425

Please sign in to comment.