feat: add session partitioned cookie support and update related tests

This commit is contained in:
ncoronel 2026-08-20 14:47:51 -03:00
parent 6775fb110c
commit 5ad18694e1
3 changed files with 5 additions and 1 deletions

View File

@ -54,6 +54,8 @@ SESSION_LIFETIME=120
SESSION_ENCRYPT=false SESSION_ENCRYPT=false
SESSION_PATH=/ SESSION_PATH=/
SESSION_DOMAIN=null SESSION_DOMAIN=null
SESSION_SAME_SITE=lax
SESSION_PARTITIONED_COOKIE=false
SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1,*.shopit.com.ar SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1,*.shopit.com.ar
SANCTUM_EXPIRATION=720 SANCTUM_EXPIRATION=720
SESSION_SECURE_COOKIE=false SESSION_SECURE_COOKIE=false

View File

@ -306,7 +306,7 @@ class CartService
true, true,
false, false,
config('session.same_site'), config('session.same_site'),
); )->withPartitioned((bool) config('session.partitioned'));
} }
protected function makeEmptyCart(Tenant $tenant): Cart protected function makeEmptyCart(Tenant $tenant): Cart

View File

@ -35,6 +35,7 @@ class CartControllerTest extends TestCase
config()->set('session.domain', '.qa.shopit.com.ar'); config()->set('session.domain', '.qa.shopit.com.ar');
config()->set('session.secure', true); config()->set('session.secure', true);
config()->set('session.same_site', 'none'); config()->set('session.same_site', 'none');
config()->set('session.partitioned', true);
$tenant = $this->createTenant('acme'); $tenant = $this->createTenant('acme');
$item = $this->createDirectItem($tenant, 10, '49.90'); $item = $this->createDirectItem($tenant, 10, '49.90');
@ -63,6 +64,7 @@ class CartControllerTest extends TestCase
$this->assertTrue($guestTokenCookie->isSecure()); $this->assertTrue($guestTokenCookie->isSecure());
$this->assertTrue($guestTokenCookie->isHttpOnly()); $this->assertTrue($guestTokenCookie->isHttpOnly());
$this->assertSame('none', $guestTokenCookie->getSameSite()); $this->assertSame('none', $guestTokenCookie->getSameSite());
$this->assertTrue($guestTokenCookie->isPartitioned());
$this->assertDatabaseHas('carrito_items', [ $this->assertDatabaseHas('carrito_items', [
'catalog_item_id' => $item->id, 'catalog_item_id' => $item->id,