hoàn thành chức năng các test case chính

This commit is contained in:
2026-04-08 07:46:11 +07:00
parent 92a150ab53
commit c026e4cc2c
11 changed files with 1278 additions and 20 deletions
+27 -2
View File
@@ -2,6 +2,7 @@
namespace Tests\Browser;
use App\Models\User;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
@@ -13,7 +14,8 @@ class CreateAccountTest extends DuskTestCase
public function test_login_page_shows_form(): void
{
$this->browse(function (Browser $browser) {
$browser->visit('/login')
$browser->visit('/logout') // đảm bảo trạng thái guest
->visit('/login')
->assertSee('Nhập thông tin cá nhân')
->assertPresent('input[name="name"]')
->assertPresent('input[name="phone"]')
@@ -28,8 +30,10 @@ class CreateAccountTest extends DuskTestCase
public function test_empty_form_shows_validation_errors(): void
{
$this->browse(function (Browser $browser) {
$browser->visit('/login')
$browser->visit('/logout') // đảm bảo trạng thái guest
->visit('/login')
->press('Gửi thông tin')
->waitFor('.text-danger', 5)
->assertPresent('.text-danger');
});
}
@@ -71,6 +75,18 @@ class CreateAccountTest extends DuskTestCase
->waitForText('thành công', 10)
->assertPathIs('/game');
});
// Kiểm tra DB: user đã được tạo đúng
$user = User::where('phone', $uniquePhone)->first();
$this->assertNotNull($user, 'User phải được tạo trong DB');
$this->assertEquals('TEST DUSK USER', $user->name, 'Tên phải được uppercase');
$this->assertEquals('Cần Thơ', $user->address);
$this->assertEquals(1, $user->known_sis);
$this->assertEquals('Kỹ sư', $user->job);
$this->assertEquals($uniquePhone . '@phone.local', $user->email);
// Dọn dẹp
$user->delete();
}
/**
@@ -99,5 +115,14 @@ class CreateAccountTest extends DuskTestCase
$browser->visit('/login')
->assertInputValue('phone', $uniquePhone);
});
// Kiểm tra DB: user tồn tại và spined = 0 (chưa quay)
$user = User::where('phone', $uniquePhone)->first();
$this->assertNotNull($user, 'User phải tồn tại trong DB');
$this->assertEquals(0, $user->spined, 'Người dùng mới chưa được quay');
$this->assertEquals(1, $user->status, 'Tài khoản phải ở trạng thái active');
// Dọn dẹp
$user->delete();
}
}