96 lines
3.0 KiB
PHP
96 lines
3.0 KiB
PHP
<?php
|
|
|
|
use Encore\Admin\Auth\Database\Administrator;
|
|
|
|
class UsersTest extends TestCase
|
|
{
|
|
protected $user;
|
|
|
|
public function setUp()
|
|
{
|
|
parent::setUp();
|
|
|
|
$this->user = Administrator::first();
|
|
|
|
$this->be($this->user, 'admin');
|
|
}
|
|
|
|
public function testUsersIndexPage()
|
|
{
|
|
$this->visit('admin/auth/users')
|
|
->see('Administrator');
|
|
}
|
|
|
|
public function testCreateUser()
|
|
{
|
|
$user = [
|
|
'username' => 'Test',
|
|
'name' => 'Name',
|
|
'password' => '123456',
|
|
'password_confirmation' => '123456',
|
|
];
|
|
|
|
// create user
|
|
$this->visit('admin/auth/users/create')
|
|
->see('Create')
|
|
->submitForm('Submit', $user)
|
|
->seePageIs('admin/auth/users')
|
|
->seeInDatabase(config('admin.database.users_table'), ['username' => 'Test']);
|
|
|
|
// assign role to user
|
|
$this->visit('admin/auth/users/2/edit')
|
|
->see('Edit')
|
|
->submitForm('Submit', ['roles' => [1]])
|
|
->seePageIs('admin/auth/users')
|
|
->seeInDatabase(config('admin.database.role_users_table'), ['user_id' => 2, 'role_id' => 1]);
|
|
|
|
$this->visit('admin/auth/logout')
|
|
->dontSeeIsAuthenticated('admin')
|
|
->seePageIs('admin/auth/login')
|
|
->submitForm('Login', ['username' => $user['username'], 'password' => $user['password']])
|
|
->see('dashboard')
|
|
->seeIsAuthenticated('admin')
|
|
->seePageIs('admin');
|
|
|
|
$this->assertTrue($this->app['auth']->guard('admin')->getUser()->isAdministrator());
|
|
|
|
$this->see('<span>Users</span>')
|
|
->see('<span>Roles</span>')
|
|
->see('<span>Permission</span>')
|
|
->see('<span>Operation log</span>')
|
|
->see('<span>Menu</span>');
|
|
}
|
|
|
|
public function testUpdateUser()
|
|
{
|
|
$this->visit('admin/auth/users/'.$this->user->id.'/edit')
|
|
->see('Create')
|
|
->submitForm('Submit', ['name' => 'test', 'roles' => [1]])
|
|
->seePageIs('admin/auth/users')
|
|
->seeInDatabase(config('admin.database.users_table'), ['name' => 'test']);
|
|
}
|
|
|
|
public function testResetPassword()
|
|
{
|
|
$password = 'odjwyufkglte';
|
|
|
|
$data = [
|
|
'password' => $password,
|
|
'password_confirmation' => $password,
|
|
'roles' => [1],
|
|
];
|
|
|
|
$this->visit('admin/auth/users/'.$this->user->id.'/edit')
|
|
->see('Create')
|
|
->submitForm('Submit', $data)
|
|
->seePageIs('admin/auth/users')
|
|
->visit('admin/auth/logout')
|
|
->dontSeeIsAuthenticated('admin')
|
|
->seePageIs('admin/auth/login')
|
|
->submitForm('Login', ['username' => $this->user->username, 'password' => $password])
|
|
->see('dashboard')
|
|
->seeIsAuthenticated('admin')
|
|
->seePageIs('admin');
|
|
}
|
|
}
|