TIF_NGANJUK_E41222052/tests/register/test_register_nim.py

97 lines
3.1 KiB
Python

import pytest
@pytest.mark.usefixtures("driver")
class TestRegisterNIM:
"""
RULE FINAL NIM:
- Tidak boleh kosong (HTML5 required)
- Tidak boleh spasi
- Harus kombinasi huruf + angka
- Tidak boleh karakter khusus
- Minimal 9 karakter
- Maksimal 10 karakter
"""
# =========================
# REQUIRED (HTML5)
# =========================
def test_nim_kosong(self, register_page, valid_register_data):
valid_register_data["nim"] = ""
register_page.fill_form(valid_register_data)
# ❌ JANGAN submit
assert register_page.is_field_required("NIM")
# =========================
# NEGATIVE (SERVER / JS)
# =========================
def test_nim_spasi_saja(self, register_page, valid_register_data):
valid_register_data["nim"] = " "
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.has_error("NIM")
def test_nim_mengandung_spasi(self, register_page, valid_register_data):
valid_register_data["nim"] = "E 4122987"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.has_error("NIM")
def test_nim_hanya_angka(self, register_page, valid_register_data):
valid_register_data["nim"] = "412227890"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.has_error("NIM")
def test_nim_hanya_huruf(self, register_page, valid_register_data):
valid_register_data["nim"] = "ABCDEFGHI"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.has_error("NIM")
def test_nim_karakter_khusus(self, register_page, valid_register_data):
valid_register_data["nim"] = "E41222@89"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.has_error("NIM")
def test_nim_kurang_dari_9_karakter(self, register_page, valid_register_data):
valid_register_data["nim"] = "E41222"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.has_error("NIM")
def test_nim_lebih_dari_10_karakter(self, register_page, valid_register_data):
valid_register_data["nim"] = "E41222789099"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.has_error("NIM")
# =========================
# POSITIVE
# =========================
def test_nim_valid_9_karakter(self, register_page, valid_register_data):
valid_register_data["nim"] = "E41222050"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.is_register_success()
def test_nim_valid_10_karakter(self, register_page, valid_register_data):
valid_register_data["nim"] = "E412227890"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.is_register_success()