3
0
mirror of https://github.com/snipe/snipe-it.git synced 2026-02-04 19:05:24 +00:00
Files
snipe-it/tests/Feature/Setup/Ui/IndexSetupTest.php
2025-12-05 17:03:10 +00:00

86 lines
2.0 KiB
PHP

<?php
namespace Tests\Feature\Setup\Ui;
use App\Models\User;
use Tests\TestCase;
class IndexSetupTest extends TestCase
{
public function testPageRenders()
{
$this->get(route('setup'))
->assertOk();
}
public function testPageRedirectsIfNoRecordsFound()
{
$this->assertDatabaseEmpty('users');
$this->get(route('home'))
->assertStatus(302)
->assertRedirectToRoute('setup');
}
public function testPageRedirectsIfRecordsFound() {
$this->actingAs(User::factory()->superuser()->create())
->get(route('setup'))
->assertStatus(302)
->assertRedirectToRoute('home');
}
public function testMigrationPageRenders() {
$this->assertDatabaseEmpty('users');
$this->post(route('setup.migrate'))
->assertOk();
}
public function testCreateFirstUserPageRenders() {
$this->assertDatabaseEmpty('users');
$this->get(route('setup.user'))
->assertOk();
}
public function testCreateFirstUserValidation() {
$this->assertDatabaseEmpty('users');
$response = $this->post(route('setup.user.save'))
->assertStatus(302);
$this->followRedirects($response)->assertSee('error');
$this->assertDatabaseCount('users', 0);
}
public function testCreateFirstUserSaved() {
$this->assertDatabaseEmpty('users');
$this->post(route('setup.user.save'),
[
'site_name' => 'Snipe-IT',
'first_name' => 'First',
'last_name' => 'Admin',
'username' => 'AwesomeAdmin',
'password' => '0834529!!*423',
'password_confirmation' => '0834529!!*423',
'email_domain' => 'example.org',
])
->assertRedirectToRoute('setup.done')
->assertStatus(302)
->assertSessionHas('success');
$this->assertDatabaseCount('users', 1);
}
}