[4917] | 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 | } |
---|