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 4895)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/common/HomePage.java (revision 4917)
@@ -1,4 +1,5 @@
package org.expressolivre.cte.pages.common;
+import org.expressolivre.cte.common.Config;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
@@ -16,7 +17,4 @@
private WebElement mail;
- @FindBy(id = "calendarid")
- private WebElement calendar;
-
/**
* @param driver
@@ -26,4 +24,7 @@
}
+ /**
+ * Entrar no modulo de email atraves do clique no icone.
+ */
public void enterMail() {
mail.click();
@@ -32,7 +33,9 @@
}
+ /**
+ * Entra no modulo da agenda atraves da url "/calendar".
+ */
public void enterCalendar() {
- waitForElement(By.id("calendarid"));
- calendar.click();
+ driver.get(Config.getInstance().getConfig("url") + "/calendar/");
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 4902)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/common/Page.java (revision 4917)
@@ -228,3 +228,15 @@
return pageSource.contains(text);
}
+
+ /**
+ * Gets the Xpath count for a given locator
+ *
+ * @param sLocator
+ * The XPath you want to count
+ * @return int XPath Count
+ */
+ public int getXPathCount(String sLocator) {
+ return driver.findElements(By.xpath(sLocator)).size();
+
+ }
}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/EditAppointmentCategoryPage.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/EditAppointmentCategoryPage.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/EditAppointmentCategoryPage.java (revision 4917)
@@ -0,0 +1,18 @@
+package org.expressolivre.cte.pages.calendar;
+
+import org.openqa.selenium.WebDriver;
+
+/**
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 11, 2011 at 9:41:12 AM
+ *
+ */
+public class EditAppointmentCategoryPage extends AddAppointmentCategoryPage {
+
+ public EditAppointmentCategoryPage(WebDriver driver) {
+ super(driver);
+ // TODO Auto-generated constructor stub
+ }
+
+}
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 4902)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentSearchResultPage.java (revision 4917)
@@ -68,5 +68,5 @@
* @return
*/
- public AppointmentViewPage editAppointment(int row) {
+ public AppointmentViewPage viewAppointment(int row) {
super.findAndClickElement(By
.xpath("//table[@id='calendar_search_table']/tbody/tr["
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AddAppointmentCategoryPage.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AddAppointmentCategoryPage.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AddAppointmentCategoryPage.java (revision 4917)
@@ -0,0 +1,122 @@
+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 10, 2011 at 1:56:27 PM
+ *
+ */
+public class AddAppointmentCategoryPage extends Page {
+
+ /** Combo para escolher categoria pai. */
+ @FindBy(name = "new_parent")
+ private WebElement parentCategory;
+
+ /** Nome da categoria. */
+ @FindBy(name = "cat_name")
+ private WebElement categoryName;
+
+ /** Descricao da categoria. */
+ @FindBy(name = "cat_description")
+ private WebElement categoryDescription;
+
+ /** Categoria privada. */
+ @FindBy(name = "cat_access")
+ private WebElement privateCategory;
+
+ /** Botao para salvar a categoria. */
+ @FindBy(name = "save")
+ private WebElement saveCategory;
+
+ /** Mensagem de erro ao tentar salvar uma categoria. */
+ @FindBy(xpath = "//table[@id='tableDivAppbox']/tbody/tr/td/center/table[1]/tbody/tr/td[2]")
+ private WebElement errorMessage;
+
+ /**
+ * @param driver
+ */
+ public AddAppointmentCategoryPage(WebDriver driver) {
+ super(driver);
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param parent
+ */
+ public void setParentCategory(String parent) {
+ super.setComboValue(parentCategory, parent);
+ }
+
+ /**
+ * Seta o nome da categoria.
+ *
+ * @param name
+ * Nome da categoria a setar.
+ */
+ public void setCategoryName(String name) {
+ this.categoryName.clear();
+ this.categoryName.sendKeys(name);
+ }
+
+ /**
+ * @return
+ */
+ public String getCategoryName() {
+ return this.categoryName.getValue();
+ }
+
+ /**
+ * Seta a descricao da categoria.
+ *
+ * @param description
+ * Descricao da categoria a setar.
+ */
+ public void setCategoryDescription(String description) {
+ this.categoryDescription.clear();
+ this.categoryDescription.sendKeys(description);
+ }
+
+ /**
+ * @return
+ */
+ public String getCategoryDescription() {
+ return this.categoryDescription.getValue();
+ }
+
+ /**
+ * Torna a categoria privada ou nao.
+ */
+ public void setPrivateAccess(Boolean privateCategory) {
+ if (privateCategory && !this.privateCategory.isSelected()) {
+ this.privateCategory.click();
+ } else if (!privateCategory && this.privateCategory.isSelected()) {
+ this.privateCategory.click();
+ }
+ }
+
+ /**
+ * @return
+ */
+ public Boolean getPrivateAccess() {
+ return this.privateCategory.isSelected();
+ }
+
+ /**
+ * Salva a categoria.
+ */
+ public void saveCategory() {
+ this.saveCategory.click();
+ }
+
+ /**
+ * @return
+ */
+ public String getErrorMessage() {
+ return this.errorMessage.getText();
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentViewPage.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentViewPage.java (revision 4902)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentViewPage.java (revision 4917)
@@ -17,15 +17,11 @@
public class AppointmentViewPage extends Page {
+ /** Botao para editar um compromisso. */
@FindBy(xpath = "//table[@id='calendar_viewevent_button_left']/tbody/tr/td[1]/nobr/form/div/input[@id='']")
private WebElement editButton;
+ /** Botao para editar serie de compromissos. */
@FindBy(xpath = "//table[@id='calendar_viewevent_button_left']/tbody/tr/td[2]/nobr/form/div/input[@id='']")
- private WebElement readyButton;
-
- @FindBy(xpath = "//table[@id='calendar_viewevent_button_center']/tbody/tr/td[1]/nobr/form/div/input[@id='']")
- private WebElement alarmManagerButton;
-
- @FindBy(xpath = "//table[@id='calendar_viewevent_button_center']/tbody/tr/td[2]/nobr/form/div/input[@id='']")
- private WebElement exportButton;
+ private WebElement editSeriesButton;
@FindBy(xpath = "//table[@id='calendar_viewevent_button_right']/tbody/tr/td/nobr/form/div/input[@id='']")
@@ -44,5 +40,5 @@
/**
- * Edita o compromisso previamente selecionado
+ * Edita o compromisso previamente selecionado.
*
* @return Retorna pagina de edicao do compromisso.
@@ -50,4 +46,15 @@
public AppointmentEditPage editAppointment() {
this.editButton.click();
+ return PageFactory.initElements(driver, AppointmentEditPage.class);
+
+ }
+
+ /**
+ * Edita a serie de compromissos previamente selecionado.
+ *
+ * @return Retorna pagina de edicao do compromisso.
+ */
+ public AppointmentEditPage editAppointmentSeries() {
+ this.editSeriesButton.click();
return PageFactory.initElements(driver, AppointmentEditPage.class);
@@ -87,4 +94,3 @@
return title.getText();
}
-
}
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 4895)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/CalendarPage.java (revision 4917)
@@ -63,4 +63,17 @@
/**
+ * Abre o visao diaria para uma data especifica.
+ *
+ * @param data
+ * Data no formato yyyyMMdd.
+ * @return
+ */
+ public CalendarTodayViewPage openTodayView(String data) {
+ driver.get(Constants.URL
+ + "/index.php?menuaction=calendar.uicalendar.day&date=" + data);
+ return PageFactory.initElements(driver, CalendarTodayViewPage.class);
+ }
+
+ /**
* Abre tela para adicionar novo compromisso.
*
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/RemoveAppointmentCategoryPage.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/RemoveAppointmentCategoryPage.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/RemoveAppointmentCategoryPage.java (revision 4917)
@@ -0,0 +1,45 @@
+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;
+import org.openqa.selenium.support.PageFactory;
+
+/**
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 11, 2011 at 10:11:44 AM
+ *
+ */
+public class RemoveAppointmentCategoryPage extends Page {
+
+ /** Botao para confirmar a exclusao de uma categoria. */
+ @FindBy(name = "confirm")
+ private WebElement confirm;
+
+ /** Checkbox para remover as subcategorias. */
+ @FindBy(name = "subs")
+ private WebElement removeSubCategories;
+
+ public RemoveAppointmentCategoryPage(WebDriver driver) {
+ super(driver);
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * Remove a categoria e retorna para pagina de listagem.
+ */
+ public AppointmentCategoryPage removeCategory() {
+ this.confirm.click();
+ return PageFactory.initElements(driver, AppointmentCategoryPage.class);
+
+ }
+
+ /**
+ * Marca que deseja remover as subcategorias junto.
+ */
+ public void setRemoveSubCategories() {
+ this.removeSubCategories.click();
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentCategoryPage.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentCategoryPage.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentCategoryPage.java (revision 4917)
@@ -0,0 +1,132 @@
+package org.expressolivre.cte.pages.calendar;
+
+import org.expressolivre.cte.pages.common.Page;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
+import org.openqa.selenium.support.PageFactory;
+
+/**
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 10, 2011 at 1:49:11 PM
+ *
+ */
+public class AppointmentCategoryPage extends Page {
+
+ /** Botao para adicionar nova categoria. */
+ @FindBy(xpath = "//table[@id='tableDivAppbox']/tbody/tr/td/center/table[3]/tbody/tr/td[1]/form/input")
+ private WebElement addCategory;
+
+ @FindBy(name = "query")
+ private WebElement searchText;
+
+ @FindBy(name = "search")
+ private WebElement searchCategory;
+
+ /**
+ * @param driver
+ */
+ public AppointmentCategoryPage(WebDriver driver) {
+ super(driver);
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param text
+ */
+ public void setSearchText(String text) {
+ this.searchText.clear();
+ this.searchText.sendKeys(text);
+ }
+
+ /**
+ *
+ */
+ public AppointmentCategoryPage startSearch() {
+ this.searchCategory.click();
+ return PageFactory.initElements(driver, AppointmentCategoryPage.class);
+ }
+
+ /**
+ * Vai para a tela de adicao de categorias.
+ */
+ public AddAppointmentCategoryPage addCategory() {
+ this.addCategory.submit();
+ return PageFactory.initElements(driver,
+ AddAppointmentCategoryPage.class);
+ }
+
+ /**
+ * Procura pelo nome da categoria na tabela que lista as categorias.
+ *
+ * @param name
+ * Nome da categoria a procurar.
+ *
+ */
+ public Integer findCategory(String name) {
+ String rowsPath = "//table[@id='tableDivAppbox']/tbody/tr/td/center/table[2]/tbody/tr";
+ int totalLinhas = super.getXPathCount(rowsPath);
+ for (int i = 1; i <= totalLinhas; i++) {
+ WebElement row = driver.findElement(By.xpath(rowsPath + "[" + i
+ + "]/td[1]"));
+ // Se achar a categoria retorna o id
+ if (name.equals(row.getText())) {
+ String catId = driver.findElement(
+ By.xpath(rowsPath + "[" + i + "]/td[5]/a"))
+ .getAttribute("href");
+ return Integer
+ .parseInt(catId.substring(catId.lastIndexOf("=") + 1));
+ }
+
+ }
+ return null;
+ }
+
+ /**
+ * @param name
+ * @return Retorna a linha da tabela onde foi encontrada a categoria.
+ */
+ public Integer getCategoryRow(String name) {
+ String rowsPath = "//table[@id='tableDivAppbox']/tbody/tr/td/center/table[2]/tbody/tr";
+ int totalLinhas = super.getXPathCount(rowsPath);
+ for (int i = 1; i <= totalLinhas; i++) {
+ WebElement row = driver.findElement(By.xpath(rowsPath + "[" + i
+ + "]/td[1]"));
+ // Se achar a categoria retorna o id
+ if (name.equals(row.getText())) {
+ return i;
+ }
+
+ }
+ return null;
+ }
+
+ /**
+ * @param categoryId
+ * @return
+ */
+ public EditAppointmentCategoryPage editCategory(String name) {
+ Integer row = getCategoryRow(name);
+ String rowsPath = "//table[@id='tableDivAppbox']/tbody/tr/td/center/table[2]/tbody/tr";
+ driver.findElement(By.xpath(rowsPath + "[" + row + "]/td[5]/a"))
+ .click();
+ return PageFactory.initElements(driver,
+ EditAppointmentCategoryPage.class);
+ }
+
+ /**
+ * @param categoryId
+ * @return
+ */
+ public RemoveAppointmentCategoryPage removeCategory(String name) {
+ Integer row = getCategoryRow(name);
+ String rowsPath = "//table[@id='tableDivAppbox']/tbody/tr/td/center/table[2]/tbody/tr";
+ driver.findElement(By.xpath(rowsPath + "[" + row + "]/td[6]/a"))
+ .click();
+ return PageFactory.initElements(driver,
+ RemoveAppointmentCategoryPage.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 4902)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/calendar/AppointmentPage.java (revision 4917)
@@ -70,4 +70,7 @@
private WebElement priority;
+ @FindBy(id = "usuarioParticipa")
+ private WebElement includeUser;
+
/** Alarme dia. */
@FindBy(name = "cal[alarmdays]")
@@ -128,4 +131,5 @@
*/
public void setTitle(String title) {
+ this.title.clear();
this.title.sendKeys(title);
}
@@ -136,4 +140,5 @@
*/
public void setDescription(String description) {
+ this.description.clear();
this.description.sendKeys(description);
}
@@ -152,4 +157,5 @@
*/
public void setLocation(String location) {
+ this.location.clear();
this.location.sendKeys(location);
}
@@ -218,8 +224,26 @@
/**
+ * Inclui/Exclui usuario criador do compromisso.
+ *
+ * @param include
+ * true
para incluir usuario, false
+ * para excluir.
+ */
+ public void setIncludeUser(Boolean include) {
+ if (include && !this.includeUser.isSelected()) {
+ this.includeUser.click();
+ }
+
+ if (!include && this.includeUser.isSelected()) {
+ this.includeUser.click();
+ }
+ }
+
+ /**
* @param notes
* the notes to set
*/
public void setNotes(String notes) {
+ this.notes.clear();
this.notes.sendKeys(notes);
}
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 4902)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/common/BaseCalendarTestCase.java (revision 4917)
@@ -1,4 +1,5 @@
package org.expressolivre.cte.common;
+import org.expressolivre.cte.pages.calendar.AppointmentCategoryPage;
import org.expressolivre.cte.pages.calendar.AppointmentPage;
import org.expressolivre.cte.pages.calendar.CalendarPage;
@@ -46,4 +47,15 @@
/**
+ * Abre o visao diaria para uma data especifica.
+ *
+ * @param data
+ * Data no formato yyyyMMdd.
+ * @return
+ */
+ public CalendarTodayViewPage openTodayView(String date) {
+ return cp.openTodayView(date);
+ }
+
+ /**
* Cria um novo compromisso.
*
@@ -56,3 +68,12 @@
return PageFactory.initElements(driver, AppointmentPage.class);
}
+
+ /**
+ * @return
+ */
+ public AppointmentCategoryPage openAppointmentCategoryPage() {
+ driver.get(URL
+ + "/index.php?menuaction=preferences.uicategories.index&cats_app=calendar&cats_level=True&global_cats=True");
+ return PageFactory.initElements(driver, AppointmentCategoryPage.class);
+ }
}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/common/BaseTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/common/BaseTestCase.java (revision 4864)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/common/BaseTestCase.java (revision 4917)
@@ -5,5 +5,4 @@
import org.expressolivre.cte.pages.common.LoginPage;
import org.expressolivre.cte.pages.common.PreferencesPage;
-import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
@@ -63,5 +62,5 @@
@AfterClass
public void logout() {
- driver.findElement(By.id("logout_id")).click();
+ driver.get(Constants.URL + "/logout.php");
}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/CriarCategoriaSemNomeTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/CriarCategoriaSemNomeTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/CriarCategoriaSemNomeTestCase.java (revision 4917)
@@ -0,0 +1,34 @@
+package org.expressolivre.cte.calendar.preferencias;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AddAppointmentCategoryPage;
+import org.expressolivre.cte.pages.calendar.AppointmentCategoryPage;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.8] Alterar preferencias da agenda
+ *
+ * Caso de Teste: EL-1061:Criar categoria sem informar campo nome
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-1061
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 11, 2011 at 2:23:04 PM
+ *
+ */
+public class CriarCategoriaSemNomeTestCase extends BaseCalendarTestCase {
+
+ @Test
+ public void criarCategoriaSemNome() {
+ AppointmentCategoryPage acp = super.openAppointmentCategoryPage();
+ AddAppointmentCategoryPage aacp = acp.addCategory();
+ aacp.saveCategory();
+
+ Assert.assertEquals(aacp.getErrorMessage(),
+ "Por favor digite um nome !");
+ }
+
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/ProcurarCategoriaSemResultadoTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/ProcurarCategoriaSemResultadoTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/ProcurarCategoriaSemResultadoTestCase.java (revision 4917)
@@ -0,0 +1,35 @@
+package org.expressolivre.cte.calendar.preferencias;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentCategoryPage;
+import org.testng.Assert;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.8] Alterar preferencias da agenda
+ *
+ * Caso de Teste: EL-995:Procurar categoria sem resultado
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-995
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 11, 2011 at 10:38:07 AM
+ *
+ */
+public class ProcurarCategoriaSemResultadoTestCase extends BaseCalendarTestCase {
+
+ @Parameters({ "nome" })
+ @Test
+ public void procurarCategoriaSemResultado(String nome) {
+ AppointmentCategoryPage acp = super.openAppointmentCategoryPage();
+ acp.setSearchText(nome);
+ acp = acp.startSearch();
+
+ // Depois da pesquisa verifica se aparece na tabela.
+ Integer catId = acp.findCategory(nome);
+ Assert.assertNull(catId);
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/EditarCategoriaTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/EditarCategoriaTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/EditarCategoriaTestCase.java (revision 4917)
@@ -0,0 +1,47 @@
+package org.expressolivre.cte.calendar.preferencias;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentCategoryPage;
+import org.expressolivre.cte.pages.calendar.EditAppointmentCategoryPage;
+import org.testng.Assert;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.8] Alterar preferencias da agenda
+ *
+ * Caso de Teste: EL-993:Editar categoria
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-993
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 10, 2011 at 2:32:54 PM
+ *
+ */
+public class EditarCategoriaTestCase extends BaseCalendarTestCase {
+
+ @Parameters({ "nome", "descricao", "particular", "novoNome",
+ "novaDescricao", "novoParticular" })
+ @Test
+ public void editarCategoria(String nome, String descricao,
+ Boolean particular, String novoNome, String novaDescricao,
+ Boolean novoParticular) {
+ AppointmentCategoryPage acp = super.openAppointmentCategoryPage();
+ Integer catId = acp.findCategory(nome);
+
+ Assert.assertNotNull(catId);
+
+ EditAppointmentCategoryPage eacp = acp.editCategory(nome);
+ Assert.assertEquals(nome, eacp.getCategoryName());
+ Assert.assertEquals(descricao, eacp.getCategoryDescription());
+ Assert.assertEquals(particular, eacp.getPrivateAccess());
+
+ eacp.setCategoryName(novoNome);
+ eacp.setCategoryDescription(novaDescricao);
+ eacp.setPrivateAccess(novoParticular);
+
+ eacp.saveCategory();
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/CriarSubCategoriaTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/CriarSubCategoriaTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/CriarSubCategoriaTestCase.java (revision 4917)
@@ -0,0 +1,43 @@
+package org.expressolivre.cte.calendar.preferencias;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AddAppointmentCategoryPage;
+import org.expressolivre.cte.pages.calendar.AppointmentCategoryPage;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.8] Alterar preferencias da agenda
+ *
+ * Caso de Teste: EL-989:Criar Sub categoria
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-989
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 11, 2011 at 10:19:50 AM
+ *
+ */
+public class CriarSubCategoriaTestCase extends BaseCalendarTestCase {
+
+ /**
+ * @param nomePai
+ * @param nome
+ * @param descricao
+ * @param particular
+ */
+ @Parameters({ "nomePai", "nome", "descricao", "particular" })
+ @Test
+ public void criarSubCategoria(String nomePai, String nome,
+ String descricao, Boolean particular) {
+ AppointmentCategoryPage acp = super.openAppointmentCategoryPage();
+ AddAppointmentCategoryPage aacp = acp.addCategory();
+ aacp.setParentCategory(nomePai);
+ aacp.setCategoryName(nome);
+ aacp.setCategoryDescription(descricao);
+ aacp.setPrivateAccess(particular);
+ aacp.saveCategory();
+ }
+
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/RemoverCategoriaSemExcluirSubTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/RemoverCategoriaSemExcluirSubTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/RemoverCategoriaSemExcluirSubTestCase.java (revision 4917)
@@ -0,0 +1,42 @@
+package org.expressolivre.cte.calendar.preferencias;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentCategoryPage;
+import org.expressolivre.cte.pages.calendar.RemoveAppointmentCategoryPage;
+import org.testng.Assert;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.8] Alterar preferencias da agenda
+ *
+ * Caso de Teste: EL-992:Remover categoria sem excluir sub categoria
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-992
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 11, 2011 at 10:27:54 AM
+ *
+ */
+public class RemoverCategoriaSemExcluirSubTestCase extends BaseCalendarTestCase {
+
+ @Parameters({ "nome", "nomeFilha" })
+ @Test
+ public void removerCategoriaSemExcluirSubCategoria(String nome,
+ String nomeFilha) {
+ AppointmentCategoryPage acp = super.openAppointmentCategoryPage();
+ Integer catId = acp.findCategory(nome);
+
+ Assert.assertNotNull(catId);
+
+ RemoveAppointmentCategoryPage racp = acp.removeCategory(nome);
+ acp = racp.removeCategory();
+
+ // Verifica que a categoria filha permanece na lista.
+ catId = acp.findCategory(nomeFilha);
+
+ Assert.assertNotNull(catId);
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/ProcurarCategoriaTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/ProcurarCategoriaTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/ProcurarCategoriaTestCase.java (revision 4917)
@@ -0,0 +1,35 @@
+package org.expressolivre.cte.calendar.preferencias;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentCategoryPage;
+import org.testng.Assert;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.8] Alterar preferencias da agenda
+ *
+ * Caso de Teste: EL-994:Procurar categoria
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-994
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 11, 2011 at 10:45:07 AM
+ *
+ */
+public class ProcurarCategoriaTestCase extends BaseCalendarTestCase {
+
+ @Parameters({ "nome" })
+ @Test
+ public void procurarCategoria(String nome) {
+ AppointmentCategoryPage acp = super.openAppointmentCategoryPage();
+ acp.setSearchText(nome);
+ acp = acp.startSearch();
+
+ // Depois da pesquisa verifica se aparece na tabela.
+ Integer catId = acp.findCategory(nome);
+ Assert.assertNotNull(catId);
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/RemoverCategoriaESubTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/RemoverCategoriaESubTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/RemoverCategoriaESubTestCase.java (revision 4917)
@@ -0,0 +1,41 @@
+package org.expressolivre.cte.calendar.preferencias;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentCategoryPage;
+import org.expressolivre.cte.pages.calendar.RemoveAppointmentCategoryPage;
+import org.testng.Assert;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.8] Alterar preferencias da agenda
+ *
+ * Caso de Teste: EL-991:Remover categoria com sub categoria
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-991
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 11, 2011 at 10:34:54 AM
+ *
+ */
+public class RemoverCategoriaESubTestCase extends BaseCalendarTestCase {
+
+ @Parameters({ "nome", "nomeFilha" })
+ @Test
+ public void removerCategoria(String nome, String nomeFilha) {
+ AppointmentCategoryPage acp = super.openAppointmentCategoryPage();
+ Integer catId = acp.findCategory(nome);
+
+ Assert.assertNotNull(catId);
+
+ RemoveAppointmentCategoryPage racp = acp.removeCategory(nome);
+ racp.setRemoveSubCategories();
+ acp = racp.removeCategory();
+
+ // Verifica se a categoria foi realmente removida
+ Assert.assertNull(acp.findCategory(nome));
+ Assert.assertNull(acp.findCategory(nomeFilha));
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/RemoverCategoriaTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/RemoverCategoriaTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/RemoverCategoriaTestCase.java (revision 4917)
@@ -0,0 +1,36 @@
+package org.expressolivre.cte.calendar.preferencias;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentCategoryPage;
+import org.expressolivre.cte.pages.calendar.RemoveAppointmentCategoryPage;
+import org.testng.Assert;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.8] Alterar preferencias da agenda
+ *
+ * Caso de Teste: EL-990:Remover categoria
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-990
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 11, 2011 at 10:09:54 AM
+ *
+ */
+public class RemoverCategoriaTestCase extends BaseCalendarTestCase {
+
+ @Parameters({ "nome" })
+ @Test
+ public void removerCategoria(String nome) {
+ AppointmentCategoryPage acp = super.openAppointmentCategoryPage();
+ Integer catId = acp.findCategory(nome);
+
+ Assert.assertNotNull(catId);
+
+ RemoveAppointmentCategoryPage racp = acp.removeCategory(nome);
+ racp.removeCategory();
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/CriarCategoriaTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/CriarCategoriaTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/CriarCategoriaTestCase.java (revision 4917)
@@ -0,0 +1,39 @@
+package org.expressolivre.cte.calendar.preferencias;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AddAppointmentCategoryPage;
+import org.expressolivre.cte.pages.calendar.AppointmentCategoryPage;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.8] Alterar preferencias da agenda
+ *
+ * Caso de Teste: EL-988:Criar categoria
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-988
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 10, 2011 at 1:47:08 PM
+ *
+ */
+public class CriarCategoriaTestCase extends BaseCalendarTestCase {
+
+ /**
+ * @param nome
+ * @param descricao
+ * @param particular
+ */
+ @Parameters({ "nome", "descricao", "particular" })
+ @Test
+ public void criarCategoria(String nome, String descricao, Boolean particular) {
+ AppointmentCategoryPage acp = super.openAppointmentCategoryPage();
+ AddAppointmentCategoryPage aacp = acp.addCategory();
+ aacp.setCategoryName(nome);
+ aacp.setCategoryDescription(descricao);
+ aacp.setPrivateAccess(particular);
+ aacp.saveCategory();
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/CriarCategoriaComNomeDuplicadoTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/CriarCategoriaComNomeDuplicadoTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/preferencias/CriarCategoriaComNomeDuplicadoTestCase.java (revision 4917)
@@ -0,0 +1,38 @@
+package org.expressolivre.cte.calendar.preferencias;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AddAppointmentCategoryPage;
+import org.expressolivre.cte.pages.calendar.AppointmentCategoryPage;
+import org.testng.Assert;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.8] Alterar preferencias da agenda
+ *
+ * Caso de Teste: EL-1268:Criar categoria com nome duplicado
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-1268
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Aug 11, 2011 at 2:33:04 PM
+ *
+ */
+public class CriarCategoriaComNomeDuplicadoTestCase extends
+ BaseCalendarTestCase {
+
+ @Parameters({ "nome" })
+ @Test
+ public void criarCategoriaComNomeDuplicado(String nome) {
+ AppointmentCategoryPage acp = super.openAppointmentCategoryPage();
+ AddAppointmentCategoryPage aacp = acp.addCategory();
+ aacp.setCategoryName(nome);
+ aacp.saveCategory();
+
+ Assert.assertEquals(aacp.getErrorMessage(),
+ "Este nome já está em uso !");
+ }
+
+}
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 4902)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoTestCase.java (revision 4917)
@@ -1,6 +1,8 @@
package org.expressolivre.cte.calendar.adicionar;
+import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
+import java.util.Date;
import org.expressolivre.cte.common.BaseCalendarTestCase;
@@ -40,27 +42,42 @@
public class AdicionarCompromissoTestCase extends BaseCalendarTestCase {
- @Parameters({ "tipo", "titulo", "descricao", "local", "horaInicial",
- "minutoInicial", "horaFinal", "minutoFinal", "prioridade" })
+ @Parameters({ "tipo", "titulo", "descricao", "local", "dataInicial",
+ "horaInicial", "minutoInicial", "dataFinal", "horaFinal",
+ "minutoFinal", "prioridade" })
@Test
- public void adicionarCompromissoDataCorrente(
- @Optional("Normal") String tipo, String titulo,
- @Optional("") String descricao, @Optional("") String local,
- String horaInicial, String minutoInicial, String horaFinal,
- String minutoFinal, @Optional("Normal") String prioridade) {
+ public void adicionarCompromisso(@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)
+ throws ParseException {
- // Pega data corrente.
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
- AppointmentPage ap = super.newAppointment(sdf.format(cal.getTime()));
+ // Se a data inicial nao for informada, pega data corrente.
+ if ("".equals(dataInicial)) {
+ dataInicial = sdf2.format(cal.getTime());
+ }
+
+ // Se a data final nao for informada, pega data corrente.
+ if ("".equals(dataFinal)) {
+ dataFinal = sdf2.format(cal.getTime());
+ }
+
+ // Transforma a data inicial informada (dd/MM/yyyy) para (yyyyMMdd)
+ Date dtIni = sdf2.parse(dataInicial);
+
+ AppointmentPage ap = super.newAppointment(sdf.format(dtIni));
ap.setType(tipo);
ap.setTitle(titulo);
ap.setDescription(descricao);
ap.setLocation(local);
- ap.setStartDate(sdf2.format(cal.getTime()));
+ ap.setStartDate(dataInicial);
ap.setStartHour(horaInicial);
ap.setStartMinute(minutoInicial);
- ap.setEndDate(sdf2.format(cal.getTime()));
+ ap.setEndDate(dataFinal);
ap.setEndHour(horaFinal);
ap.setEndMinute(minutoFinal);
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoDiariaConflitoTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoDiariaConflitoTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoDiariaConflitoTestCase.java (revision 4917)
@@ -0,0 +1,82 @@
+package org.expressolivre.cte.calendar.adicionar;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+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-1055:Adicionar compromisso com repeticao diaria - conflito
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-1055
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Ago 8, 2011 at 2:38:08 PM
+ *
+ */
+public class AdicionarCompromissoComRepeticaoDiariaConflitoTestCase extends
+ BaseCalendarTestCase {
+
+ @Parameters({ "tipo", "titulo", "descricao", "local", "dataInicial",
+ "horaInicial", "minutoInicial", "horaFinal", "minutoFinal",
+ "prioridade", "dataFinal" })
+ @Test
+ public void adicionarCompromissoComRepeticaoDiariaConflito(
+ @Optional("Normal") String tipo, String titulo,
+ @Optional("") String descricao, @Optional("") String local,
+ @Optional("") String dataInicial, String horaInicial,
+ String minutoInicial, String horaFinal, String minutoFinal,
+ @Optional("Normal") String prioridade,
+ @Optional("") String dataFinal) throws ParseException {
+
+ Calendar cal = Calendar.getInstance();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
+
+ // Se a data inicial nao for informada, pega data corrente.
+ if ("".equals(dataInicial)) {
+ dataInicial = sdf2.format(cal.getTime());
+ }
+
+ // Coloca data inicial 1 dia antes da data corrente
+ cal.add(Calendar.DATE, -1);
+ dataInicial = sdf2.format(cal.getTime());
+
+ // Transforma a data inicial informada (dd/MM/yyyy) para (yyyyMMdd)
+ Date dtIni = sdf2.parse(dataInicial);
+ cal.setTime(dtIni);
+
+ // Adiciona 3 dias a data atual para recorrencia.
+ cal.add(Calendar.DATE, 3);
+ dataFinal = sdf2.format(cal.getTime());
+
+ AppointmentPage ap = super.newAppointment(sdf.format(dtIni));
+ ap.setType(tipo);
+ ap.setTitle(titulo);
+ ap.setDescription(descricao);
+ ap.setLocation(local);
+ ap.setStartDate(dataInicial);
+ ap.setStartHour(horaInicial);
+ ap.setStartMinute(minutoInicial);
+ ap.setEndDate(dataInicial);
+ ap.setEndHour(horaFinal);
+ ap.setEndMinute(minutoFinal);
+ ap.setPriority(prioridade);
+ ap.setRecurType("Diária");
+ ap.setRptUseEnd(dataFinal);
+
+ AppointmentConflictPage acp = ap.saveConflictAppointment();
+ acp.reeditConflict();
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoDiariaIgnorarConflitoTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoDiariaIgnorarConflitoTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoDiariaIgnorarConflitoTestCase.java (revision 4917)
@@ -0,0 +1,83 @@
+package org.expressolivre.cte.calendar.adicionar;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+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-1056:Adicionar compromisso com repeticao diaria - ignorar
+ * conflito
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-1056
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Ago 8, 2011 at 2:38:08 PM
+ *
+ */
+public class AdicionarCompromissoComRepeticaoDiariaIgnorarConflitoTestCase
+ extends BaseCalendarTestCase {
+
+ @Parameters({ "tipo", "titulo", "descricao", "local", "dataInicial",
+ "horaInicial", "minutoInicial", "horaFinal", "minutoFinal",
+ "prioridade", "dataFinal" })
+ @Test
+ public void adicionarCompromissoComRepeticaoDiariaIgnorarConflito(
+ @Optional("Normal") String tipo, String titulo,
+ @Optional("") String descricao, @Optional("") String local,
+ @Optional("") String dataInicial, String horaInicial,
+ String minutoInicial, String horaFinal, String minutoFinal,
+ @Optional("Normal") String prioridade,
+ @Optional("") String dataFinal) throws ParseException {
+
+ Calendar cal = Calendar.getInstance();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
+
+ // Se a data inicial nao for informada, pega data corrente.
+ if ("".equals(dataInicial)) {
+ dataInicial = sdf2.format(cal.getTime());
+ }
+
+ // Coloca data inicial 1 dia antes da data corrente
+ cal.add(Calendar.DATE, -1);
+ dataInicial = sdf2.format(cal.getTime());
+
+ // Transforma a data inicial informada (dd/MM/yyyy) para (yyyyMMdd)
+ Date dtIni = sdf2.parse(dataInicial);
+ cal.setTime(dtIni);
+
+ // Adiciona 3 dias a data atual para recorrencia.
+ cal.add(Calendar.DATE, 3);
+ dataFinal = sdf2.format(cal.getTime());
+
+ AppointmentPage ap = super.newAppointment(sdf.format(dtIni));
+ ap.setType(tipo);
+ ap.setTitle(titulo);
+ ap.setDescription(descricao);
+ ap.setLocation(local);
+ ap.setStartDate(dataInicial);
+ ap.setStartHour(horaInicial);
+ ap.setStartMinute(minutoInicial);
+ ap.setEndDate(dataInicial);
+ ap.setEndHour(horaFinal);
+ ap.setEndMinute(minutoFinal);
+ ap.setPriority(prioridade);
+ ap.setRecurType("Diária");
+ ap.setRptUseEnd(dataFinal);
+
+ AppointmentConflictPage acp = ap.saveConflictAppointment();
+ acp.ignoreConflict();
+ }
+}
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 4902)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoDiariaTestCase.java (revision 4917)
@@ -3,4 +3,5 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
@@ -34,12 +35,24 @@
@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 {
+ @Optional("") String dataInicial, String horaInicial,
+ String minutoInicial, String horaFinal, String minutoFinal,
+ @Optional("Normal") String prioridade,
+ @Optional("") String dataFinal) throws ParseException {
+ Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
+
+ // Se a data inicial nao for informada, pega data corrente.
+ if ("".equals(dataInicial)) {
+ dataInicial = sdf2.format(cal.getTime());
+ }
+ // Transforma a data inicial informada (dd/MM/yyyy) para (yyyyMMdd)
Date dtIni = sdf2.parse(dataInicial);
+ cal.setTime(dtIni);
+
+ // Adiciona 3 dias a data atual para recorrencia.
+ cal.add(Calendar.DATE, 3);
+ dataFinal = sdf2.format(cal.getTime());
AppointmentPage ap = super.newAppointment(sdf.format(dtIni));
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoMensalPorDataTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoMensalPorDataTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoMensalPorDataTestCase.java (revision 4917)
@@ -0,0 +1,86 @@
+package org.expressolivre.cte.calendar.adicionar;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentPage;
+import org.expressolivre.cte.pages.calendar.CalendarTodayViewPage;
+import org.testng.annotations.Optional;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.2] Adicionar Compromisso
+ *
+ * Caso de Teste: EL-944:Adicionar compromisso com repeticao mensal por data
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-944
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Ago 8, 2011 at 3:39:08 PM
+ *
+ */
+public class AdicionarCompromissoComRepeticaoMensalPorDataTestCase extends
+ BaseCalendarTestCase {
+
+ @Parameters({ "tipo", "titulo", "descricao", "local", "dataInicial",
+ "horaInicial", "minutoInicial", "horaFinal", "minutoFinal",
+ "prioridade", "dataFinal" })
+ @Test
+ public void adicionarCompromissoComRepeticaoMensalPorData(
+ @Optional("Normal") String tipo, String titulo,
+ @Optional("") String descricao, @Optional("") String local,
+ @Optional("") String dataInicial, String horaInicial,
+ String minutoInicial, String horaFinal, String minutoFinal,
+ @Optional("Normal") String prioridade,
+ @Optional("") String dataFinal) throws ParseException {
+
+ Calendar cal = Calendar.getInstance();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
+
+ // Se a data inicial nao for informada, pega data corrente.
+ if ("".equals(dataInicial)) {
+ dataInicial = sdf2.format(cal.getTime());
+ }
+ // Transforma a data inicial informada (dd/MM/yyyy) para (yyyyMMdd)
+ Date dtIni = sdf2.parse(dataInicial);
+ cal.setTime(dtIni);
+
+ // Adiciona 3 meses a data atual para recorrencia.
+ cal.add(Calendar.MONTH, 3);
+ dataFinal = sdf2.format(cal.getTime());
+
+ AppointmentPage ap = super.newAppointment(sdf.format(dtIni));
+ ap.setType(tipo);
+ ap.setTitle(titulo);
+ ap.setDescription(descricao);
+ ap.setLocation(local);
+ ap.setStartDate(dataInicial);
+ ap.setStartHour(horaInicial);
+ ap.setStartMinute(minutoInicial);
+ ap.setEndDate(dataInicial);
+ ap.setEndHour(horaFinal);
+ ap.setEndMinute(minutoFinal);
+ ap.setPriority(prioridade);
+ ap.setRecurType("mensalmente (por data)");
+ ap.setRptUseEnd(dataFinal);
+
+ ap.saveAppointment();
+
+ // Verificar se foram gerados 4 compromissos (o de hoje e dos proximos 3
+ // meses).
+ for (int i = 0; i < 4; i++) {
+ CalendarTodayViewPage ctvp = super.openTodayView(sdf.format(cal
+ .getTime()));
+ ctvp.isTextPresent(titulo);
+ cal.add(Calendar.MONTH, -1);
+ }
+
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoAnualTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoAnualTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoAnualTestCase.java (revision 4917)
@@ -0,0 +1,86 @@
+package org.expressolivre.cte.calendar.adicionar;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentPage;
+import org.expressolivre.cte.pages.calendar.CalendarTodayViewPage;
+import org.testng.annotations.Optional;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.2] Adicionar Compromisso
+ *
+ * Caso de Teste: EL-946:Adicionar compromisso com repeticao anual
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-946
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Ago 8, 2011 at 4:39:08 PM
+ *
+ */
+public class AdicionarCompromissoComRepeticaoAnualTestCase extends
+ BaseCalendarTestCase {
+
+ @Parameters({ "tipo", "titulo", "descricao", "local", "dataInicial",
+ "horaInicial", "minutoInicial", "horaFinal", "minutoFinal",
+ "prioridade", "dataFinal" })
+ @Test
+ public void adicionarCompromissoComRepeticaoAnual(
+ @Optional("Normal") String tipo, String titulo,
+ @Optional("") String descricao, @Optional("") String local,
+ @Optional("") String dataInicial, String horaInicial,
+ String minutoInicial, String horaFinal, String minutoFinal,
+ @Optional("Normal") String prioridade,
+ @Optional("") String dataFinal) throws ParseException {
+
+ Calendar cal = Calendar.getInstance();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
+
+ // Se a data inicial nao for informada, pega data corrente.
+ if ("".equals(dataInicial)) {
+ dataInicial = sdf2.format(cal.getTime());
+ }
+ // Transforma a data inicial informada (dd/MM/yyyy) para (yyyyMMdd)
+ Date dtIni = sdf2.parse(dataInicial);
+ cal.setTime(dtIni);
+
+ // Adiciona 3 anos a data atual para recorrencia.
+ cal.add(Calendar.YEAR, 3);
+ dataFinal = sdf2.format(cal.getTime());
+
+ AppointmentPage ap = super.newAppointment(sdf.format(dtIni));
+ ap.setType(tipo);
+ ap.setTitle(titulo);
+ ap.setDescription(descricao);
+ ap.setLocation(local);
+ ap.setStartDate(dataInicial);
+ ap.setStartHour(horaInicial);
+ ap.setStartMinute(minutoInicial);
+ ap.setEndDate(dataInicial);
+ ap.setEndHour(horaFinal);
+ ap.setEndMinute(minutoFinal);
+ ap.setPriority(prioridade);
+ ap.setRecurType("Anualmente");
+ ap.setRptUseEnd(dataFinal);
+
+ ap.saveAppointment();
+
+ // Verificar se foram gerados 4 compromissos (o de hoje e dos proximos 3
+ // anos).
+ for (int i = 0; i < 4; i++) {
+ CalendarTodayViewPage ctvp = super.openTodayView(sdf.format(cal
+ .getTime()));
+ ctvp.isTextPresent(titulo);
+ cal.add(Calendar.YEAR, -1);
+ }
+
+ }
+}
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 4902)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoComRepeticaoSemanalTestCase.java (revision 4917)
@@ -4,4 +4,5 @@
import java.text.SimpleDateFormat;
import java.util.Arrays;
+import java.util.Calendar;
import java.util.Date;
@@ -35,12 +36,24 @@
@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 {
+ @Optional("") String dataInicial, String horaInicial,
+ String minutoInicial, String horaFinal, String minutoFinal,
+ @Optional("Normal") String prioridade,
+ @Optional("") String dataFinal, String dias) throws ParseException {
+ Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
+
+ // Se a data inicial nao for informada, pega data corrente.
+ if ("".equals(dataInicial)) {
+ dataInicial = sdf2.format(cal.getTime());
+ }
+ // Transforma a data inicial informada (dd/MM/yyyy) para (yyyyMMdd)
Date dtIni = sdf2.parse(dataInicial);
+ cal.setTime(dtIni);
+
+ // Adiciona 3 meses a data atual para recorrencia.
+ cal.add(Calendar.MONTH, 3);
+ dataFinal = sdf2.format(cal.getTime());
AppointmentPage ap = super.newAppointment(sdf.format(dtIni));
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoSemParticipantesTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoSemParticipantesTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/adicionar/AdicionarCompromissoSemParticipantesTestCase.java (revision 4917)
@@ -0,0 +1,79 @@
+package org.expressolivre.cte.calendar.adicionar;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentPage;
+import org.testng.Assert;
+import org.testng.annotations.Optional;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Suite:[FUN03.2] Adicionar Compromisso
+ *
+ * Caso de Teste: EL-1267:Adicionar compromisso sem participantes
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-1267
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Ago 8, 2011 at 2:54:08 PM
+ *
+ */
+public class AdicionarCompromissoSemParticipantesTestCase extends
+ BaseCalendarTestCase {
+
+ @Parameters({ "tipo", "titulo", "descricao", "local", "dataInicial",
+ "horaInicial", "minutoInicial", "dataFinal", "horaFinal",
+ "minutoFinal", "prioridade" })
+ @Test
+ public void adicionarCompromissoSemParticipantes(
+ @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) throws ParseException {
+
+ Calendar cal = Calendar.getInstance();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
+
+ // Se a data inicial nao for informada, pega data corrente.
+ if ("".equals(dataInicial)) {
+ dataInicial = sdf2.format(cal.getTime());
+ }
+
+ // Se a data final nao for informada, pega data corrente.
+ if ("".equals(dataFinal)) {
+ dataFinal = sdf2.format(cal.getTime());
+ }
+
+ // Transforma a data inicial informada (dd/MM/yyyy) para (yyyyMMdd)
+ Date dtIni = sdf2.parse(dataInicial);
+
+ AppointmentPage ap = super.newAppointment(sdf.format(dtIni));
+ ap.setType(tipo);
+ ap.setTitle(titulo);
+ ap.setDescription(descricao);
+ ap.setLocation(local);
+ ap.setStartDate(dataInicial);
+ ap.setStartHour(horaInicial);
+ ap.setStartMinute(minutoInicial);
+ ap.setEndDate(dataFinal);
+ ap.setEndHour(horaFinal);
+ ap.setEndMinute(minutoFinal);
+ ap.setPriority(prioridade);
+ ap.setIncludeUser(false);
+ ap.saveAppointment();
+
+ Assert.assertEquals(ap.getFormStatus(),
+ "Você não informou os participantes.");
+
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/EditarCompromissoTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/EditarCompromissoTestCase.java (revision 4902)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/EditarCompromissoTestCase.java (revision 4917)
@@ -1,10 +1,8 @@
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.AppointmentEditPage;
+import org.expressolivre.cte.pages.calendar.AppointmentSearchResultPage;
import org.expressolivre.cte.pages.calendar.AppointmentViewPage;
-import org.expressolivre.cte.pages.calendar.CalendarTodayViewPage;
import org.testng.Assert;
import org.testng.annotations.Optional;
@@ -27,5 +25,5 @@
@Parameters({ "tipo", "titulo", "descricao", "local", "horaInicial",
"horaFinal", "prioridade", "novoTitulo", "novaDescricao",
- "novoLocal", "novaHoraInicial", "novoMinutoInicial",
+ "novoLocal", "novaData", "novaHoraInicial", "novoMinutoInicial",
"novaHoraFinal", "novoMinutoFinal" })
@Test
@@ -34,16 +32,27 @@
@Optional("") String local, String horaInicial, String horaFinal,
@Optional("Normal") String prioridade, String novoTitulo,
- String novaDescricao, String novoLocal, String novaHoraInicial,
+ String novaDescricao, String novoLocal,
+ @Optional("") String novaData, String novaHoraInicial,
String novoMinutoInicial, String novaHoraFinal,
String novoMinutoFinal) {
- CalendarTodayViewPage ctvp = super.openTodayView();
- String id = ctvp.getAppointmentId(titulo);
- Calendar cal = Calendar.getInstance();
- SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
- String today = sdf.format(cal.getTime());
+ // Procura o compromisso.
+ cp.setSearchText(titulo);
+ AppointmentSearchResultPage asrp = cp.searchAppointment();
+ Assert.assertEquals(asrp.getResultsNumber(), "1 ocorrência encontrada.");
+ // Vai para a pagina de visualizacao do compromisso.
+ AppointmentViewPage avp = asrp.viewAppointment(1);
- AppointmentViewPage avp = cp.openAppointmentViewPage(id);
- Assert.assertEquals(avp.getTitle(), titulo);
+ AppointmentEditPage aep = avp.editAppointment();
+ aep.setTitle(novoTitulo);
+ aep.setDescription(novaDescricao);
+ aep.setLocation(novoLocal);
+ aep.setStartDate(novaData);
+ aep.setStartHour(novaHoraInicial);
+ aep.setStartMinute(novoMinutoInicial);
+ aep.setEndDate(novaData);
+ aep.setEndHour(novaHoraFinal);
+ aep.setEndMinute(novoMinutoFinal);
+ aep.saveAppointment();
}
}
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 4895)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/RemoverCompromissoComRepeticaoTestCase.java (revision 4917)
@@ -22,7 +22,10 @@
BaseCalendarTestCase {
+ /**
+ * @param titulo
+ */
@Parameters({ "titulo" })
@Test
- public void removerCompromissoComRepeticao(String titulo) {
+ public void removerCompromissoComRepeticaoDataCorrente(String titulo) {
CalendarTodayViewPage ctvp = super.openTodayView();
String id = ctvp.getAppointmentId(titulo);
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/ExibirCompromissoComRepeticaoTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/ExibirCompromissoComRepeticaoTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/ExibirCompromissoComRepeticaoTestCase.java (revision 4917)
@@ -0,0 +1,44 @@
+package org.expressolivre.cte.calendar.visualizar;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentViewPage;
+import org.expressolivre.cte.pages.calendar.CalendarTodayViewPage;
+import org.testng.Assert;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Caso de Teste: EL-965:Exibir compromisso com repeticao
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-965
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Ago 11, 2011 at 3:00:43 PM
+ *
+ */
+public class ExibirCompromissoComRepeticaoTestCase extends BaseCalendarTestCase {
+
+ /**
+ * Exibe um compromisso da data corrente.
+ *
+ * @param tipo
+ * @param titulo
+ * @param inicio
+ * @param fim
+ * @param prioridade
+ */
+ @Parameters({ "tipo", "titulo", "inicio", "fim", "prioridade" })
+ @Test
+ public void exibirCompromissoComRepeticao(String tipo, String titulo,
+ String inicio, String fim, String prioridade) {
+ CalendarTodayViewPage ctvp = super.openTodayView();
+ String id = ctvp.getAppointmentId(titulo);
+ String[] ids = id.split("rc");
+
+ AppointmentViewPage avp = cp.openAppointmentViewPage(
+ ids[0].substring(1), ids[1].substring(0, ids[1].length() - 1));
+ Assert.assertEquals(avp.getTitle(), titulo);
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/RemoverCompromissoTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/RemoverCompromissoTestCase.java (revision 4890)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/RemoverCompromissoTestCase.java (revision 4917)
@@ -21,13 +21,23 @@
public class RemoverCompromissoTestCase extends BaseCalendarTestCase {
+ /**
+ * Remove o compromisso da data corrente.
+ *
+ * @param titulo
+ * Titulo do compromisso a ser removido.
+ */
@Parameters({ "titulo" })
@Test
- public void removerCompromisso(String titulo) {
+ public void removerCompromissoDataCorrente(String titulo) {
+ // Abre a visao diaria e procura pelo compromisso.
CalendarTodayViewPage ctvp = super.openTodayView();
String id = ctvp.getAppointmentId(titulo);
+ // Abre a pagina do compromisso.
AppointmentViewPage avp = cp.openAppointmentViewPage(id);
+ // Verifica o titulo.
Assert.assertEquals(avp.getTitle(), titulo);
+ // Aciona o botao remover.
avp.removeAppointment();
}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/ExibirCompromissoTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/ExibirCompromissoTestCase.java (revision 4902)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/ExibirCompromissoTestCase.java (revision 4917)
@@ -24,8 +24,17 @@
public class ExibirCompromissoTestCase extends BaseCalendarTestCase {
+ /**
+ * Exibe um compromisso da data corrente.
+ *
+ * @param tipo
+ * @param titulo
+ * @param inicio
+ * @param fim
+ * @param prioridade
+ */
@Parameters({ "tipo", "titulo", "inicio", "fim", "prioridade" })
@Test
- public void exibirCompromisso(String tipo, String titulo, String inicio,
- String fim, String prioridade) {
+ public void exibirCompromissoDataCorrente(String tipo, String titulo,
+ String inicio, String fim, String prioridade) {
CalendarTodayViewPage ctvp = super.openTodayView();
String id = ctvp.getAppointmentId(titulo);
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/EditarCompromissoRecorrenteTodasOcorrenciasTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/EditarCompromissoRecorrenteTodasOcorrenciasTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/EditarCompromissoRecorrenteTodasOcorrenciasTestCase.java (revision 4917)
@@ -0,0 +1,56 @@
+package org.expressolivre.cte.calendar.visualizar;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentEditPage;
+import org.expressolivre.cte.pages.calendar.AppointmentSearchResultPage;
+import org.expressolivre.cte.pages.calendar.AppointmentViewPage;
+import org.testng.Assert;
+import org.testng.annotations.Optional;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Caso de Teste: EL-968:Editar todos ocorrências do compromisso com repetição
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-968
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Ago 11, 2011 at 4:45:43 PM
+ *
+ */
+public class EditarCompromissoRecorrenteTodasOcorrenciasTestCase extends
+ BaseCalendarTestCase {
+
+ @Parameters({ "tipo", "titulo", "descricao", "local", "horaInicial",
+ "horaFinal", "prioridade", "novoTitulo", "novaDescricao",
+ "novoLocal", "novaData", "novaHoraInicial", "novoMinutoInicial",
+ "novaHoraFinal", "novoMinutoFinal" })
+ @Test
+ public void editarCompromissoRecorrenteTodasOcorrencias(
+ @Optional("Normal") String tipo, String titulo,
+ @Optional("") String descricao, @Optional("") String local,
+ String horaInicial, String horaFinal,
+ @Optional("Normal") String prioridade, String novoTitulo,
+ String novaDescricao, String novoLocal,
+ @Optional("") String novaData, String novaHoraInicial,
+ String novoMinutoInicial, String novaHoraFinal,
+ String novoMinutoFinal) {
+
+ // Procura o compromisso.
+ cp.setSearchText(titulo);
+ AppointmentSearchResultPage asrp = cp.searchAppointment();
+ Assert.assertEquals(asrp.getResultsNumber(), "1 ocorrência encontrada.");
+ // Vai para a pagina de visualizacao do compromisso.
+ AppointmentViewPage avp = asrp.viewAppointment(1);
+
+ AppointmentEditPage aep = avp.editAppointmentSeries();
+ aep.setLocation(novoLocal);
+ aep.setStartHour(novaHoraInicial);
+ aep.setStartMinute(novoMinutoInicial);
+ aep.setEndHour(novaHoraFinal);
+ aep.setEndMinute(novoMinutoFinal);
+ aep.saveAppointment();
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/EditarCompromissoRecorrente1OcorrenciaTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/EditarCompromissoRecorrente1OcorrenciaTestCase.java (revision 4917)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/visualizar/EditarCompromissoRecorrente1OcorrenciaTestCase.java (revision 4917)
@@ -0,0 +1,56 @@
+package org.expressolivre.cte.calendar.visualizar;
+
+import org.expressolivre.cte.common.BaseCalendarTestCase;
+import org.expressolivre.cte.pages.calendar.AppointmentEditPage;
+import org.expressolivre.cte.pages.calendar.AppointmentSearchResultPage;
+import org.expressolivre.cte.pages.calendar.AppointmentViewPage;
+import org.testng.Assert;
+import org.testng.annotations.Optional;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * Caso de Teste: EL-967:Editar 1 ocorrência do compromisso com repetição
+ *
+ * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item=
+ * testcase&id=EL-967
+ *
+ * @author L.F.Estivalet (Serpro)
+ *
+ * Created on Ago 11, 2011 at 3:15:43 PM
+ *
+ */
+public class EditarCompromissoRecorrente1OcorrenciaTestCase extends
+ BaseCalendarTestCase {
+
+ @Parameters({ "tipo", "titulo", "descricao", "local", "horaInicial",
+ "horaFinal", "prioridade", "novoTitulo", "novaDescricao",
+ "novoLocal", "novaData", "novaHoraInicial", "novoMinutoInicial",
+ "novaHoraFinal", "novoMinutoFinal" })
+ @Test
+ public void editarCompromissoRecorrenteUmaOcorrencia(
+ @Optional("Normal") String tipo, String titulo,
+ @Optional("") String descricao, @Optional("") String local,
+ String horaInicial, String horaFinal,
+ @Optional("Normal") String prioridade, String novoTitulo,
+ String novaDescricao, String novoLocal,
+ @Optional("") String novaData, String novaHoraInicial,
+ String novoMinutoInicial, String novaHoraFinal,
+ String novoMinutoFinal) {
+
+ // Procura o compromisso.
+ cp.setSearchText(titulo);
+ AppointmentSearchResultPage asrp = cp.searchAppointment();
+ Assert.assertEquals(asrp.getResultsNumber(), "1 ocorrência encontrada.");
+ // Vai para a pagina de visualizacao do compromisso.
+ AppointmentViewPage avp = asrp.viewAppointment(1);
+
+ AppointmentEditPage aep = avp.editAppointment();
+ aep.setLocation(novoLocal);
+ aep.setStartHour(novaHoraInicial);
+ aep.setStartMinute(novoMinutoInicial);
+ aep.setEndHour(novaHoraFinal);
+ aep.setEndMinute(novoMinutoFinal);
+ aep.saveAppointment();
+ }
+}
Index: /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoPeloTituloEApagarTestCase.java
===================================================================
--- /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoPeloTituloEApagarTestCase.java (revision 4902)
+++ /devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/calendar/pesquisar/PesquisarCompromissoPeloTituloEApagarTestCase.java (revision 4917)
@@ -1,3 +1,6 @@
package org.expressolivre.cte.calendar.pesquisar;
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
import org.expressolivre.cte.common.BaseCalendarTestCase;
@@ -28,13 +31,16 @@
* Titulo a ser pesquisado.
*/
- @Parameters({ "titulo", "descricao", "local", "data", "horaInicio",
- "horaFim" })
+ @Parameters({ "titulo", "descricao", "local", "horaInicio", "horaFim" })
@Test
public void pesquisarCompromissoPeloTituloEApagar(String titulo,
- String descricao, String local, String data, String horaInicio,
- String horaFim) {
+ String descricao, String local, String horaInicio, String horaFim) {
cp.setSearchText(titulo);
AppointmentSearchResultPage asrp = cp.searchAppointment();
Assert.assertEquals(asrp.getResultsNumber(), "1 ocorrência encontrada.");
+
+ Calendar cal = Calendar.getInstance();
+ SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
+ String data = sdf2.format(cal.getTime());
+
Assert.assertEquals(asrp.getAppointmentSchedule(1), data + " - "
+ horaInicio);
@@ -43,5 +49,25 @@
Assert.assertEquals(asrp.getAppointmentDescription(1), fullDescription);
- AppointmentViewPage avp = asrp.editAppointment(1);
+ AppointmentViewPage avp = asrp.viewAppointment(1);
+ avp.removeAppointment();
+ }
+
+ @Parameters({ "titulo", "descricao", "local", "data", "horaInicio",
+ "horaFim" })
+ @Test
+ public void pesquisarCompromissoPeloTituloEDataApagar(String titulo,
+ String descricao, String local, String data, String horaInicio,
+ String horaFim) {
+ cp.setSearchText(titulo);
+ AppointmentSearchResultPage asrp = cp.searchAppointment();
+ Assert.assertEquals(asrp.getResultsNumber(), "1 ocorrência encontrada.");
+
+ Assert.assertEquals(asrp.getAppointmentSchedule(1), data + " - "
+ + horaInicio);
+ String fullDescription = horaInicio + "-" + horaFim + " (A)\n" + titulo
+ + "\n" + descricao + "\nLocal: " + local;
+ Assert.assertEquals(asrp.getAppointmentDescription(1), fullDescription);
+
+ AppointmentViewPage avp = asrp.viewAppointment(1);
avp.removeAppointment();
}
Index: /devel/testlink/automation2.0/[FUN03.3] - PesquisarCompromisso.xml
===================================================================
--- /devel/testlink/automation2.0/[FUN03.3] - PesquisarCompromisso.xml (revision 4902)
+++ /devel/testlink/automation2.0/[FUN03.3] - PesquisarCompromisso.xml (revision 4917)
@@ -49,9 +49,12 @@
-
-
+
+
+
+
+
Index: /devel/testlink/automation2.0/[FUN03.2] - AdicionarCompromisso.xml
===================================================================
--- /devel/testlink/automation2.0/[FUN03.2] - AdicionarCompromisso.xml (revision 4902)
+++ /devel/testlink/automation2.0/[FUN03.2] - AdicionarCompromisso.xml (revision 4917)
@@ -1,5 +1,5 @@
-
+
@@ -64,4 +64,5 @@
+
@@ -189,10 +190,8 @@
-
-
@@ -249,14 +248,11 @@
-
-
-
@@ -270,3 +266,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /devel/testlink/automation2.0/[FUN03.6] - VisualizarCompromisso.xml
===================================================================
--- /devel/testlink/automation2.0/[FUN03.6] - VisualizarCompromisso.xml (revision 4902)
+++ /devel/testlink/automation2.0/[FUN03.6] - VisualizarCompromisso.xml (revision 4917)
@@ -3,12 +3,14 @@
-
+
-
-
+
+
-
@@ -32,8 +33,8 @@
-
-
+
+
-
+
@@ -41,5 +42,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -->
+
+
Index: /devel/testlink/automation2.0/[FUN03.8] - PreferenciaAgenda.xml
===================================================================
--- /devel/testlink/automation2.0/[FUN03.8] - PreferenciaAgenda.xml (revision 4917)
+++ /devel/testlink/automation2.0/[FUN03.8] - PreferenciaAgenda.xml (revision 4917)
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+