package agilpizza.usuario;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import org.testng.annotations.Test;

import agilpizza.internal.SeleniumTestCase;
import agilpizza.modelo.pizza.PedidoDAO;

public class FilaPedidosTest extends SeleniumTestCase {
	@Test(enabled = false)
	public void verificaExibicaoDaListaVazia() {
		// Limpa todos os Pedidos
		PedidoDAO pedidoDao = PedidoDAO.getInstanciaUnica();
		pedidoDao.limparTodosOsPedidos();
		sel.open("/AgilPizza/paginas/comum/entrada.jsf");
		sel.click("linkFilaPedidos");
		sel.waitForPageToLoad("30000");
		assertTrue(sel.isTextPresent("Fila de Pedidos"));
		assertFalse(sel.isElementPresent("tabelaDePedidos"));
	}

	@Test(enabled = false)
	public void verificaExibicaoDaListaDePedidos() {
		// Limpa todos os Pedidos
		PedidoDAO pedidoDao = PedidoDAO.getInstanciaUnica();
		pedidoDao.limparTodosOsPedidos();
		// Cadastrar endereço
		sel.open("/AgilPizza/paginas/comum/entrada.jsf");
		sel.click("linkEnderecoParaEntrega");
		sel.waitForPageToLoad("30000");
		sel.type("formAnotarEndereco:telefone", "1111-5555");
		sel.type("formAnotarEndereco:rua", "Rua x");
		sel.type("formAnotarEndereco:numero", "11");
		sel.click("formAnotarEndereco:enviarEndereco");
		sel.waitForPageToLoad("30000");
		// Colocar uma Pizza no Pedido
		sel.open("/AgilPizza/paginas/comum/entrada.jsf");
		sel.click("linkEnderecoParaMontarPizza");
		sel.waitForPageToLoad("30000");
		sel.click("formMontarPizza:list:0:listaIngredientes");
		sel.click("formMontarPizza:list:1:listaIngredientes");
		sel.click("formMontarPizza:list:2:listaIngredientes");
		sel.click("formMontarPizza:list:3:listaIngredientes");
		sel.click("formMontarPizza:montarPizza");
		sel.waitForPageToLoad("30000");
		// exibir lista de pedidos
		sel.open("/AgilPizza/paginas/comum/entrada.jsf");
		sel.click("linkFilaPedidos");
		sel.waitForPageToLoad("30000");
		assertTrue(sel.isTextPresent("Pizza:"));
	}

	@Test
	public void verificaLinkPaginaInicial() {
		sel.open("/AgilPizza/paginas/comum/entrada.jsf");
		sel.open("/AgilPizza/paginas/comum/entrada.jsf");
		assertEquals(".", sel.getText("linkFilaPedidos"));
	}
}
