package agilpizza;

import org.junit.Test;
import static org.junit.Assert.*;
import agilpizza.selenium.SeleniumTestCase;

public class EscolheBebidasTest extends SeleniumTestCase {

	@Test
	public void testeEscolheBebidas() throws Exception {
		sel.open(CONTEXTO);
		assertTrue(sel.isElementPresent("bebidas"));
		sel.clickAndWait("bebidas");
		assertTrue(sel.isTextPresent("Escolha as bebidas do seu pedido"));
		sel.type("Bourdeaux", "1");
		sel.type("Bohemia", "5");
		sel.type("ÁguacomGás", "1");
		sel.clickAndWait("//input[@value='Incluir']");
		assertTrue(sel.isTextPresent("Você pediu:"));
		assertTrue(sel.isTextPresent("Bourdeaux: 1"));
		assertTrue(sel.isTextPresent("Bohemia: 5"));
		assertTrue(sel.isTextPresent("Água com Gás: 1"));
	}

	@Test
	public void testeEscolheNenhumaBebida() throws Exception {
		sel.open(CONTEXTO);
		assertTrue(sel.isElementPresent("bebidas"));
		sel.clickAndWait("bebidas");
		assertTrue(sel.isTextPresent("Escolha as bebidas do seu pedido"));
		sel.clickAndWait("//input[@value='Incluir']");
		assertTrue(sel.isTextPresent("Você não pediu bebidas."));
	}

	@Test
	public void testeColocaQuantidadeNegativa() throws Exception {
		sel.open(CONTEXTO);
		assertTrue(sel.isElementPresent("bebidas"));
		sel.clickAndWait("bebidas");
		assertTrue(sel.isTextPresent("Escolha as bebidas do seu pedido"));
		sel.type("Bourdeaux", "-1");
		sel.clickAndWait("//input[@value='Incluir']");
		assertTrue(sel.isTextPresent("Quantidade deve ser um número positivo."));
	}

	@Test
	public void testeColocaQuantidadeNaoNumerica() throws Exception {
		sel.open(CONTEXTO);
		assertTrue(sel.isElementPresent("bebidas"));
		sel.clickAndWait("bebidas");
		assertTrue(sel.isTextPresent("Escolha as bebidas do seu pedido"));
		sel.type("Bourdeaux", "abc");
		sel.clickAndWait("//input[@value='Incluir']");
		assertTrue(sel.isTextPresent("Quantidade deve ser um número positivo."));
	}
}

