mirror of
https://github.com/php-flasher/php-flasher.git
synced 2026-03-31 15:07:47 +01:00
fix PHPStan errors in SessionBag
This commit is contained in:
@@ -8,6 +8,7 @@ use Flasher\Prime\Notification\Envelope;
|
||||
use Flasher\Prime\Storage\Bag\BagInterface;
|
||||
use Illuminate\Contracts\Session\Session;
|
||||
use Illuminate\Session\SessionManager;
|
||||
use Illuminate\Session\Store;
|
||||
|
||||
final readonly class SessionBag implements BagInterface
|
||||
{
|
||||
@@ -34,14 +35,20 @@ final readonly class SessionBag implements BagInterface
|
||||
{
|
||||
$session = $this->getSession();
|
||||
|
||||
$session->set(self::ENVELOPES_NAMESPACE, $envelopes);
|
||||
if ($session instanceof FallbackSessionInterface) {
|
||||
$session->set(self::ENVELOPES_NAMESPACE, $envelopes);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$session->put(self::ENVELOPES_NAMESPACE, $envelopes);
|
||||
}
|
||||
|
||||
private function getSession(): Session|FallbackSessionInterface
|
||||
{
|
||||
$session = $this->sessionManager->driver();
|
||||
|
||||
if ($session->isStarted()) {
|
||||
if ($session instanceof Store && $session->isStarted()) {
|
||||
return $session;
|
||||
}
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ final class SessionBagTest extends TestCase
|
||||
$sessionMock = \Mockery::mock(Store::class);
|
||||
$sessionMock->allows()->isStarted()->andReturns(true);
|
||||
$sessionMock->allows()->get(SessionBag::ENVELOPES_NAMESPACE, [])->andReturns($envelopes);
|
||||
$sessionMock->expects()->set(SessionBag::ENVELOPES_NAMESPACE, $envelopes);
|
||||
$sessionMock->expects()->put(SessionBag::ENVELOPES_NAMESPACE, $envelopes);
|
||||
|
||||
$this->sessionManagerMock->allows()->driver()->andReturns($sessionMock);
|
||||
|
||||
@@ -92,7 +92,8 @@ final class SessionBagTest extends TestCase
|
||||
|
||||
public function testCustomFallbackSession(): void
|
||||
{
|
||||
$customFallback = new class() implements FallbackSessionInterface {
|
||||
$customFallback = new class implements FallbackSessionInterface {
|
||||
/** @var array<string, mixed> */
|
||||
private array $data = [];
|
||||
|
||||
public function get(string $name, mixed $default = null): mixed
|
||||
@@ -183,7 +184,7 @@ final class SessionBagTest extends TestCase
|
||||
$sessionMock = \Mockery::mock(Store::class);
|
||||
$sessionMock->allows()->isStarted()->andReturns(true);
|
||||
$sessionMock->allows()->get(SessionBag::ENVELOPES_NAMESPACE, [])->andReturns($envelopes2);
|
||||
$sessionMock->allows()->set(SessionBag::ENVELOPES_NAMESPACE, \Mockery::any())->twice();
|
||||
$sessionMock->allows()->put(SessionBag::ENVELOPES_NAMESPACE, \Mockery::any())->twice();
|
||||
|
||||
$this->sessionManagerMock->allows()->driver()->andReturns($sessionMock);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user