Example
<?php
namespace Tests\Browser;
use App\Models\User;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
class PageListRonzanNotRecordedTest extends DuskTestCase
{
/**
* test_after_login_goto_list_ronzan_not_recorded
*/
public function test_after_login_goto_list_ronzan_not_recorded(): void
{
$user = User::factory()->create();
$this->browse(function (Browser $browser) use ($user) {
$browser
->loginAs($user)
->visit('/ronzan-contract/list-not-record')
->assertSee('ロンザン 未計上一覧')
->assertSee('お選びください')
->assertSee('オプション');
});
}
/**
* test_click_menu_and_show_menus
*/
public function test_click_menu_and_show_menus(): void
{
$user = User::factory()->create();
$this->browse(function (Browser $browser) use ($user) {
$browser
->loginAs($user)
->visit('/ronzan-contract/list-not-record')
->click('#app > div > nav > div.space-y-6.div-main > div > div:nth-child(1) > div > i')
->assertSee('社員マスタ');
});
}
/**
* test_click_menu_and_show_menus
*/
public function test_click_select_action(): void
{
$user = User::factory()->create();
$this->browse(function (Browser $browser) use ($user) {
$browser
->loginAs($user)
->visit('/ronzan-contract/list-not-record')
->waitFor('main > div > div > div.bg-dropDownOption > div > select')
->click('main > div > div > div.bg-dropDownOption > div > select')
->assertSee('お選びください')
->assertSee('CSVデータインポート')
->assertSee('新規案件を取得する')
->assertSee('再度吸い上げて編集する')
->assertSee('吸い上げずに編集する')
->assertSee('仮計上する')
->assertSee('本計上する')
->assertSee('削除する')
->assertSee('CSVデータインポート');
});
}
/**
* test_click_menu_and_show_menus
*/
public function test_click_select_load_new_contract(): void
{
$user = User::factory()->create();
$this->browse(function (Browser $browser) use ($user) {
$browser
->loginAs($user)
->visit('/ronzan-contract/list-not-record')
->waitFor('main > div > div > div.bg-dropDownOption > div > select')
->click('main > div > div > div.bg-dropDownOption > div > select')
->waitFor('main > div > div > div.bg-dropDownOption > div > select > option:nth-child(3)')
->click('main > div > div > div.bg-dropDownOption > div > select > option:nth-child(3)')
->waitForText('新規案件を取得しますか?')
->waitForText('はい')
->waitFor('#headlessui-portal-root > div > div > div > div > div > div > div > button:nth-child(1)')
->click('#headlessui-portal-root > div > div > div > div > div > div > div > button:nth-child(1)')
->waitForText('新規案件を取得するのが成功しました');
});
}
}
Thank you