1 | package org.expressolivre.cte.calendar.adicionar; |
---|
2 | |
---|
3 | import java.text.ParseException; |
---|
4 | import java.text.SimpleDateFormat; |
---|
5 | import java.util.Calendar; |
---|
6 | import java.util.Date; |
---|
7 | |
---|
8 | import org.expressolivre.cte.common.BaseCalendarTestCase; |
---|
9 | import org.expressolivre.cte.pages.calendar.AppointmentPage; |
---|
10 | import org.expressolivre.cte.pages.calendar.CalendarTodayViewPage; |
---|
11 | import org.testng.annotations.Optional; |
---|
12 | import org.testng.annotations.Parameters; |
---|
13 | import 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 | */ |
---|
28 | public 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 | } |
---|