add find by user method in plan repo

This commit is contained in:
Yisroel Baum 2026-05-01 09:02:34 +03:00
parent ec4dca87a6
commit 07e34ffd46
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
3 changed files with 55 additions and 0 deletions

View file

@ -5,9 +5,13 @@ namespace Tests\Fakes;
use App\Plan\CreatePlanDto;
use App\Plan\Plan;
use App\Plan\PlanRepository;
use App\User\User;
class FakePlanRepository implements PlanRepository
{
/**
* @var Plan[]
*/
private array $existingPlans = [];
public function create(CreatePlanDto $dto): Plan
@ -37,4 +41,24 @@ class FakePlanRepository implements PlanRepository
}
);
}
public function findByUser(User $user): array
{
$plans = array_filter(
$this->existingPlans,
function (Plan $plan) use ($user) {
return $plan->getUser()->getId() === $user->getId();
}
);
return array_map(
function (Plan $plan) {
return new Plan(
id: $plan->getId(),
name: $plan->getName(),
user: $plan->getUser(),
);
},
$plans
);
}
}