海工商新版后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

90 lines
2.9 KiB

<?php
namespace Tests\Browser\Cases;
use Dcat\Admin\Admin;
use Laravel\Dusk\Browser;
use Tests\TestCase;
/**
* 鉴权登陆功能测试.
*
* @group auth
*/
class AuthTest extends TestCase
{
protected $login = false;
public function testLoginPage()
{
$this->browse(function (Browser $browser) {
$browser->visit(admin_base_path('auth/login'))
->assertSeeText(__('admin.login'));
});
}
public function testVisitWithoutLogin()
{
$this->browse(function (Browser $browser) {
$browser->visit(admin_base_path('/'))
->assertPathIs(admin_base_path('auth/login'))
->assertGuest('admin');
});
}
public function testLogin()
{
$this->browse(function (Browser $browser) {
$credentials = ['username' => 'admin', 'password' => 'admin'];
$browser->visit(admin_base_path('auth/login'))
->assertPathIs(admin_base_path('auth/login'))
->assertSeeText(__('admin.login'))
->type('username', $credentials['username'])
->type('password', $credentials['password'])
->press(__('admin.login'))
->waitForLocation(admin_base_path('/'), 3)
->assertPathIs(admin_base_path('/'))
->assertSeeText('Administrator')
->assertSeeText('Dashboard')
->assertSeeText('Description...')
->assertSeeText('New Users')
->assertSeeText('New Devices')
->assertSeeText('Tickets')
->assertSeeText((__('admin.documentation')))
->assertSeeText((__('admin.extensions')))
->assertSeeText((__('admin.demo')))
->assertSeeText('GITHUB');
$browser->within('.main-menu-content', function (Browser $browser) {
$browser->assertSeeText('Admin')
->clickLink($this->translateMenuTitle('Admin'));
// ->waitForText($this->translateMenuTitle('Users'), 1)
// ->waitForText($this->translateMenuTitle('Roles'), 1)
// ->waitForText($this->translateMenuTitle('Permission'), 1)
// ->waitForText($this->translateMenuTitle('Operation log'), 1)
// ->waitForText($this->translateMenuTitle('Menu'), 1);
});
});
}
/**
* 翻译菜单标题.
*
* @param $title
* @return string
*/
protected function translateMenuTitle($title)
{
return Admin::menu()->translate($title);
}
public function testLogout()
{
$this->browse(function (Browser $browser) {
$browser->visit(admin_base_path('auth/logout'))
->assertPathIs(admin_base_path('auth/login'))
->assertGuest('admin');
});
}
}