TIF_NGANJUK_E41222052/tests/regression/regression_test.py

164 lines
6.0 KiB
Python

import pytest
import os
from pages.register_page import RegisterPage
from pages.live_coding_page import LiveCodingPage
from pages.profile_page import ProfilePage
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
TEST_DATA_DIR = os.path.join(BASE_DIR, "test_data")
@pytest.mark.usefixtures("driver")
class TestRegression:
#Regression Daftar Akun
def test_nama_valid_huruf_kecil(self, register_page, valid_register_data):
valid_register_data["nama_lengkap"] = "rurinhaliza"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.is_register_success()
def test_nim_valid_9_karakter(self, register_page, valid_register_data):
valid_register_data["nim"] = "E41222555"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.is_register_success()
def test_semester_valid_tengah(self, register_page, valid_register_data):
valid_register_data["semester"] = "4"
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()
def test_email_valid_student_polije(self, register_page, valid_register_data):
valid_register_data["email"] = "siswa@student.polije.ac.id"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.is_register_success()
def test_password_valid(self, register_page, valid_register_data):
"""
Password valid (huruf besar, kecil, angka, simbol)
"""
valid_register_data["password"] = "Qwerty098"
valid_register_data["konfirmasi_password"] = "Qwerty098"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.is_register_success()
def test_konfirmasi_password_sama(self, register_page, valid_register_data):
valid_register_data["password"] = "Zxcvbn123"
valid_register_data["konfirmasi_password"] = "Zxcvbn123"
register_page.fill_form(valid_register_data)
register_page.submit()
assert register_page.is_register_success()
# Regression materi kinesthetic
def test_submit_with_correct_code(self,driver,login_as_user_belum_kuesionerNew):
driver.get("https://hypermedialearning.project2025.id/public/materi/kinesthetic/1")
page = LiveCodingPage(driver)
page.append_code2("""
Mahasiswa
println
""")
page.submit_code()
result = page.get_result_message()
assert "Jawaban Benar" in result
print(result)
def test_next_button_on_first_page(self,driver,login_as_user_belum_kuesionerNew):
driver.get("https://hypermedialearning.project2025.id/public/materi/kinesthetic/1")
page = LiveCodingPage(driver)
initial_url = page.get_current_url()
page.click_next()
current_url = page.get_current_url()
assert "/kinesthetic/2" in current_url
#Regression Pofile
def test_email_tampil_sesuai_akun(self,driver,login_as_user_belum_kuesionerNew):
driver.get("https://hypermedialearning.project2025.id/public/profile")
page = ProfilePage(driver)
"""
Verifikasi email tampil sesuai akun dan tidak kosong
"""
page.wait_until_page_loaded()
email = page.get_email()
assert email is not None
#assert email != ""
assert "@" in email
assert email.endswith(".ac.id")
#or email.endswith(".com")
def test_upload_file_selain_gambar_ditolak(self,driver,login_as_user_belum_kuesionerNew):
driver.get("https://hypermedialearning.project2025.id/public/profile")
page = ProfilePage(driver)
"""
Upload file selain JPG/PNG harus ditolak
"""
old_src = page.get_profile_image_src()
file_path = os.path.join(TEST_DATA_DIR, "invalid_file.pdf")
page.upload_photo(file_path)
page.click_save()
page.refresh_page()
new_src = page.get_profile_image_src()
assert old_src == new_src
def test_nama_kosong(self,driver,login_as_user_belum_kuesionerNew):
driver.get("https://hypermedialearning.project2025.id/public/profile")
page = ProfilePage(driver)
default_name = page.get_nama_lengkap()
page.set_nama_lengkap("")
page.click_save()
assert page.get_nama_lengkap() == default_name
def test_nim_kosong(self,driver,login_as_user_belum_kuesionerNew):
driver.get("https://hypermedialearning.project2025.id/public/profile")
page = ProfilePage(driver)
default_nim = page.get_nim()
page.set_nim("")
page.click_save()
assert page.get_nim() == default_nim
def test_semester_valid(self,driver,login_as_user_belum_kuesionerNew):
driver.get("https://hypermedialearning.project2025.id/public/profile")
page = ProfilePage(driver)
page.select_semester("1")
page.click_save()
page.wait_until_reload_after_save()
assert page.get_selected_semester() == "1"
def test_angkatan_valid(self,driver,login_as_user_belum_kuesionerNew):
driver.get("https://hypermedialearning.project2025.id/public/profile")
page = ProfilePage(driver)
page.select_angkatan("2025")
page.click_save()
page.wait_until_reload_after_save()
assert page.get_selected_angkatan() == "2025"
def test_button_simpan_update_data(self,driver,login_as_user_belum_kuesionerNew):
driver.get("https://hypermedialearning.project2025.id/public/profile")
page = ProfilePage(driver)
new_name = "ItsTesting"
page.set_nama_lengkap(new_name)
page.click_save()
page.wait_until_reload_after_save()
assert page.get_nama_lengkap() == new_name