add find by user method for scheduled nodes
This commit is contained in:
parent
a9265abeae
commit
0ea300f4d2
2 changed files with 29 additions and 0 deletions
|
|
@ -2,7 +2,13 @@
|
||||||
|
|
||||||
namespace App\ScheduledNode;
|
namespace App\ScheduledNode;
|
||||||
|
|
||||||
|
use App\User\User;
|
||||||
|
|
||||||
interface ScheduledNodeRepository
|
interface ScheduledNodeRepository
|
||||||
{
|
{
|
||||||
public function create(CreateScheduledNodeDto $dto): ScheduledNode;
|
public function create(CreateScheduledNodeDto $dto): ScheduledNode;
|
||||||
|
/**
|
||||||
|
* @return ScheduledNode[]
|
||||||
|
*/
|
||||||
|
public function findByUser(User $user): array;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ namespace Tests\Fakes;
|
||||||
use App\ScheduledNode\CreateScheduledNodeDto;
|
use App\ScheduledNode\CreateScheduledNodeDto;
|
||||||
use App\ScheduledNode\ScheduledNode;
|
use App\ScheduledNode\ScheduledNode;
|
||||||
use App\ScheduledNode\ScheduledNodeRepository;
|
use App\ScheduledNode\ScheduledNodeRepository;
|
||||||
|
use App\User\User;
|
||||||
|
|
||||||
class FakeScheduledNodeRepository implements ScheduledNodeRepository
|
class FakeScheduledNodeRepository implements ScheduledNodeRepository
|
||||||
{
|
{
|
||||||
|
|
@ -46,4 +47,26 @@ class FakeScheduledNodeRepository implements ScheduledNodeRepository
|
||||||
{
|
{
|
||||||
return count($this->existingScheduledNodes);
|
return count($this->existingScheduledNodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function findByUser(User $user): array
|
||||||
|
{
|
||||||
|
$scheduledNodes = array_filter(
|
||||||
|
$this->existingScheduledNodes,
|
||||||
|
function (ScheduledNode $node) use ($user) {
|
||||||
|
return $node->getPlan()->getUser()->getId() === $user->getId();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
return array_map(
|
||||||
|
function (ScheduledNode $node) {
|
||||||
|
return new ScheduledNode(
|
||||||
|
id: $node->getId(),
|
||||||
|
date: $node->getDate(),
|
||||||
|
plan: $node->getPlan(),
|
||||||
|
node: $node->getNode(),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
$scheduledNodes,
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue