use BookStack\JointPermission;
use BookStack\Page;
use BookStack\Repos\EntityRepo;
+use BookStack\User;
class CommandsTest extends TestCase
{
$this->assertDatabaseHas('joint_permissions', ['entity_id' => $page->id]);
}
+
+ public function test_add_admin_command()
+ {
+ $exitCode = \Artisan::call('bookstack:create-admin', [
+ '--name' => 'Admin Test',
+ '--password' => 'testing-4',
+ ]);
+ $this->assertTrue($exitCode === 0, 'Command executed successfully');
+
+ $this->assertDatabaseHas('users', [
+ 'name' => 'Admin Test'
+ ]);
+
+ $this->assertTrue(User::where('email', '=', '
[email protected]')->first()->hasSystemRole('admin'), 'User has admin role as expected');
+ $this->assertTrue(\Auth::attempt(['email' => '
[email protected]', 'password' => 'testing-4']), 'Password stored as expected');
+ }
}