source: devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoMensalPorDataTestCase.java @ 4917

Revision 4917, 2.7 KB checked in by luiz-fernando, 13 years ago (diff)

Ticket #1771 - Adicionado testes automatizados para modulo da agenda

Line 
1package org.expressolivre.cte.calendar.adicionar;
2
3import java.text.ParseException;
4import java.text.SimpleDateFormat;
5import java.util.Calendar;
6import java.util.Date;
7
8import org.expressolivre.cte.common.BaseCalendarTestCase;
9import org.expressolivre.cte.pages.calendar.AppointmentPage;
10import org.expressolivre.cte.pages.calendar.CalendarTodayViewPage;
11import org.testng.annotations.Optional;
12import org.testng.annotations.Parameters;
13import org.testng.annotations.Test;
14
15/**
16 * Suite:[FUN03.2] Adicionar Compromisso
17 *
18 * Caso de Teste: EL-944:Adicionar compromisso com repeticao mensal por data
19 *
20 * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
21 * testcase&id=EL-944
22 *
23 * @author L.F.Estivalet (Serpro)
24 *
25 *         Created on Ago 8, 2011 at 3:39:08 PM
26 *
27 */
28public class AdicionarCompromissoComRepeticaoMensalPorDataTestCase extends
29                BaseCalendarTestCase {
30
31        @Parameters({ "tipo", "titulo", "descricao", "local", "dataInicial",
32                        "horaInicial", "minutoInicial", "horaFinal", "minutoFinal",
33                        "prioridade", "dataFinal" })
34        @Test
35        public void adicionarCompromissoComRepeticaoMensalPorData(
36                        @Optional("Normal") String tipo, String titulo,
37                        @Optional("") String descricao, @Optional("") String local,
38                        @Optional("") String dataInicial, String horaInicial,
39                        String minutoInicial, String horaFinal, String minutoFinal,
40                        @Optional("Normal") String prioridade,
41                        @Optional("") String dataFinal) throws ParseException {
42
43                Calendar cal = Calendar.getInstance();
44                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
45                SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
46
47                // Se a data inicial nao for informada, pega data corrente.
48                if ("".equals(dataInicial)) {
49                        dataInicial = sdf2.format(cal.getTime());
50                }
51                // Transforma a data inicial informada (dd/MM/yyyy) para (yyyyMMdd)
52                Date dtIni = sdf2.parse(dataInicial);
53                cal.setTime(dtIni);
54
55                // Adiciona 3 meses a data atual para recorrencia.
56                cal.add(Calendar.MONTH, 3);
57                dataFinal = sdf2.format(cal.getTime());
58
59                AppointmentPage ap = super.newAppointment(sdf.format(dtIni));
60                ap.setType(tipo);
61                ap.setTitle(titulo);
62                ap.setDescription(descricao);
63                ap.setLocation(local);
64                ap.setStartDate(dataInicial);
65                ap.setStartHour(horaInicial);
66                ap.setStartMinute(minutoInicial);
67                ap.setEndDate(dataInicial);
68                ap.setEndHour(horaFinal);
69                ap.setEndMinute(minutoFinal);
70                ap.setPriority(prioridade);
71                ap.setRecurType("mensalmente (por data)");
72                ap.setRptUseEnd(dataFinal);
73
74                ap.saveAppointment();
75
76                // Verificar se foram gerados 4 compromissos (o de hoje e dos proximos 3
77                // meses).
78                for (int i = 0; i < 4; i++) {
79                        CalendarTodayViewPage ctvp = super.openTodayView(sdf.format(cal
80                                        .getTime()));
81                        ctvp.isTextPresent(titulo);
82                        cal.add(Calendar.MONTH, -1);
83                }
84
85        }
86}
Note: See TracBrowser for help on using the repository browser.