package playwrighttests;

import com.microsoft.playwright.*;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertTrue;

public class CourseMaterialVisibilityCheckStudent {

    @Test
    void test2_kontrolaKurzu() {

        //Inicializace chrome prohlížeče
        try (Playwright playwright = Playwright.create()) {
            Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false));
            BrowserContext context = browser.newContext();
            Page page = context.newPage();

            //Kontrola zobrazení správné stránky
            page.navigate("https://school.moodledemo.net/login/index.php");
            assertTrue(page.isVisible("text=Přihlášení do Mount Orange"), "Nebyl zobrazen očekávaný text 'Přihlášení do Mount Orange");

            // Kontrola úspěšného přihlášení
            page.fill("#username", "student");
            page.fill("#password", "moodle25");
            page.click("#loginbtn");
            assertTrue(page.isVisible("text=My courses"), "Po přihlášení nebyl zobrazen text 'My courses'.");

            // Otevření kurzu
            page.waitForSelector(".coursebox a.coursename, .course-card a");
            Locator firstCourse = page.locator(".coursebox a.coursename, .course-card a").first();
            firstCourse.click();

            // Kontrola zobrazení kurzu
            assertTrue(page.url().contains("/course/view"), "Url kurzu neodkázalo na správnou stránku");
            assertTrue(page.isVisible(".page-header-headings"), "Nebyl načtená název kurzu/nejsme na správné stránce");

            browser.close();
        }
    }
}
