Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/common/HomePage.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/common/HomePage.java	(revision 3782)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/common/HomePage.java	(revision 4895)
@@ -33,4 +33,5 @@
 
 	public void enterCalendar() {
+		waitForElement(By.id("calendarid"));
 		calendar.click();
 		waitForElement(By.id("divAppbox"));
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/common/Page.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/common/Page.java	(revision 4780)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/common/Page.java	(revision 4895)
@@ -201,3 +201,15 @@
 	}
 
+	/**
+	 * Verifica se um texto esta presente no codigo-fonte da pagina.
+	 * 
+	 * @param text
+	 *            Texto a ser pesquisado.
+	 * @return <code>true</code> se encontrar o texto, <code>false</code> caso
+	 *         contrario.
+	 */
+	public Boolean isTextPresent(String text) {
+		String pageSource = driver.getPageSource();
+		return pageSource.contains(text);
+	}
 }
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentSearchResultPage.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentSearchResultPage.java	(revision 4895)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentSearchResultPage.java	(revision 4895)
@@ -0,0 +1,35 @@
+package org.expressolivre.cte.pages.calendar;
+
+import org.expressolivre.cte.pages.common.Page;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
+
+/**
+ * @author L.F.Estivalet (Serpro)
+ * 
+ *         Created on Aug 2, 2011 at 3:22:59 PM
+ * 
+ */
+public class AppointmentSearchResultPage extends Page {
+
+	/** Texto contendo numero de resultados encontrados. */
+	@FindBy(xpath = "/html/body[1]/div[@id='divSubContainer']/table/tbody/tr/td[@id='tdAppbox']/div[@id='divAppbox']/table[@id='tableDivAppbox']/tbody/tr/td/table[@id='calendar_search_table']/tbody/tr[1]/td/b")
+	private WebElement resultsNumber;
+
+	/**
+	 * @param driver
+	 */
+	public AppointmentSearchResultPage(WebDriver driver) {
+		super(driver);
+		// TODO Auto-generated constructor stub
+	}
+
+	/**
+	 * @return Texto informando o numero de resultados encontrados.
+	 */
+	public String getResultsNumber() {
+		return this.resultsNumber.getText();
+	}
+
+}
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/CalendarTodayViewPage.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/CalendarTodayViewPage.java	(revision 4864)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/CalendarTodayViewPage.java	(revision 4895)
@@ -1,5 +1,4 @@
 package org.expressolivre.cte.pages.calendar;
 
-import org.expressolivre.cte.pages.common.Page;
 import org.openqa.selenium.WebDriver;
 
@@ -10,5 +9,5 @@
  * 
  */
