fix PHPStan errors in SessionBag

This commit is contained in:
Younes ENNAJI
2026-02-25 11:34:01 +00:00
parent 18a31f578b
commit 4145b870dd
2 changed files with 13 additions and 5 deletions
+9 -2
View File
@@ -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;
}
+4 -3
View File
@@ -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);