76 lines
2.8 KiB
Python
76 lines
2.8 KiB
Python
import pytest
|
|
from datetime import datetime
|
|
|
|
|
|
@pytest.mark.usefixtures("driver")
|
|
class TestRegisterAngkatan:
|
|
"""
|
|
RULE ANGKATAN:
|
|
- Wajib diisi (HTML5)
|
|
- Hanya angka
|
|
- Minimal 2021
|
|
- Maksimal tahun sekarang + 1
|
|
"""
|
|
|
|
# =========================
|
|
# NEGATIVE TEST CASES
|
|
# =========================
|
|
|
|
def test_angkatan_kosong(self, register_page, valid_register_data):
|
|
valid_register_data["angkatan"] = ""
|
|
register_page.fill_form(valid_register_data)
|
|
assert register_page.is_field_required("angkatan")
|
|
|
|
def test_angkatan_hanya_spasi(self, register_page, valid_register_data):
|
|
valid_register_data["angkatan"] = " "
|
|
register_page.fill_form(valid_register_data)
|
|
assert register_page.is_field_required("angkatan")
|
|
|
|
def test_angkatan_huruf(self, register_page, valid_register_data):
|
|
valid_register_data["angkatan"] = "abcd"
|
|
register_page.fill_form(valid_register_data)
|
|
value = register_page.get_value("angkatan")
|
|
assert value == ""
|
|
|
|
def test_angkatan_simbol(self, register_page, valid_register_data):
|
|
valid_register_data["angkatan"] = "&&&&"
|
|
register_page.fill_form(valid_register_data)
|
|
value = register_page.get_value("angkatan")
|
|
assert value == ""
|
|
|
|
def test_angkatan_kurang_dari_minimum(self, register_page, valid_register_data):
|
|
valid_register_data["angkatan"] = "2019"
|
|
register_page.fill_form(valid_register_data)
|
|
register_page.submit()
|
|
assert register_page.has_html5_validation("angkatan")
|
|
|
|
def test_angkatan_terlalu_besar(self, register_page, valid_register_data):
|
|
valid_register_data["angkatan"] = "9999"
|
|
register_page.fill_form(valid_register_data)
|
|
register_page.submit()
|
|
assert register_page.has_html5_validation("angkatan")
|
|
|
|
|
|
# =========================
|
|
# POSITIVE TEST CASES
|
|
# =========================
|
|
|
|
def test_angkatan_valid_minimum(self, register_page, valid_register_data):
|
|
valid_register_data["angkatan"] = "2022"
|
|
register_page.fill_form(valid_register_data)
|
|
register_page.submit()
|
|
assert register_page.is_register_success()
|
|
|
|
def test_angkatan_valid_tahun_sekarang(self, register_page, valid_register_data):
|
|
tahun_sekarang = str(datetime.now().year)
|
|
valid_register_data["angkatan"] = tahun_sekarang
|
|
register_page.fill_form(valid_register_data)
|
|
register_page.submit()
|
|
assert register_page.is_register_success()
|
|
|
|
def test_angkatan_valid_random(self, register_page, valid_register_data):
|
|
valid_register_data["angkatan"] = valid_register_data["angkatan"]
|
|
register_page.fill_form(valid_register_data)
|
|
register_page.submit()
|
|
assert register_page.is_register_success()
|