
import com.microsoft.playwright.junit.UsePlaywright;
import com.microsoft.playwright.Page;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;

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

import org.junit.jupiter.api.BeforeAll;

@UsePlaywright
@DisplayName("Playwright JUnit5 Test using @UsePlaywright Extension")
@Tag("playwright")
class HelloWorldPlaywrightTest {

    //If i want to see whats happening
    //@BeforeAll
    //static void configure(PlaywrightTestOptions options) {
    //    options.setHeadless(false);
    //    options.setSlowMo(400);}

    @Test
    @DisplayName("Navigate to Slow Calculator and verify page URL")
    void testNavigateToSlowCalculator(Page page) {
        //Open page
        page.navigate("https://bonigarcia.dev/selenium-webdriver-java/");

        //Assert title
        assertEquals("Hands-On Selenium WebDriver with Java", page.title());

        //Click the “Slow calculator” link
        page.click("text=Slow calculator");

        //Assert navigation
        assertTrue(page.url().contains("slow-calculator"),
                "The page URL should contain 'slow-calculator'");
    }
}
