package agilpizza.pizza;

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

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import agilpizza.controlador.usuario.EnderecoControlador;
import agilpizza.controlador.util.JSFUtil;
import agilpizza.internal.SeleniumTestCase;
import agilpizza.modelo.pizza.Ingrediente;
import agilpizza.modelo.pizza.Pizza;

public class MontagemPizzaTest extends SeleniumTestCase {
	@BeforeMethod
	public void entrarNaPagina() {
		sel.open(CONTEXTO);
		sel.clickAndWait("linkEnderecoParaMontarPizza");
	}

	@Test
	public void testaSeOsIngredienteEstaoAparecendo() {
		assertTrue("Falta ingrediente Calabresa", sel
				.isTextPresent("Calabresa"));
		assertTrue("Falta ingrediente Mussarela", sel
				.isTextPresent("Mussarela"));
		assertTrue("Falta ingrediente Rúcula", sel.isTextPresent("Rúcula"));
		assertTrue("Falta ingrediente Orégano", sel.isTextPresent("Orégano"));
	}

	@Test
	public void testarAdicionaPizzaAoPedidoDeUmCliente() {
		sel.deleteCookie(sel.getCookie(), CONTEXTO);
		sel.open(CONTEXTO);		
		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");
		assertTrue(sel.isTextPresent("Sua pizza foi incluida no pedido:"));
		assertTrue("Falta o Ovo:", sel.isTextPresent("Ovo"));
		assertTrue("Falta o Orégano:", sel.isTextPresent("Orégano"));
		assertTrue("Falta o Molho de Tomate:", sel
				.isTextPresent("Molho de Tomate"));
		assertTrue("Falta o Mussarela:", sel.isTextPresent("Mussarela"));
	}	
}
