setUserResolver(fn () => new MiddlewareFakeUser(5, 88)); $middleware = app(ResolveSchoolContext::class); $response = $middleware->handle($request, function (Request $request) { return response()->json([ 'school_id' => $request->attributes->get(SchoolContext::class)->schoolId, ]); }); $this->assertSame(200, $response->getStatusCode()); $this->assertStringContainsString('5', $response->getContent()); } } final class MiddlewareFakeUser implements Authenticatable { public function __construct(public int $school_id, private int $id) { } public function getAuthIdentifierName(): string { return 'id'; } public function getAuthIdentifier(): mixed { return $this->id; } public function getAuthPassword(): string { return ''; } public function getAuthPasswordName(): string { return 'password'; } public function getRememberToken(): ?string { return null; } public function setRememberToken($value): void {} public function getRememberTokenName(): string { return 'remember_token'; } }