You've already forked php-flasher
mirror of
https://github.com/php-flasher/php-flasher.git
synced 2026-04-05 20:42:56 +01:00
103 lines
3.0 KiB
PHP
103 lines
3.0 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Flasher\Tests\Laravel\Http;
|
|
|
|
use Flasher\Laravel\Http\Request;
|
|
use Illuminate\Http\Request as LaravelRequest;
|
|
use Illuminate\Session\Store as SessionStore;
|
|
use Mockery\Adapter\Phpunit\MockeryPHPUnitIntegration;
|
|
use Mockery\MockInterface;
|
|
use Orchestra\Testbench\TestCase;
|
|
|
|
final class RequestTest extends TestCase
|
|
{
|
|
use MockeryPHPUnitIntegration;
|
|
|
|
private MockInterface&LaravelRequest $laravelRequestMock;
|
|
|
|
protected function setUp(): void
|
|
{
|
|
$this->laravelRequestMock = \Mockery::mock(LaravelRequest::class);
|
|
}
|
|
|
|
public function testIsXmlHttpRequest(): void
|
|
{
|
|
$this->laravelRequestMock->expects('ajax')->andReturns(true);
|
|
|
|
$request = new Request($this->laravelRequestMock);
|
|
|
|
$this->assertTrue($request->isXmlHttpRequest());
|
|
}
|
|
|
|
public function testIsHtmlRequestFormat(): void
|
|
{
|
|
$this->laravelRequestMock->expects('acceptsHtml')->andReturns(true);
|
|
|
|
$request = new Request($this->laravelRequestMock);
|
|
|
|
$this->assertTrue($request->isHtmlRequestFormat());
|
|
}
|
|
|
|
public function testHasSession(): void
|
|
{
|
|
$this->laravelRequestMock->expects('hasSession')->andReturns(true);
|
|
|
|
$request = new Request($this->laravelRequestMock);
|
|
|
|
$this->assertTrue($request->hasSession());
|
|
}
|
|
|
|
public function testIsSessionStarted(): void
|
|
{
|
|
$sessionMock = \Mockery::mock(SessionStore::class);
|
|
$sessionMock->expects('isStarted')->andReturns(true);
|
|
|
|
$this->laravelRequestMock->expects('session')->andReturns($sessionMock);
|
|
|
|
$request = new Request($this->laravelRequestMock);
|
|
|
|
$this->assertTrue($request->isSessionStarted());
|
|
}
|
|
|
|
public function testHasType(): void
|
|
{
|
|
$sessionMock = \Mockery::mock(SessionStore::class);
|
|
$sessionMock->expects('has')->with('type')->andReturns(true);
|
|
$sessionMock->expects('isStarted')->andReturns(true);
|
|
|
|
$this->laravelRequestMock->expects('session')->twice()->andReturns($sessionMock);
|
|
$this->laravelRequestMock->expects('hasSession')->andReturn(true);
|
|
|
|
$request = new Request($this->laravelRequestMock);
|
|
|
|
$this->assertTrue($request->hasType('type'));
|
|
}
|
|
|
|
public function testGetType(): void
|
|
{
|
|
$expectedValue = 'value';
|
|
$sessionMock = \Mockery::mock(SessionStore::class);
|
|
$sessionMock->expects('get')->with('type')->andReturns($expectedValue);
|
|
|
|
$this->laravelRequestMock->expects('session')->andReturns($sessionMock);
|
|
|
|
$request = new Request($this->laravelRequestMock);
|
|
|
|
$this->assertSame($expectedValue, $request->getType('type'));
|
|
}
|
|
|
|
public function testForgetType(): void
|
|
{
|
|
$sessionMock = \Mockery::mock(SessionStore::class);
|
|
$sessionMock->expects('forget')->with('type');
|
|
|
|
$this->laravelRequestMock->expects('session')->andReturns($sessionMock);
|
|
|
|
$request = new Request($this->laravelRequestMock);
|
|
|
|
$request->forgetType('type');
|
|
}
|
|
}
|