Skip to content

Commit

Permalink
Use correct method for fetching array params
Browse files Browse the repository at this point in the history
  • Loading branch information
christeredvartsen committed Jan 28, 2023
1 parent 5bd1f7d commit a2167fe
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/Http/Request/Request.php
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ public function getUser(): ?string
public function getUsers()
{
$routeUser = $this->getUser();
$queryUsers = $this->query->get('users', []);
$queryUsers = $this->query->all('users');

if (!$routeUser && !$queryUsers) {
return [];
Expand Down
65 changes: 65 additions & 0 deletions tests/Http/Request/RequestTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,71 @@ public function testSetGetUser(): void
$this->assertSame($user, $this->request->getUser());
}

public function getUsers(): array
{
return [

'no user' => [
'routeUser' => null,
'queryUsers' => null,
'expectedUsers' => [],
],
'user only in route' => [
'routeUser' => 'routeUser',
'queryUsers' => null,
'expectedUsers' => [
'routeUser',
],
],
'user only in query' => [
'routeUser' => null,
'queryUsers' => [
'user1',
'user2',
],
'expectedUsers' => [
'user1',
'user2',
],
],
'user in both route and query' => [
'routeUser' => 'routeUser',
'queryUsers' => [
'user1',
'user2',
],
'expectedUsers' => [
'routeUser',
'user1',
'user2',
],
],
];
}

/**
* @dataProvider getUsers
* @covers ::getUsers
*/
public function testGetUsers(?string $routeUser, ?array $queryUsers, array $expectedUsers): void
{
$route = new Route();
if (null !== $routeUser) {
$route->set('user', $routeUser);
}


$this->request->setRoute($route);
if (null !== $queryUsers) {
$this->request->query->set('users', $queryUsers);
}

$this->assertSame(
$expectedUsers,
$this->request->getUsers(),
);
}

/**
* @covers ::getPublicKey
*/
Expand Down

0 comments on commit a2167fe

Please sign in to comment.