-public class CalendarTodayViewPage extends Page {
+public class CalendarTodayViewPage extends CalendarPage {
 
 	public CalendarTodayViewPage(WebDriver driver) {
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/CalendarPage.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/CalendarPage.java	(revision 4890)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/CalendarPage.java	(revision 4895)
@@ -17,8 +17,33 @@
 public class CalendarPage extends Page {
 
-	/** Como para selecionar mes. */
+	/** Combo para selecionar categoria. */
+	@FindBy(name = "cat_id")
+	private WebElement category;
+
+	@FindBy(name = "filter")
+	private WebElement filter;
+
+	@FindBy(name = "owner")
+	private WebElement owner;
+
+	/** Campo para pesquisar agenda. */
+	@FindBy(xpath = "/html/body/div[@id='divSubContainer']/table/tbody/tr/td[@id='tdAppbox']/div[@id='divAppbox']/table[@id='tableDivAppbox']/tbody/tr/td/table[@id='calendar_head_table']/tbody/tr/td[4]/nobr/form/div/input[9]")
+	private WebElement searchText;
+
+	/** Botao para acionar a pesquisa na agenda. */
+	@FindBy(xpath = "//table[@id='calendar_head_table']/tbody/tr/td[4]/nobr/form/div/input[@id='']")
+	private WebElement searchButton;
+
+	/** Combo para selecionar mes. */
 	@FindBy(name = "date")
 	private WebElement date;
 
+	/** Combo para selecionar ano. */
+	@FindBy(name = "year")
+	private WebElement year;
+
+	/**
+	 * @param driver
+	 */
 	public CalendarPage(WebDriver driver) {
 		super(driver);
@@ -26,4 +51,9 @@
 	}
 
+	/**
+	 * Abre a visao diaria da agenda.
+	 * 
+	 * @return Pagina da visao diaria da agenda.
+	 */
 	public CalendarTodayViewPage openTodayView() {
 		super.clickElement(By
@@ -32,4 +62,10 @@
 	}
 
+	/**
+	 * Abre tela para adicionar novo compromisso.
+	 * 
+	 * @param date
+	 *            Data do compromisso.
+	 */
 	public void openAppointmentPage(String date) {
 		driver.get(Constants.URL
@@ -37,4 +73,8 @@
 	}
 
+	/**
+	 * @param id
+	 * @return
+	 */
 	public AppointmentViewPage openAppointmentViewPage(String id) {
 		driver.get(Constants.URL
@@ -43,12 +83,37 @@
 	}
 
+	/**
+	 * @param id
+	 * @param date
+	 * @return
+	 */
 	public AppointmentViewPage openAppointmentViewPage(String id, String date) {
 		driver.get(Constants.URL
 				+ "/index.php?menuaction=calendar.uicalendar.view&cal_id=" + id
 				+ "&date=" + date);
-		System.out
-				.println("/index.php?menuaction=calendar.uicalendar.view&cal_id="
-						+ id + "&date=" + date);
 		return PageFactory.initElements(driver, AppointmentViewPage.class);
 	}
+
+	/**
+	 * Coloca um texto para pesquisar na agenda.
+	 * 
+	 * @param searchText
+	 *            Texto a ser pesquisado.
+	 */
+	public void setSearchText(String searchText) {
+		this.searchText.clear();
+		this.searchText.sendKeys(searchText);
+	}
+
+	/**
+	 * Dispara a pesquisa na agenda.
+	 * 
+	 * @return Pagina de resultados da pesquisa.
+	 */
+	public AppointmentSearchResultPage searchAppointment() {
+		this.searchButton.click();
+		return PageFactory.initElements(driver,
+				AppointmentSearchResultPage.class);
+	}
+
 }
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentPage.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentPage.java	(revision 4890)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentPage.java	(revision 4895)
@@ -8,4 +8,5 @@
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
+import org.openqa.selenium.support.PageFactory;
 
 /**
@@ -288,6 +289,19 @@
 	}
 
+	/**
+	 * Salva o compromisso.
+	 */
 	public void saveAppointment() {
 		this.save.click();
 	}
+
+	/**
+	 * Salva o compromisso, mas este ira causar um conflito.
+	 * 
+	 * @return Pagina para resolver conflito de agenda.
+	 */
+	public AppointmentConflictPage saveConflictAppointment() {
+		this.saveAppointment();
+		return PageFactory.initElements(driver, AppointmentConflictPage.class);
+	}
 }
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentConflictPage.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentConflictPage.java	(revision 4895)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentConflictPage.java	(revision 4895)
@@ -0,0 +1,34 @@
+package org.expressolivre.cte.pages.calendar;
+
+import org.expressolivre.cte.pages.common.Page;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
+
+/**
+ * @author L.F.Estivalet (Serpro)
+ * 
+ *         Created on Aug 2, 2011 at 3:07:31 PM
+ * 
+ */
+public class AppointmentConflictPage extends Page {
+
+	@FindBy(id = "ignore_button")
+	private WebElement ignoreButton;
+
+	@FindBy(id = "redit_button")
+	private WebElement reditButton;
+
+	public AppointmentConflictPage(WebDriver driver) {
+		super(driver);
+		// TODO Auto-generated constructor stub
+	}
+
+	public void ignoreConflict() {
+		this.ignoreButton.click();
+	}
+
+	public void reeditConflict() {
+		this.reditButton.click();
+	}
+}
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/common/BaseCalendarTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/common/BaseCalendarTestCase.java	(revision 4864)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/common/BaseCalendarTestCase.java	(revision 4895)
@@ -16,4 +16,8 @@
 public class BaseCalendarTestCase extends BaseTestCase {
 
+	/**
+	 * Instancia da pagina do calendario utilizada pelos demais testes da
+	 * agenda.
+	 */
 	protected CalendarPage cp;
 
@@ -31,4 +35,9 @@
 	}
 
+	/**
+	 * Abre visao diaria da agenda.
+	 * 
+	 * @return Pagina da visao diaria da agenda.
+	 */
 	public CalendarTodayViewPage openTodayView() {
 		cp.openTodayView();
@@ -36,4 +45,11 @@
 	}
 
+	/**
+	 * Cria um novo compromisso.
+	 * 
+	 * @param date
+	 *            Data do compromisso.
+	 * @return Pagina para adicionar informacoes do compromisso.
+	 */
 	public AppointmentPage newAppointment(String date) {
 		cp.openAppointmentPage(date);
@@ -41,12 +57,41 @@
 	}
 
+	/**
+	 * Preenche campos do compromisso sendo adicionado.
+	 * 
+	 * @param data
+	 *            Data do compromisso.
+	 * @param tipo
+	 *            Tipo do compromisso.
+	 * @param titulo
+	 *            Titulo do compromisso.
+	 * @param dataInicial
+	 *            Data inicial do compromisso.
+	 * @param horaInicial
+	 *            Hora inicial do compromisso.
+	 * @param minutoInicial
+	 *            Minuto inicial do compromisso.
+	 * @param dataFinal
+	 *            Data final do compromisso.
+	 * @param horaFinal
+	 *            Hora final do compromisso.
+	 * @param minutoFinal
+	 *            Minuto final do compromisso.
+	 * @param prioridade
+	 *            Prioridade do compromisso.
+	 * @return Retorna instancia da pagina para adicionar novo compromisso com
+	 *         os campos acima preenchidos de acordo com os parametros passados.
+	 */
 	public AppointmentPage adicionarCompromisso(String data, String tipo,
-			String titulo, String dataInicial, String horaInicial,
-			String minutoInicial, String dataFinal, String horaFinal,
-			String minutoFinal, String prioridade) {
+			String titulo, String description, String location,
+			String dataInicial, String horaInicial, String minutoInicial,
+			String dataFinal, String horaFinal, String minutoFinal,
+			String prioridade) {
 
 		AppointmentPage ap = newAppointment(data);
 		ap.setType(tipo);
 		ap.setTitle(titulo);
+		ap.setDescription(description);
+		ap.setLocation(location);
 		ap.setStartDate(dataInicial);
 		ap.setStartHour(horaInicial);
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoTestCase.java	(revision 4890)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoTestCase.java	(revision 4895)
@@ -40,11 +40,12 @@
 public class AdicionarCompromissoTestCase extends BaseCalendarTestCase {
 
-	@Parameters({ "tipo", "titulo", "horaInicial", "minutoInicial",
-			"horaFinal", "minutoFinal", "prioridade" })
+	@Parameters({ "tipo", "titulo", "descricao", "local", "horaInicial",
+			"minutoInicial", "horaFinal", "minutoFinal", "prioridade" })
 	@Test
 	public void adicionarCompromissoDataCorrente(
-			@Optional("Normal") String tipo, String titulo, String horaInicial,
-			String minutoInicial, String horaFinal, String minutoFinal,
-			@Optional("Normal") String prioridade) {
+			@Optional("Normal") String tipo, String titulo,
+			@Optional("") String descricao, @Optional("") String local,
+			String horaInicial, String minutoInicial, String horaFinal,
+			String minutoFinal, @Optional("Normal") String prioridade) {
 
 		// Pega data corrente.
@@ -54,5 +55,5 @@
 
 		AppointmentPage ap = super.adicionarCompromisso(
-				sdf.format(cal.getTime()), tipo, titulo,
+				sdf.format(cal.getTime()), tipo, titulo, descricao, local,
 				sdf2.format(cal.getTime()), horaInicial, minutoInicial,
 				sdf2.format(cal.getTime()), horaFinal, minutoFinal, prioridade);
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComAlarmeTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComAlarmeTestCase.java	(revision 4890)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComAlarmeTestCase.java	(revision 4895)
@@ -25,10 +25,11 @@
 public class AdicionarCompromissoComAlarmeTestCase extends BaseCalendarTestCase {
 
-	@Parameters({ "tipo", "titulo", "horaInicial", "minutoInicial",
-			"horaFinal", "minutoFinal", "prioridade", "alarme" })
+	@Parameters({ "tipo", "titulo", "descricao", "local", "horaInicial",
+			"minutoInicial", "horaFinal", "minutoFinal", "prioridade", "alarme" })
 	@Test
 	public void adicionarCompromissoComAlarme(@Optional("Normal") String tipo,
-			String titulo, String horaInicial, String minutoInicial,
-			String horaFinal, String minutoFinal,
+			String titulo, @Optional("") String descricao,
+			@Optional("") String local, String horaInicial,
+			String minutoInicial, String horaFinal, String minutoFinal,
 			@Optional("Normal") String prioridade, String alarme) {
 
@@ -39,5 +40,5 @@
 
 		AppointmentPage ap = super.adicionarCompromisso(
-				sdf.format(cal.getTime()), tipo, titulo,
+				sdf.format(cal.getTime()), tipo, titulo, descricao, local,
 				sdf2.format(cal.getTime()), horaInicial, minutoInicial,
 				sdf2.format(cal.getTime()), horaFinal, minutoFinal, prioridade);
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoSemInformarTituloTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoSemInformarTituloTestCase.java	(revision 4890)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoSemInformarTituloTestCase.java	(revision 4895)
@@ -27,10 +27,11 @@
 		BaseCalendarTestCase {
 
-	@Parameters({ "tipo", "titulo", "horaInicial", "minutoInicial",
-			"horaFinal", "minutoFinal", "prioridade" })
+	@Parameters({ "tipo", "titulo", "descricao", "local", "horaInicial",
+			"minutoInicial", "horaFinal", "minutoFinal", "prioridade" })
 	@Test
 	public void adicionarCompromissoSemTitulo(@Optional("Normal") String tipo,
-			String titulo, String horaInicial, String minutoInicial,
-			String horaFinal, String minutoFinal,
+			String titulo, @Optional("") String descricao,
+			@Optional("") String local, String horaInicial,
+			String minutoInicial, String horaFinal, String minutoFinal,
 			@Optional("Normal") String prioridade) {
 
@@ -41,5 +42,5 @@
 
 		AppointmentPage ap = super.adicionarCompromisso(
-				sdf.format(cal.getTime()), tipo, titulo,
+				sdf.format(cal.getTime()), tipo, titulo, descricao, local,
 				sdf2.format(cal.getTime()), horaInicial, minutoInicial,
 				sdf2.format(cal.getTime()), horaFinal, minutoFinal, prioridade);
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoDiariaTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoDiariaTestCase.java	(revision 4890)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoDiariaTestCase.java	(revision 4895)
@@ -27,13 +27,15 @@
 		BaseCalendarTestCase {
 
-	@Parameters({ "tipo", "titulo", "dataInicial", "horaInicial",
-			"minutoInicial", "horaFinal", "minutoFinal", "prioridade",
-			"dataFinal" })
+	@Parameters({ "tipo", "titulo", "descricao", "local", "dataInicial",
+			"horaInicial", "minutoInicial", "horaFinal", "minutoFinal",
+			"prioridade", "dataFinal" })
 	@Test
 	public void adicionarCompromissoComRepeticaoDiaria(
-			@Optional("Normal") String tipo, String titulo, String dataInicial,
-			String horaInicial, String minutoInicial, String horaFinal,
-			String minutoFinal, @Optional("Normal") String prioridade,
-			String dataFinal) throws ParseException {
+			@Optional("Normal") String tipo, String titulo,
+			@Optional("") String descricao, @Optional("") String local,
+			String dataInicial, String horaInicial, String minutoInicial,
+			String horaFinal, String minutoFinal,
+			@Optional("Normal") String prioridade, String dataFinal)
+			throws ParseException {
 
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
@@ -42,6 +44,6 @@
 
 		AppointmentPage ap = super.adicionarCompromisso(sdf.format(dtIni),
-				tipo, titulo, dataInicial, horaInicial, minutoInicial,
-				dataInicial, horaFinal, minutoFinal, prioridade);
+				tipo, titulo, descricao, local, dataInicial, horaInicial,
+				minutoInicial, dataInicial, horaFinal, minutoFinal, prioridade);
 
 		ap.setRecurType("DiÃ¡ria");
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoDataInicialFinalInvalidaTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoDataInicialFinalInvalidaTestCase.java	(revision 4890)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoDataInicialFinalInvalidaTestCase.java	(revision 4895)
@@ -28,12 +28,13 @@
 		BaseCalendarTestCase {
 
-	@Parameters({ "tipo", "titulo", "dataInicial", "horaInicial",
-			"minutoInicial", "dataFinal", "horaFinal", "minutoFinal",
-			"prioridade" })
+	@Parameters({ "tipo", "titulo", "descricao", "local", "dataInicial",
+			"horaInicial", "minutoInicial", "dataFinal", "horaFinal",
+			"minutoFinal", "prioridade" })
 	@Test
 	public void adicionarCompromissoComDataInicialFinalInvalida(
-			@Optional("Normal") String tipo, String titulo, String dataInicial,
-			String horaInicial, String minutoInicial, String dataFinal,
-			String horaFinal, String minutoFinal,
+			@Optional("Normal") String tipo, String titulo,
+			@Optional("") String descricao, @Optional("") String local,
+			String dataInicial, String horaInicial, String minutoInicial,
+			String dataFinal, String horaFinal, String minutoFinal,
 			@Optional("Normal") String prioridade) {
 
@@ -43,7 +44,7 @@
 
 		AppointmentPage ap = super.adicionarCompromisso(
-				sdf.format(cal.getTime()), tipo, titulo, dataInicial,
-				horaInicial, minutoInicial, dataFinal, horaFinal, minutoFinal,
-				prioridade);
+				sdf.format(cal.getTime()), tipo, titulo, descricao, local,
+				dataInicial, horaInicial, minutoInicial, dataFinal, horaFinal,
+				minutoFinal, prioridade);
 		ap.saveAppointment();
 
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoHoraInicialFinalInvalidaTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoHoraInicialFinalInvalidaTestCase.java	(revision 4890)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoHoraInicialFinalInvalidaTestCase.java	(revision 4895)
@@ -27,11 +27,12 @@
 		BaseCalendarTestCase {
 
-	@Parameters({ "tipo", "titulo", "horaInicial", "minutoInicial",
-			"horaFinal", "minutoFinal", "prioridade" })
+	@Parameters({ "tipo", "titulo", "descricao", "local", "horaInicial",
+			"minutoInicial", "horaFinal", "minutoFinal", "prioridade" })
 	@Test
 	public void adicionarCompromissoHoraFinalMenorQueHoraInicial(
-			@Optional("Normal") String tipo, String titulo, String horaInicial,
-			String minutoInicial, String horaFinal, String minutoFinal,
-			@Optional("Normal") String prioridade) {
+			@Optional("Normal") String tipo, String titulo,
+			@Optional("") String descricao, @Optional("") String local,
+			String horaInicial, String minutoInicial, String horaFinal,
+			String minutoFinal, @Optional("Normal") String prioridade) {
 
 		// Pega data corrente.
@@ -41,5 +42,5 @@
 
 		AppointmentPage ap = super.adicionarCompromisso(
-				sdf.format(cal.getTime()), tipo, titulo,
+				sdf.format(cal.getTime()), tipo, titulo, descricao, local,
 				sdf2.format(cal.getTime()), horaInicial, minutoInicial,
 				sdf2.format(cal.getTime()), horaFinal, minutoFinal, prioridade);
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoConflitanteTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoConflitanteTestCase.java	(revision 4895)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoConflitanteTestCase.java	(revision 4895)
@@ -0,0 +1,51 @@
+package org.expressolivre.cte.calendar.adicionar;
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentConflictPage;
+import org.expressolivre.cte.pages.calendar.AppointmentPage;
+import org.testng.annotations.Optional;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.2] Adicionar Compromisso
+ * 
+ * Caso de Teste: EL-949:Adicionar compromisso com conflito
+ * 
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-949
+ * 
+ * @author L.F.Estivalet (Serpro)
+ * 
+ *         Created on Ago 2, 2011 at 3:02:08 PM
+ * 
+ */
+public class AdicionarCompromissoConflitanteTestCase extends
+		BaseCalendarTestCase {
+
+	@Parameters({ "tipo", "titulo", "descricao", "local", "horaInicial",
+			"minutoInicial", "horaFinal", "minutoFinal", "prioridade" })
+	@Test
+	public void adicionarCompromissoConflitante(
+			@Optional("Normal") String tipo, String titulo,
+			@Optional("") String descricao, @Optional("") String local,
+			String horaInicial, String minutoInicial, String horaFinal,
+			String minutoFinal, @Optional("Normal") String prioridade) {
+
+		// Pega data corrente.
+		Calendar cal = Calendar.getInstance();
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+		SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
+
+		AppointmentPage ap = super.adicionarCompromisso(
+				sdf.format(cal.getTime()), tipo, titulo, descricao, local,
+				sdf2.format(cal.getTime()), horaInicial, minutoInicial,
+				sdf2.format(cal.getTime()), horaFinal, minutoFinal, prioridade);
+
+		AppointmentConflictPage acp = ap.saveConflictAppointment();
+		acp.ignoreConflict();
+	}
+}
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoDataFinalMenorDataInicialTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoDataFinalMenorDataInicialTestCase.java	(revision 4890)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoDataFinalMenorDataInicialTestCase.java	(revision 4895)
@@ -28,11 +28,12 @@
 		BaseCalendarTestCase {
 
-	@Parameters({ "tipo", "titulo", "horaInicial", "minutoInicial",
-			"horaFinal", "minutoFinal", "prioridade" })
+	@Parameters({ "tipo", "titulo", "descricao", "local", "horaInicial",
+			"minutoInicial", "horaFinal", "minutoFinal", "prioridade" })
 	@Test
 	public void adicionarCompromissoComDataFinalMenorQueDataInicial(
-			@Optional("Normal") String tipo, String titulo, String horaInicial,
-			String minutoInicial, String horaFinal, String minutoFinal,
-			@Optional("Normal") String prioridade) {
+			@Optional("Normal") String tipo, String titulo,
+			@Optional("") String descricao, @Optional("") String local,
+			String horaInicial, String minutoInicial, String horaFinal,
+			String minutoFinal, @Optional("Normal") String prioridade) {
 
 		// Pega data corrente.
@@ -46,7 +47,7 @@
 
 		AppointmentPage ap = super.adicionarCompromisso(
-				sdf.format(cal.getTime()), tipo, titulo, dataInicial,
-				horaInicial, minutoInicial, dataFinal, horaFinal, minutoFinal,
-				prioridade);
+				sdf.format(cal.getTime()), tipo, titulo, descricao, local,
+				dataInicial, horaInicial, minutoInicial, dataFinal, horaFinal,
+				minutoFinal, prioridade);
 		ap.saveAppointment();
 
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoHoraFinalMenorHoraInicialTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoHoraFinalMenorHoraInicialTestCase.java	(revision 4890)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoHoraFinalMenorHoraInicialTestCase.java	(revision 4895)
@@ -28,11 +28,12 @@
 		BaseCalendarTestCase {
 
-	@Parameters({ "tipo", "titulo", "horaInicial", "minutoInicial",
-			"horaFinal", "minutoFinal", "prioridade" })
+	@Parameters({ "tipo", "titulo", "descricao", "local", "horaInicial",
+			"minutoInicial", "horaFinal", "minutoFinal", "prioridade" })
 	@Test
 	public void adicionarCompromissoHoraFinalMenorQueHoraInicial(
-			@Optional("Normal") String tipo, String titulo, String horaInicial,
-			String minutoInicial, String horaFinal, String minutoFinal,
-			@Optional("Normal") String prioridade) {
+			@Optional("Normal") String tipo, String titulo,
+			@Optional("") String descricao, @Optional("") String local,
+			String horaInicial, String minutoInicial, String horaFinal,
+			String minutoFinal, @Optional("Normal") String prioridade) {
 
 		// Pega data corrente.
@@ -42,5 +43,5 @@
 
 		AppointmentPage ap = super.adicionarCompromisso(
-				sdf.format(cal.getTime()), tipo, titulo,
+				sdf.format(cal.getTime()), tipo, titulo, descricao, local,
 				sdf2.format(cal.getTime()), horaInicial, minutoInicial,
 				sdf2.format(cal.getTime()), horaFinal, minutoFinal, prioridade);
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoSemanalTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoSemanalTestCase.java	(revision 4890)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoSemanalTestCase.java	(revision 4895)
@@ -28,13 +28,15 @@
 		BaseCalendarTestCase {
 
-	@Parameters({ "tipo", "titulo", "dataInicial", "horaInicial",
-			"minutoInicial", "horaFinal", "minutoFinal", "prioridade",
-			"dataFinal", "dias" })
+	@Parameters({ "tipo", "titulo", "descricao", "local", "dataInicial",
+			"horaInicial", "minutoInicial", "horaFinal", "minutoFinal",
+			"prioridade", "dataFinal", "dias" })
 	@Test
 	public void adicionarCompromissoComRepeticaoSemanal(
-			@Optional("Normal") String tipo, String titulo, String dataInicial,
-			String horaInicial, String minutoInicial, String horaFinal,
-			String minutoFinal, @Optional("Normal") String prioridade,
-			String dataFinal, String dias) throws ParseException {
+			@Optional("Normal") String tipo, String titulo,
+			@Optional("") String descricao, @Optional("") String local,
+			String dataInicial, String horaInicial, String minutoInicial,
+			String horaFinal, String minutoFinal,
+			@Optional("Normal") String prioridade, String dataFinal, String dias)
+			throws ParseException {
 
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
@@ -43,6 +45,6 @@
 
 		AppointmentPage ap = super.adicionarCompromisso(sdf.format(dtIni),
-				tipo, titulo, dataInicial, horaInicial, minutoInicial,
-				dataInicial, horaFinal, minutoFinal, prioridade);
+				tipo, titulo, descricao, local, dataInicial, horaInicial,
+				minutoInicial, dataInicial, horaFinal, minutoFinal, prioridade);
 
 		ap.setRecurType("semanal");
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/RemoverCompromissoComRepeticaoTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/RemoverCompromissoComRepeticaoTestCase.java	(revision 4890)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/RemoverCompromissoComRepeticaoTestCase.java	(revision 4895)
@@ -28,9 +28,5 @@
 		String id = ctvp.getAppointmentId(titulo);
 
-		System.out.println(id);
-
 		String[] ids = id.split("rc");
-		System.out.println("-->" + ids[0].substring(1) + " "
-				+ ids[1].substring(0, ids[1].length() - 1));
 
 		AppointmentViewPage avp = cp.openAppointmentViewPage(
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoPelaDescricaoTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoPelaDescricaoTestCase.java	(revision 4895)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoPelaDescricaoTestCase.java	(revision 4895)
@@ -0,0 +1,37 @@
+package org.expressolivre.cte.calendar.pesquisar;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentSearchResultPage;
+import org.testng.Assert;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Caso de Teste: EL-955:Pesquisar pela descricao de um compromisso
+ * 
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-955
+ * 
+ * @author L.F.Estivalet (Serpro)
+ * 
+ *         Created on Aug 2, 2011 at 4:34:36 PM
+ * 
+ */
+public class PesquisarCompromissoPelaDescricaoTestCase extends
+		BaseCalendarTestCase {
+
+	/**
+	 * Pesquisa um compromisso que exista na agenda.
+	 * 
+	 * @param descricao
+	 *            Descricao a ser pesquisado.
+	 */
+	@Parameters({ "descricao" })
+	@Test
+	public void pesquisarCompromissoPelaDescricao(String descricao) {
+		cp.setSearchText(descricao);
+		AppointmentSearchResultPage asrp = cp.searchAppointment();
+		Assert.assertEquals(asrp.getResultsNumber(), "1 ocorrÃªncia encontrada.");
+	}
+
+}
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoInexistenteTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoInexistenteTestCase.java	(revision 4895)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoInexistenteTestCase.java	(revision 4895)
@@ -0,0 +1,37 @@
+package org.expressolivre.cte.calendar.pesquisar;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentSearchResultPage;
+import org.testng.Assert;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Caso de Teste: EL-953:Pesquisar compromisso inexistente
+ * 
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-953
+ * 
+ * @author L.F.Estivalet (Serpro)
+ * 
+ *         Created on Aug 2, 2011 at 3:21:36 PM
+ * 
+ */
+public class PesquisarCompromissoInexistenteTestCase extends
+		BaseCalendarTestCase {
+
+	/**
+	 * Pesquisa um compromisso que nao exista na agenda.
+	 * 
+	 * @param titulo
+	 *            Titulo a ser pesquisado.
+	 */
+	@Parameters({ "titulo" })
+	@Test
+	public void pesquisarCompromissoInexistente(String titulo) {
+		cp.setSearchText(titulo);
+		AppointmentSearchResultPage asrp = cp.searchAppointment();
+		Assert.assertTrue(asrp.isTextPresent("Nenhum registro encontrado"));
+	}
+
+}
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoPeloTituloTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoPeloTituloTestCase.java	(revision 4895)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoPeloTituloTestCase.java	(revision 4895)
@@ -0,0 +1,37 @@
+package org.expressolivre.cte.calendar.pesquisar;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentSearchResultPage;
+import org.testng.Assert;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Caso de Teste: EL-954:Pesquisar pelo titulo de um compromisso
+ * 
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-954
+ * 
+ * @author L.F.Estivalet (Serpro)
+ * 
+ *         Created on Aug 2, 2011 at 4:14:36 PM
+ * 
+ */
+public class PesquisarCompromissoPeloTituloTestCase extends
+		BaseCalendarTestCase {
+
+	/**
+	 * Pesquisa um compromisso que exista na agenda.
+	 * 
+	 * @param titulo
+	 *            Titulo a ser pesquisado.
+	 */
+	@Parameters({ "titulo" })
+	@Test
+	public void pesquisarCompromissoPeloTitulo(String titulo) {
+		cp.setSearchText(titulo);
+		AppointmentSearchResultPage asrp = cp.searchAppointment();
+		Assert.assertEquals(asrp.getResultsNumber(), "1 ocorrÃªncia encontrada.");
+	}
+
+}
Index: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoPeloLocalTestCase.java
===================================================================
--- devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoPeloLocalTestCase.java	(revision 4895)
+++ devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoPeloLocalTestCase.java	(revision 4895)
@@ -0,0 +1,36 @@
+package org.expressolivre.cte.calendar.pesquisar;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentSearchResultPage;
+import org.testng.Assert;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Caso de Teste: EL-956:Pesquisar pelo local de um compromisso
+ * 
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-956
+ * 
+ * @author L.F.Estivalet (Serpro)
+ * 
+ *         Created on Aug 2, 2011 at 4:42:36 PM
+ * 
+ */
+public class PesquisarCompromissoPeloLocalTestCase extends BaseCalendarTestCase {
+
+	/**
+	 * Pesquisa um compromisso que exista na agenda.
+	 * 
+	 * @param titulo
+	 *            Local a ser pesquisado.
+	 */
+	@Parameters({ "local" })
+	@Test
+	public void pesquisarCompromissoPeloLocal(String local) {
+		cp.setSearchText(local);
+		AppointmentSearchResultPage asrp = cp.searchAppointment();
+		Assert.assertEquals(asrp.getResultsNumber(), "1 ocorrÃªncia encontrada.");
+	}
+
+}
