clusev/tests/Feature/ReleaseGatingTest.php

43 lines
1.2 KiB
PHP

<?php
namespace Tests\Feature;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class ReleaseGatingTest extends TestCase
{
use RefreshDatabase;
protected function setUp(): void
{
parent::setUp();
$this->actingAs(User::factory()->create(['must_change_password' => false]));
}
public function test_release_route_is_404_when_the_flag_is_off(): void
{
config()->set('clusev.release_controls', false);
$this->get('/release')->assertNotFound();
}
public function test_release_route_loads_when_the_flag_is_on(): void
{
config()->set('clusev.release_controls', true);
$this->get('/release')->assertOk();
}
public function test_sidebar_hides_the_release_item_when_the_flag_is_off(): void
{
config()->set('clusev.release_controls', false);
$this->get('/audit')->assertOk()->assertDontSee(__('release.nav'));
}
public function test_sidebar_shows_the_release_item_when_the_flag_is_on(): void
{
config()->set('clusev.release_controls', true);
$this->get('/audit')->assertOk()->assertSee(__('release.nav'));
}
}