package org.expressolivre.cte.calendar.visualizar; import java.text.SimpleDateFormat; import java.util.Calendar; import org.expressolivre.cte.common.BaseCalendarTestCase; import org.expressolivre.cte.pages.calendar.AppointmentViewPage; import org.expressolivre.cte.pages.calendar.CalendarTodayViewPage; import org.openqa.selenium.WebElement; import org.testng.Assert; import org.testng.annotations.Optional; import org.testng.annotations.Parameters; import org.testng.annotations.Test; /** * Caso de Teste: EL-1274:Exibir compromisso sem repeticao * * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item= * testcase&id=EL-1274 * * @author L.F.Estivalet (Serpro) * * Created on Set 6, 2011 at 4:12:43 PM * */ public class ExibirCompromissoSemRepeticaoTestCase extends BaseCalendarTestCase { @Parameters({ "tipo", "titulo", "descricao", "local", "dataInicial", "horaInicial", "minutoInicial", "dataFinal", "horaFinal", "minutoFinal", "prioridade" }) @Test public void exibirCompromissoSemRepeticao(@Optional("Normal") String tipo, String titulo, @Optional("") String descricao, @Optional("") String local, @Optional("") String dataInicial, String horaInicial, String minutoInicial, @Optional("") String dataFinal, String horaFinal, String minutoFinal, @Optional("Normal") String prioridade) { // Vai para visao diaria e pega o id do compromisso. CalendarTodayViewPage ctvp = super.openTodayView(); String id = ctvp.getAppointmentId(titulo); // Verifica se horario inicial esta aparecendo na lista. boolean foundTime = ctvp.isStartTimePresent(horaInicial + ":" + minutoInicial); // Procura o compromisso. WebElement e = ctvp.findAppointment(horaInicial + ":" + minutoInicial + " " + horaFinal + ":" + minutoFinal + " - " + titulo); boolean single = ctvp.isSingle(e); // Abre a pagina do compromisso e recupera as informacoes. AppointmentViewPage avp = cp.openAppointmentViewPage(id); String title = avp.getTitle(); String start = avp.getAppointmentInfo(AppointmentViewPage.START); String end = avp.getAppointmentInfo(AppointmentViewPage.END); String priority = avp.getAppointmentInfo(AppointmentViewPage.PRIORITY); String attachments = avp .getAppointmentInfo(AppointmentViewPage.ATTACHMENTS); avp.ready(); // Verifica que esta tudo de acordo. Calendar cal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); String today = sdf.format(cal.getTime()); // Verifica se o horario aparece. Assert.assertTrue(foundTime); // Verifica se o compromisso eh individual. Assert.assertTrue(single); // Verifica o titulo na pagina de exibicao dos detalhes do compromisso. Assert.assertEquals(title, titulo); // Verifica hora inicial na pagina de exibicao dos detalhes do // compromisso. Assert.assertEquals(start, today + " - " + horaInicial + ":" + minutoInicial); // Verifica hora final na pagina de exibicao dos detalhes do // compromisso. Assert.assertEquals(end, today + " - " + horaFinal + ":" + minutoFinal); // Verifica prioridade na pagina de exibicao dos detalhes do // compromisso. Assert.assertEquals(priority, prioridade); // Verifica anexos na pagina de exibicao dos detalhes do compromisso. Assert.assertEquals(attachments, "Não há anexos"); } }