Skip to content

Commit 386337d

Browse files
committed
Add tests to validate the disabled elevated session behavior.
1 parent 8b135cf commit 386337d

2 files changed

Lines changed: 61 additions & 0 deletions

File tree

tests/Auth/ElevatedSessionTest.php

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,47 @@ public function middleware_denies_request_when_elevated_session_has_expired_via_
300300
->assertJson(['message' => __('Requires an elevated session.')]);
301301
}
302302

303+
#[Test]
304+
public function middleware_does_not_require_elevated_session_when_elevated_session_is_disabled()
305+
{
306+
config(['statamic.users.elevated_session_disabled' => true]);
307+
308+
$this->actingAs($this->user);
309+
310+
$this
311+
->get('/requires-elevated-session')
312+
->assertOk()
313+
->assertSee('ok');
314+
}
315+
316+
#[Test]
317+
public function middleware_does_not_require_elevated_session_when_elevated_session_is_disabled_even_if_session_expired()
318+
{
319+
config(['statamic.users.elevated_session_disabled' => true]);
320+
321+
$this->actingAs($this->user);
322+
323+
$this
324+
->withElevatedSession(now()->subMinutes(16))
325+
->get('/requires-elevated-session')
326+
->assertOk()
327+
->assertSee('ok');
328+
}
329+
330+
#[Test]
331+
public function middleware_does_not_require_elevated_session_when_elevated_session_is_disabled_via_json()
332+
{
333+
config(['statamic.users.elevated_session_disabled' => true]);
334+
335+
$this->actingAs($this->user);
336+
337+
$this
338+
->withElevatedSession(now()->subMinutes(16))
339+
->getJson('/requires-elevated-session')
340+
->assertOk()
341+
->assertSee('ok');
342+
}
343+
303344
#[Test]
304345
public function the_session_is_elevated_upon_login()
305346
{

tests/Feature/Roles/StoreRoleTest.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,26 @@ public function it_denies_access_without_active_elevated_session()
6868
->assertRedirect('/cp/auth/confirm-password');
6969
}
7070

71+
#[Test]
72+
public function it_allows_storing_a_role_without_elevated_session_when_elevated_sessions_are_disabled()
73+
{
74+
config(['statamic.users.elevated_session_disabled' => true]);
75+
76+
$this
77+
->actingAsUserWithPermissions(['edit roles'])
78+
->store([
79+
'title' => 'No Elevated Session',
80+
'handle' => 'no_elevated_session',
81+
'permissions' => ['one', 'two'],
82+
])
83+
->assertOk()
84+
->assertJson(['redirect' => cp_route('roles.index')]);
85+
86+
$role = Role::find('no_elevated_session');
87+
$this->assertEquals('No Elevated Session', $role->title());
88+
$this->assertEquals(['one', 'two'], $role->permissions()->all());
89+
}
90+
7191
#[Test]
7292
public function it_stores_a_role()
7393
{

0 commit comments

Comments
 (0)