<?php namespace Tests\Unit\Http\Middleware; use Illuminate\Auth\AuthenticationException; use Pterodactyl\Http\Middleware\Authenticate; class AuthenticateTest extends MiddlewareTestCase { /** * Test that a logged in user validates correctly. */ public function testLoggedInUser() { $this->request->shouldReceive('user')->withNoArgs()->once()->andReturn(true); $this->getMiddleware()->handle($this->request, $this->getClosureAssertions()); } /** * Test that a logged out user results in an exception. */ public function testLoggedOutUser() { $this->expectException(AuthenticationException::class); $this->request->shouldReceive('user')->withNoArgs()->once()->andReturnNull(); $this->getMiddleware()->handle($this->request, $this->getClosureAssertions()); } /** * Return an instance of the middleware using mocked dependencies. * * @return \Pterodactyl\Http\Middleware\Authenticate */ private function getMiddleware(): Authenticate { return new Authenticate(); } }