package br.com.dextra.dextranet.web;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import br.com.dextra.dextranet.PaginaBase;
import br.com.dextra.dextranet.web.conteudo.post.PaginaPost;
import br.com.dextra.dextranet.web.conteudo.post.comentario.PaginaComentario;
public class PaginaPrincipal extends PaginaBase {
public PaginaPrincipal(WebDriver driver) {
super(driver);
}
public void acessaPaginaPrincipal() {
acesso();
}
private PaginaPrincipal acesso() {
this.navigateTo("http://localhost:8080");
this.waitingForLoading();
return this;
}
public PaginaPost clicaEmNovoPost() {
this.click("span.icon_sidebar_left_novopost");
this.waitingForLoading();
return new PaginaPost(driver);
}
public PaginaComentario abreNovoComentario() {
this.waitingForLoading();
return new PaginaComentario(driver);
}
public PaginaPrincipal scrollAteFim() {
JavascriptExecutor js = (JavascriptExecutor) driver;
// desce ate o fim do scroll
js.executeScript("window.scrollTo(0, 100000);");
this.waitingForLoading();
// volta o scroll para poder descer novamente
js.executeScript("window.scrollTo(0, -100000);");
return this;
}
public boolean existePost(String titulo, String conteudo) {
List<WebElement> htmlPostsEncontrados = driver.findElements(By.cssSelector("div#content_left_stretch ul#relacao_dos_posts.list_stories"));
for (WebElement htmlPost : htmlPostsEncontrados) {
WebElement htmlTitulo = htmlPost.findElement(By.cssSelector("a.list_stories_headline h2.titulo"));
if (htmlTitulo.getText().equals(titulo)) {
htmlPost.findElement(By.cssSelector("a.list_stories_headline")).click();
waitForElement("div.list_stories_contents div p");
WebElement htmlConteudoPost = htmlPost.findElement(By.cssSelector("div.list_stories_contents div p"));
if(htmlConteudoPost.getText().equals(conteudo)) {
return true;
}
}
}
return false;
}
}