package org.fluentlenium.integration;
import org.assertj.core.api.ThrowableAssert;
import org.fluentlenium.core.FluentPage;
import org.fluentlenium.core.annotation.Page;
import org.fluentlenium.integration.localtest.IntegrationFluentTest;
import org.junit.Test;
import org.openqa.selenium.support.FindBy;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
public class IsAtTest extends IntegrationFluentTest {
@Page
private PageIsAt pageOk;
@Page
private PageIsAtParameter pageOkParameter;
@Page
private PageIsNotAt pageFail;
@Test
public void testIsNotAt() {
pageFail.go();
assertThatThrownBy(new ThrowableAssert.ThrowingCallable() {
@Override
public void call() throws Throwable {
pageFail.isAt();
}
}).isInstanceOf(AssertionError.class);
}
@Test
public void testIsAt() {
pageOk.go();
pageOk.isAt();
}
@Test
public void testIsAtParameters() {
pageOkParameter.go("html");
pageOkParameter.isAt("html");
}
@FindBy(css = "#oneline")
public static class PageIsAt extends FluentPage {
@Override
public String getUrl() {
return IntegrationFluentTest.DEFAULT_URL;
}
}
@FindBy(css = "#oneline")
public static class PageIsAtParameter extends FluentPage {
@Override
public String getUrl() {
return IntegrationFluentTest.DEFAULT_URL.replace(".html", ".{extension}");
}
}
@FindBy(css = "#invalid")
public static class PageIsNotAt extends FluentPage {
@Override
public String getUrl() {
return IntegrationFluentTest.DEFAULT_URL;
}
}
}