<?php declare(strict_types=1); namespace Engelsystem\Test\Unit\Helpers\Stub; use Engelsystem\Models\User\User; use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Query\Builder as QueryBuilder; use InvalidArgumentException; class UserModelImplementation extends User { public static ?User $user = null; public static ?int $id = null; public static ?string $apiKey = null; public function find(mixed $id, array $columns = ['*']): ?User { if ($id != static::$id) { throw new InvalidArgumentException('Wrong user ID searched'); } return self::$user; } /** * @return User[]|Collection|QueryBuilder */ public static function whereApiKey(string $apiKey): array|Collection|QueryBuilder { if ($apiKey != static::$apiKey) { throw new InvalidArgumentException('Wrong api key searched'); } return new Collection([self::$user]); } }