147 lines
4.1 KiB
Python
147 lines
4.1 KiB
Python
from pages.register_page import RegisterPage
|
||
from selenium.webdriver.support.ui import WebDriverWait
|
||
from selenium.webdriver.support import expected_conditions as EC
|
||
import time
|
||
|
||
|
||
def test_register_valid_data(driver):
|
||
"""
|
||
Test Scenario:
|
||
Periksa sistem jika user mengisi seluruh form pendaftaran dengan data valid
|
||
|
||
Technical Requirement:
|
||
T1–T6, T7–T12, T13–T20, T21–T28, T29–T41
|
||
|
||
Expected Result:
|
||
Sistem menerima pendaftaran akun
|
||
"""
|
||
|
||
register = RegisterPage(driver)
|
||
register.open()
|
||
|
||
# === DATA UNIK ===
|
||
timestamp = int(time.time())
|
||
email_unik = f"dummy_{timestamp}@polije.ac.id"
|
||
nim_unik = f"E41{timestamp % 100000}"
|
||
|
||
register.input_nama_lengkap("Budi Santoso")
|
||
register.input_nim("E41234567")
|
||
register.input_semester("6")
|
||
register.input_angkatan("2022")
|
||
register.input_email("dummy_test@polije.ac.id")
|
||
register.input_password("Password1!")
|
||
register.input_konfirmasi_password("Password1!")
|
||
|
||
register.submit()
|
||
|
||
# === WAIT PROSES SUBMIT ===
|
||
WebDriverWait(driver, 10).until(
|
||
lambda d: d.current_url != RegisterPage.URL
|
||
or len(register.get_error_message()) > 0
|
||
)
|
||
|
||
# === ASSERTION ===
|
||
assert "register" not in driver.current_url, \
|
||
"Registrasi gagal, user masih berada di halaman register"
|
||
|
||
def test_register_nama_lengkap_kosong(driver):
|
||
"""
|
||
Test Scenario:
|
||
Nama Lengkap tidak diisi
|
||
|
||
Technical Requirement:
|
||
T1 – Nama Lengkap tidak boleh kosong
|
||
|
||
Expected Result:
|
||
Sistem menolak pendaftaran dan menampilkan validasi wajib isi
|
||
"""
|
||
|
||
register = RegisterPage(driver)
|
||
register.open()
|
||
|
||
# Nama kosong
|
||
register.input_nim("E41234567")
|
||
register.input_semester("6")
|
||
register.input_angkatan("2022")
|
||
register.input_email("test@polije.ac.id")
|
||
register.input_password("Password1!")
|
||
register.input_konfirmasi_password("Password1!")
|
||
|
||
register.submit()
|
||
|
||
assert register.is_field_invalid(RegisterPage.NAMA_LENGKAP)
|
||
assert "fill out" in register.get_validation_message(RegisterPage.NAMA_LENGKAP).lower()
|
||
|
||
def test_register_email_tidak_valid(driver):
|
||
register = RegisterPage(driver)
|
||
register.open()
|
||
|
||
register.input_nama_lengkap("Budi Santoso")
|
||
register.input_nim("E41234568")
|
||
register.input_semester("6")
|
||
register.input_angkatan("2022")
|
||
register.input_email("email-salah-format")
|
||
register.input_password("Password1!")
|
||
register.input_konfirmasi_password("Password1!")
|
||
|
||
register.submit()
|
||
|
||
assert register.is_field_invalid(RegisterPage.EMAIL)
|
||
|
||
def test_register_password_tidak_sama(driver):
|
||
register = RegisterPage(driver)
|
||
register.open()
|
||
|
||
register.input_nama_lengkap("Budi Santoso")
|
||
register.input_nim("E41234569")
|
||
register.input_semester("6")
|
||
register.input_angkatan("2022")
|
||
register.input_email("passwordbeda@polije.ac.id")
|
||
register.input_password("Password1!")
|
||
register.input_konfirmasi_password("Password2!")
|
||
|
||
register.submit()
|
||
|
||
errors = register.get_error_message()
|
||
assert len(errors) > 0
|
||
|
||
def test_register_nim_kosong(driver):
|
||
register = RegisterPage(driver)
|
||
register.open()
|
||
|
||
register.input_nama_lengkap("Budi Santoso")
|
||
register.input_semester("6")
|
||
register.input_angkatan("2022")
|
||
register.input_email("nimkosong@polije.ac.id")
|
||
register.input_password("Password1!")
|
||
register.input_konfirmasi_password("Password1!")
|
||
|
||
register.submit()
|
||
|
||
assert register.is_field_invalid(RegisterPage.NIM)
|
||
|
||
def test_register_semester_bukan_angka(driver):
|
||
register = RegisterPage(driver)
|
||
register.open()
|
||
|
||
register.input_nama_lengkap("Budi Santoso")
|
||
register.input_nim("E41234570")
|
||
register.input_semester("enam")
|
||
register.input_angkatan("2022")
|
||
register.input_email("semester@polije.ac.id")
|
||
register.input_password("Password1!")
|
||
register.input_konfirmasi_password("Password1!")
|
||
|
||
register.submit()
|
||
|
||
assert register.is_field_invalid(RegisterPage.SEMESTER)
|
||
|
||
def test_register_semua_field_kosong(driver):
|
||
register = RegisterPage(driver)
|
||
register.open()
|
||
|
||
# ASSERTION TANPA CLICK
|
||
assert register.is_field_invalid(RegisterPage.NAMA_LENGKAP)
|
||
|
||
|