Skip to content

Commit 9b1610c

Browse files
committed
refactor session handling
1 parent 2f5106a commit 9b1610c

2 files changed

Lines changed: 17 additions & 8 deletions

File tree

app/Livewire/OrderSuccess.php

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public function loadData(): void
3737

3838
private function loadEmail(): ?string
3939
{
40-
if ($email = session('customer_email')) {
40+
if ($email = session($this->sessionKey('email'))) {
4141
return $email;
4242
}
4343

@@ -48,14 +48,14 @@ private function loadEmail(): ?string
4848
return null;
4949
}
5050

51-
session()->put('customer_email', $email);
51+
session()->put($this->sessionKey('email'), $email);
5252

5353
return $email;
5454
}
5555

5656
private function loadLicenseKey(): ?string
5757
{
58-
if ($licenseKey = session('license_key')) {
58+
if ($licenseKey = session($this->sessionKey('license_key'))) {
5959
return $licenseKey;
6060
}
6161

@@ -64,15 +64,15 @@ private function loadLicenseKey(): ?string
6464
}
6565

6666
if ($licenseKey = Cache::get($this->email.'.license_key')) {
67-
session()->put('license_key', $licenseKey);
67+
session()->put($this->sessionKey('license_key'), $licenseKey);
6868
}
6969

7070
return $licenseKey;
7171
}
7272

7373
private function loadSubscription(): ?Subscription
7474
{
75-
if ($subscription = session('subscription')) {
75+
if ($subscription = session($this->sessionKey('subscription'))) {
7676
return Subscription::tryFrom($subscription);
7777
}
7878

@@ -85,8 +85,13 @@ private function loadSubscription(): ?Subscription
8585

8686
$subscription = Subscription::fromStripePriceId($priceId);
8787

88-
session()->put('subscription', $subscription->value);
88+
session()->put($this->sessionKey('subscription'), $subscription->value);
8989

9090
return $subscription;
9191
}
92+
93+
private function sessionKey(string $key): string
94+
{
95+
return "{$this->checkoutSessionId}.{$key}";
96+
}
9297
}

tests/Feature/Livewire/OrderSuccessTest.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,12 @@ public function it_displays_license_key_when_available()
6161
#[Test]
6262
public function it_uses_session_data_when_available()
6363
{
64-
Session::put('customer_email', 'session@example.com');
65-
Session::put('license_key', 'session-license-key');
64+
Cache::flush();
65+
66+
$checkoutSessionId = 'cs_test_123';
67+
68+
Session::put("$checkoutSessionId.email", 'session@example.com');
69+
Session::put("$checkoutSessionId.license_key", 'session-license-key');
6670

6771
Livewire::test(OrderSuccess::class, ['checkoutSessionId' => 'cs_test_123'])
6872
->assertSet('email', 'session@example.com')

0 commit comments

Comments
 (0)