package de.ahus1.lottery.adapter.dropwizard.pages; import com.gargoylesoftware.htmlunit.HttpMethod; import com.gargoylesoftware.htmlunit.Page; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.WebRequest; import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.util.NameValuePair; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; public class DrawPage { private final HtmlPage page; public DrawPage(HtmlPage page) { this.page = page; verify(); } private void verify() { assertThat(page.getBody().asText()) .describedAs("successful draw") .contains("The lucky numbers are"); } public LogoutPage logout() throws IOException { return new LogoutPage(page.getAnchorByName("logout").click()); } public static LoginPage<DrawPage> openWithoutLogin(WebClient webClient, URL url, LocalDate parse) throws IOException { WebRequest request = new WebRequest(new URL(url.toString() + "/draw"), HttpMethod.POST); List<NameValuePair> parameters = new ArrayList<>(); parameters.add(new NameValuePair("date", "2015-01-01")); request.setRequestParameters(parameters); return new LoginPage<>(webClient.getPage(request), DrawPage.class); } }