88 lines
2.9 KiB
Python
88 lines
2.9 KiB
Python
import pytest
|
|
|
|
|
|
@pytest.mark.usefixtures("driver")
|
|
class TestRegisterKonfirmasiPassword:
|
|
"""
|
|
RULE KONFIRMASI PASSWORD:
|
|
- Wajib diisi
|
|
- Harus sama dengan password
|
|
- Validasi muncul setelah klik submit
|
|
"""
|
|
|
|
# =========================
|
|
# NEGATIVE TEST CASES
|
|
# =========================
|
|
|
|
def test_konfirmasi_password_kosong(self, register_page, valid_register_data):
|
|
"""
|
|
Konfirmasi password kosong → HTML5 required
|
|
"""
|
|
valid_register_data["password"] = "Abcdef1@"
|
|
valid_register_data["konfirmasi_password"] = ""
|
|
|
|
register_page.fill_form(valid_register_data)
|
|
|
|
assert register_page.is_field_required("konfirmasi_password")
|
|
|
|
def test_konfirmasi_password_hanya_spasi(self, register_page, valid_register_data):
|
|
valid_register_data["password"] = "Abcdef1@"
|
|
valid_register_data["konfirmasi_password"] = " "
|
|
|
|
register_page.fill_form(valid_register_data)
|
|
register_page.submit()
|
|
|
|
assert register_page.has_error("Password")
|
|
|
|
def test_konfirmasi_password_tidak_sama(self, register_page, valid_register_data):
|
|
valid_register_data["password"] = "Abcdef1@"
|
|
valid_register_data["konfirmasi_password"] = "Abcdef2@"
|
|
|
|
register_page.fill_form(valid_register_data)
|
|
register_page.submit()
|
|
|
|
assert register_page.has_error("Password")
|
|
|
|
def test_konfirmasi_password_lebih_pendek(self, register_page, valid_register_data):
|
|
valid_register_data["password"] = "Abcdef1@"
|
|
valid_register_data["konfirmasi_password"] = "Abcdef1"
|
|
|
|
register_page.fill_form(valid_register_data)
|
|
register_page.submit()
|
|
|
|
assert register_page.has_error("Password")
|
|
|
|
def test_konfirmasi_password_lebih_panjang(self, register_page, valid_register_data):
|
|
valid_register_data["password"] = "Abcdef1@"
|
|
valid_register_data["konfirmasi_password"] = "Abcdef1@xxx"
|
|
|
|
register_page.fill_form(valid_register_data)
|
|
register_page.submit()
|
|
|
|
assert register_page.has_error("Password")
|
|
|
|
# =========================
|
|
# POSITIVE TEST CASES
|
|
# =========================
|
|
|
|
def test_konfirmasi_password_sama(self, register_page, valid_register_data):
|
|
valid_register_data["password"] = "Abcdef1@"
|
|
valid_register_data["konfirmasi_password"] = "Abcdef1@"
|
|
|
|
register_page.fill_form(valid_register_data)
|
|
register_page.submit()
|
|
|
|
assert register_page.is_register_success()
|
|
|
|
def test_konfirmasi_password_valid_dengan_spasi(self, register_page, valid_register_data):
|
|
"""
|
|
Jika password mengandung spasi dan konfirmasi sama → valid
|
|
"""
|
|
valid_register_data["password"] = "Abc def1@"
|
|
valid_register_data["konfirmasi_password"] = "Abc def1@"
|
|
|
|
register_page.fill_form(valid_register_data)
|
|
register_page.submit()
|
|
|
|
assert register_page.is_register_success()
|