45 lines
1.4 KiB
PHP
45 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Engelsystem\Test\Unit\Middleware;
|
|
|
|
use Engelsystem\Middleware\SessionHandler;
|
|
use Engelsystem\Middleware\SessionHandlerServiceProvider;
|
|
use Engelsystem\Test\Unit\ServiceProviderTest;
|
|
use Illuminate\Contracts\Container\ContextualBindingBuilder;
|
|
use PHPUnit\Framework\MockObject\MockObject;
|
|
|
|
class SessionHandlerServiceProviderTest extends ServiceProviderTest
|
|
{
|
|
/**
|
|
* @covers \Engelsystem\Middleware\SessionHandlerServiceProvider::register()
|
|
*/
|
|
public function testRegister(): void
|
|
{
|
|
/** @var ContextualBindingBuilder|MockObject $bindingBuilder */
|
|
$bindingBuilder = $this->createMock(ContextualBindingBuilder::class);
|
|
$app = $this->getApp(['when']);
|
|
|
|
$app->expects($this->once())
|
|
->method('when')
|
|
->with(SessionHandler::class)
|
|
->willReturn($bindingBuilder);
|
|
|
|
$bindingBuilder->expects($this->once())
|
|
->method('needs')
|
|
->with('$paths')
|
|
->willReturn($bindingBuilder);
|
|
|
|
$bindingBuilder->expects($this->once())
|
|
->method('give')
|
|
->willReturnCallback(function (callable $callable): void {
|
|
$paths = $callable();
|
|
|
|
$this->assertIsArray($paths);
|
|
$this->assertTrue(in_array('/metrics', $paths));
|
|
});
|
|
|
|
$serviceProvider = new SessionHandlerServiceProvider($app);
|
|
$serviceProvider->register();
|
|
}
|
|
}
|