package agilpizza;

import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.Test;

import fit.Summary;

import agilpizza.selenium.SeleniumTestCase;

public class MontarPizzaTest extends SeleniumTestCase {

	
	@Before
	public void entrarNaPagina() {
		sel.open(CONTEXTO);
		sel.clickAndWait("listaDeIngredientes");
	}
	
	@Test
	public void testErroSemNada() {		
		submetePraErro();
	}

	private void submetePraErro() {		
		submete();
		assertFalse(sel.isTextPresent("Nenhum ingrediente selecionado!"));
	}

	private void submete() {
		sel.click("//input[@value='Montar Pizza']");
		sel.waitForPageToLoad("30000");
	}

	
	@Test
	public void testUmIngrediente() {
		sel.click("document.forms[0].chkIngrediente[32]");
		submete();
		assertTrue(sel.isTextPresent("Ovo"));
	}
	
	@Test
	public void testIngredientes() {
		sel.click("document.forms[0].chkIngrediente[32]");
		sel.click("document.forms[0].chkIngrediente[28]");
		submete();
		assertTrue(sel.isTextPresent("Ovo"));
		assertTrue(sel.isTextPresent("Presunto"));
	}
	@Test
	public void testDePrecoCorreto() {
		sel.open("/AgilPizza/index.jsp");
		sel.clickAndWait("listaDeIngredientes");		
		sel.click("document.forms[0].chkIngrediente[28]");
		sel.select("QuantidadePresunto", "label=2");
		sel.click("document.forms[0].chkIngrediente[29]");
		sel.select("QuantidadeFrango", "label=6");		
		sel.clickAndWait("//input[@value='Montar Pizza']");		
		assertTrue(sel.isTextPresent("2"));
		assertTrue(sel.isTextPresent("6"));
		assertTrue(sel.isTextPresent("Presunto"));
		assertTrue(sel.isTextPresent("Total"));
		
	}
	@Test
	public void testDePrecoInCorreto() {
		sel.open("/AgilPizza/index.jsp");
		sel.clickAndWait("listaDeIngredientes");		
		sel.click("chkIngrediente");
		sel.click("document.forms[0].chkIngrediente[8]");
		sel.click("document.forms[0].chkIngrediente[11]");
		sel.select("QuantidadeEscarola", "label=5");
		sel.select("QuantidadeRequeijão", "label=7");
		sel.clickAndWait("//input[@value='Montar Pizza']");
		assertTrue(sel.isTextPresent("10.00"));
		assertTrue(sel.isTextPresent("Escarola"));
		assertTrue(sel.isTextPresent("Massa fina"));
		assertTrue(sel.isTextPresent("Total:"));
		
	}

}
