47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
from pages.materi_page import MateriPage
|
|
|
|
|
|
class TestMateriAuditory:
|
|
|
|
def test_open_auditory_material(self, driver, login_as_user_sudah_kuesioner):
|
|
driver.get("https://hypermedialearning.sanggadewa.my.id/materi/auditory/1")
|
|
|
|
page = MateriPage(driver)
|
|
page.auditory_page_loaded()
|
|
page.sidebar_visible()
|
|
|
|
assert "materi/auditory" in driver.current_url
|
|
|
|
def test_auditory_has_audio_player(self, driver, login_as_user_sudah_kuesioner):
|
|
driver.get("https://hypermedialearning.sanggadewa.my.id/materi/auditory/1")
|
|
|
|
page = MateriPage(driver)
|
|
page.auditory_page_loaded()
|
|
|
|
audio = page.driver.find_element(*page.AUDIO_PLAYER)
|
|
assert audio.is_displayed()
|
|
assert audio.get_attribute("controls") is not None
|
|
|
|
def test_navigate_auditory_to_visual(self, driver, login_as_user_sudah_kuesioner):
|
|
driver.get("https://hypermedialearning.sanggadewa.my.id/materi/auditory/1")
|
|
|
|
page = MateriPage(driver)
|
|
page.go_to_visual()
|
|
page.visual_page_loaded()
|
|
|
|
assert "materi/visual" in driver.current_url
|
|
|
|
def test_navigation_requires_confirmation_from_auditory(
|
|
self, driver, login_as_user_sudah_kuesioner
|
|
):
|
|
driver.get("https://hypermedialearning.sanggadewa.my.id/materi/auditory/1")
|
|
|
|
page = MateriPage(driver)
|
|
|
|
# User mencoba pindah sebelum selesai belajar
|
|
page.go_to_visual()
|
|
|
|
# Expected behavior (ideal requirement):
|
|
assert "materi/auditory" in driver.current_url, \
|
|
"User seharusnya tidak bisa meninggalkan halaman sebelum selesai belajar"
|