diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java index 7db6fdf26f238bbef356cf08b5814d1bcd6426e9..2e6566fc92a2fc92740aedcb3dcfbd21e8afe828 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java @@ -17,6 +17,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.menu; import com.extjs.gxt.ui.client.widget.LayoutContainer; +import com.extjs.gxt.ui.client.widget.button.Button; import com.extjs.gxt.ui.client.widget.layout.FlowLayout; import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem; import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem; @@ -131,7 +132,9 @@ public class TopMenu extends LayoutContainer if (viewContext.getModel().getApplicationInfo().getWebClientConfiguration() .getEnableTrash()) { - toolBar.add(new TrashButton(viewContext, componentProvider)); + Button trash = new TrashButton(viewContext, componentProvider); + trash.setId("trash-button"); + toolBar.add(trash); } toolBar.add(new AdministrationMenu(viewContext, componentProvider)); toolBar.add(new LoggedUserMenu(viewContext, componentProvider)); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/deletion/DeletionGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/deletion/DeletionGrid.java index cdc5603a698c78ecbf697fe01e8c77f2c3bd133a..0e6c4479dfa8d337952bff7c06c1388e63937f70 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/deletion/DeletionGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/deletion/DeletionGrid.java @@ -98,6 +98,7 @@ public class DeletionGrid extends TypedTableGrid<Deletion> EmptyTrashButton emptyTrashButtonMenu = new EmptyTrashButton(viewContext, createRefreshCallback(asActionInvoker())); + emptyTrashButtonMenu.setId("empty-trash-button"); addButton(emptyTrashButtonMenu); final Button deletePermanentlyButton = diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/deletion/EmptyTrashConfirmationDialog.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/deletion/EmptyTrashConfirmationDialog.java index a338d950bfc7b0d5963fb1b1ecdf7c2289bea677..3b05eed321f485c77e52168de404e95559f61523 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/deletion/EmptyTrashConfirmationDialog.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/deletion/EmptyTrashConfirmationDialog.java @@ -51,6 +51,7 @@ public final class EmptyTrashConfirmationDialog extends this.viewContext = viewContext; this.callback = callback; this.forceOptions = new DeletionForceOptions(viewContext); + this.setId("deletion-confirmation-dialog"); } @Override diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/deletion/PermanentDeletionConfirmationDialog.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/deletion/PermanentDeletionConfirmationDialog.java index ad5641200167b4831c79ac0214c7d1f356a1ed3b..d153b0bf2719bd822f92054e9e6373a29c4990af 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/deletion/PermanentDeletionConfirmationDialog.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/deletion/PermanentDeletionConfirmationDialog.java @@ -51,6 +51,7 @@ public final class PermanentDeletionConfirmationDialog extends this.viewContext = viewContext; this.callback = callback; this.forceOptions = new DeletionForceOptions(viewContext); + this.setId("deletion-confirmation-dialog"); } public PermanentDeletionConfirmationDialog(IViewContext<ICommonClientServiceAsync> viewContext, diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/entity_type/AbstractEntityTypeGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/entity_type/AbstractEntityTypeGrid.java index 118386b2a814d7130cdd506e1bdfc59d2d6a4226..42de1ad77c2b79276f88afd03479471920299276 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/entity_type/AbstractEntityTypeGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/entity_type/AbstractEntityTypeGrid.java @@ -110,10 +110,10 @@ abstract public class AbstractEntityTypeGrid<T extends EntityType> extends Typed } }); - editButton.setId("edit-entity-type"); + editButton.setId("edit-entity-type-" + this.getClass().getName()); addButton(editButton); Button deleteButton = createDeleteButton(viewContext); - deleteButton.setId("delete-entity-type"); + deleteButton.setId("delete-entity-type-" + this.getClass().getName()); enableButtonOnSelectedItems(deleteButton); addButton(deleteButton); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentBrowserGrid.java index 9faac3ad7ca5e455f907dffbeac5a7cec9408e29..d30b72cce0ff19ac88bdb79fb3940c5667191451 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentBrowserGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentBrowserGrid.java @@ -88,6 +88,8 @@ public class ExperimentBrowserGrid extends AbstractEntityGrid<Experiment> public static final String SHOW_DETAILS_BUTTON_ID = BROWSER_ID + "_show-details-button"; + public static final String DELETE_BUTTON_ID = BROWSER_ID + "_delete-button"; + /** * Creates a grid without additional toolbar buttons. It can serve as a entity chooser. */ @@ -251,6 +253,7 @@ public class ExperimentBrowserGrid extends AbstractEntityGrid<Experiment> } }); changeButtonTitleOnSelectedItems(deleteButton, deleteAllTitle, deleteTitle); + deleteButton.setId(DELETE_BUTTON_ID); addButton(deleteButton); if (viewContext.getModel().getApplicationInfo().isArchivingConfigured() diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentListDeletionConfirmationDialog.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentListDeletionConfirmationDialog.java index 1b8b279f2b5f091f07c028b2a88bc91f57cdca4d..7566e95a820a47b903b04f990af6ae868e0c9501 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentListDeletionConfirmationDialog.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentListDeletionConfirmationDialog.java @@ -50,6 +50,7 @@ public final class ExperimentListDeletionConfirmationDialog extends this.withRadio(); this.singleDataOrNull = null; this.selectedAndDisplayedItemsOrNull = selectedAndDisplayedItems; + this.setId("deletion-confirmation-dialog"); } public ExperimentListDeletionConfirmationDialog( @@ -59,6 +60,7 @@ public final class ExperimentListDeletionConfirmationDialog extends super(viewContext, Collections.singletonList(experiment), deletionCallback); this.singleDataOrNull = experiment; this.selectedAndDisplayedItemsOrNull = null; + this.setId("deletion-confirmation-dialog"); } @SuppressWarnings("unchecked") diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/project/ProjectListDeletionConfirmationDialog.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/project/ProjectListDeletionConfirmationDialog.java index 2e938d178e013ece43dec0c958ac91db4028f3ae..21cf6102367691710f80550c6bb7bd760d902be6 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/project/ProjectListDeletionConfirmationDialog.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/project/ProjectListDeletionConfirmationDialog.java @@ -42,6 +42,7 @@ public final class ProjectListDeletionConfirmationDialog extends { super(viewContext, data, callback); this.viewContext = viewContext; + this.setId("deletion-confirmation-dialog"); } public ProjectListDeletionConfirmationDialog( diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/ManualTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/ManualTest.java index 37eec512a32e43c9655b4e814c0c3707f59018e4..ba95ee25defd5e2335dd295e70e03144daad2695 100644 --- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/ManualTest.java +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/ManualTest.java @@ -41,12 +41,16 @@ import ch.systemsx.cisd.openbis.uitest.type.Vocabulary; public class ManualTest extends SeleniumTest { - @Test(enabled = false) + @Test public void basic() { // 0) Cleanup + experimentBrowser().space("sprint-test").deleteAll(); + trash().empty(); + projectBrowser().deleteIfExists("Code", "p1"); spaceBrowser().deleteIfExists("Code", "sprint-test"); sampleTypeBrowser().deleteIfExists("Code", "sprint_test"); + experimentTypeBrowser().deleteIfExists("Code", "sprint_test"); propertyTypeBrowser().deleteIfExists("Code", "sprint-test.text"); propertyTypeBrowser().deleteIfExists("Code", "sprint-test.real"); propertyTypeBrowser().deleteIfExists("Code", "sprint-test.animal"); diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/SampleTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/SampleTest.java index 579cac00e38e362c3d450ee53981e6b2784255f9..11e8e23555178a299dd84b3a3fac36e177914cce 100644 --- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/SampleTest.java +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/SampleTest.java @@ -38,7 +38,7 @@ public class SampleTest extends SeleniumTest { Sample sample = create(aSample()); - assertThat(sampleBrowser().allSpaces(), lists(sample)); + assertThat(sampleBrowser(), lists(sample)); } @Test diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/ApplicationRunner.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/ApplicationRunner.java index 69ff48b72fe2cb8d3389f4dc03dc835135d1bc23..d651b8232b6b2460b53e2f3f97d6a949a2cd2e09 100644 --- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/ApplicationRunner.java +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/ApplicationRunner.java @@ -25,6 +25,7 @@ import ch.systemsx.cisd.openbis.uitest.page.dialog.AddVocabularyDialog; import ch.systemsx.cisd.openbis.uitest.page.dialog.EditSampleTypeDialog; import ch.systemsx.cisd.openbis.uitest.page.tab.AddPropertyType; import ch.systemsx.cisd.openbis.uitest.page.tab.AssignSamplePropertyType; +import ch.systemsx.cisd.openbis.uitest.page.tab.ExperimentBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.ExperimentTypeBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.ProjectBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.PropertyTypeAssignmentBrowser; @@ -36,6 +37,7 @@ import ch.systemsx.cisd.openbis.uitest.page.tab.RoleAssignmentBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.SampleBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.SampleTypeBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.SpaceBrowser; +import ch.systemsx.cisd.openbis.uitest.page.tab.Trash; import ch.systemsx.cisd.openbis.uitest.page.tab.VocabularyBrowser; import ch.systemsx.cisd.openbis.uitest.type.Experiment; import ch.systemsx.cisd.openbis.uitest.type.ExperimentType; @@ -169,6 +171,11 @@ public class ApplicationRunner return getMenus().admin().types().experimentTypes(); } + public Trash browseToTrash() + { + return getMenus().trash(); + } + public AddSampleTypeDialog browseToAddSampleTypeDialog() { return browseToSampleTypeBrowser().add(); @@ -199,6 +206,11 @@ public class ApplicationRunner return getMenus().browse().samples(); } + public ExperimentBrowser browseToExperimentBrowser() + { + return getMenus().browse().experiments(); + } + public RoleAssignmentBrowser browseToRoleAssignmentBrowser() { return getMenus().admin().authorization().roles(); diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/SeleniumTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/SeleniumTest.java index 699b0be769ee12df244500abb2360e65e9cb686e..2e5c4da1142780baf85fd673f3bdde35f83539da 100644 --- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/SeleniumTest.java +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/SeleniumTest.java @@ -42,6 +42,7 @@ import ch.systemsx.cisd.openbis.uitest.infra.matcher.SampleBrowserSampleTypeDrop import ch.systemsx.cisd.openbis.uitest.page.BrowserPage; import ch.systemsx.cisd.openbis.uitest.page.Cell; import ch.systemsx.cisd.openbis.uitest.page.Page; +import ch.systemsx.cisd.openbis.uitest.page.tab.ExperimentBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.ExperimentTypeBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.ProjectBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.PropertyTypeAssignmentBrowser; @@ -50,6 +51,7 @@ import ch.systemsx.cisd.openbis.uitest.page.tab.RegisterSample; import ch.systemsx.cisd.openbis.uitest.page.tab.SampleBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.SampleTypeBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.SpaceBrowser; +import ch.systemsx.cisd.openbis.uitest.page.tab.Trash; import ch.systemsx.cisd.openbis.uitest.page.tab.VocabularyBrowser; import ch.systemsx.cisd.openbis.uitest.type.Builder; import ch.systemsx.cisd.openbis.uitest.type.ExperimentBuilder; @@ -181,6 +183,16 @@ public abstract class SeleniumTest return openbis.browseToSampleBrowser(); } + protected ExperimentBrowser experimentBrowser() + { + return openbis.browseToExperimentBrowser(); + } + + protected Trash trash() + { + return openbis.browseToTrash(); + } + protected SampleTypeBrowser sampleTypeBrowser() { return openbis.browseToSampleTypeBrowser(); diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/BrowserPage.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/BrowserPage.java index 1350e81e7ff5c3e8950fbb774eab4fbbf3bd1c52..be1becfe5313fb750d8cab570df1c97ae5f30c32 100644 --- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/BrowserPage.java +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/BrowserPage.java @@ -22,6 +22,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebElement; @@ -92,7 +93,8 @@ public abstract class BrowserPage extends NavigationPage Cell cell = row.get(column); if (cell != null && cell.getText().equalsIgnoreCase(value)) { - cell.getElement().click(); + cell.getElement().findElement(By.xpath("./..")).click(); + waitForClickability(getDeleteButton()); getDeleteButton().click(); for (WebElement ellu : this.findElements(cell.getElement(), diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/NavigationPage.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/NavigationPage.java index 59a6a410bb81556c20965758d3dc6c1d2dcac9bf..549a04d7d7dd684929091532bbced1906b72c3dc 100644 --- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/NavigationPage.java +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/NavigationPage.java @@ -25,6 +25,7 @@ import ch.systemsx.cisd.openbis.uitest.page.menu.AdminMenu; import ch.systemsx.cisd.openbis.uitest.page.menu.BrowseMenu; import ch.systemsx.cisd.openbis.uitest.page.menu.NewMenu; import ch.systemsx.cisd.openbis.uitest.page.menu.UserMenu; +import ch.systemsx.cisd.openbis.uitest.page.tab.Trash; /** * @author anttil @@ -43,6 +44,9 @@ public abstract class NavigationPage extends Page @FindBy(id = "new_menu") private WebElement newMenuButton; + @FindBy(id = "trash-button") + private WebElement trash; + @FindBy(className = "x-tab-strip-close") private List<WebElement> tabCloseButtons; @@ -64,6 +68,12 @@ public abstract class NavigationPage extends Page return get(BrowseMenu.class); } + public Trash trash() + { + trash.click(); + return get(Trash.class); + } + public NewMenu newMenu() { newMenuButton.click(); diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/Page.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/Page.java index 5cd5b005422cdf0f28d2d6cfe62d3bb28f77b143..19d1894aba5b6609475bb1ddeabf1a42f702012e 100644 --- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/Page.java +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/Page.java @@ -33,6 +33,8 @@ import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.ui.ExpectedCondition; import org.openqa.selenium.support.ui.WebDriverWait; +import com.google.common.base.Function; + import ch.systemsx.cisd.openbis.uitest.infra.PageProxy; import ch.systemsx.cisd.openbis.uitest.infra.ScreenShotProxy; import ch.systemsx.cisd.openbis.uitest.infra.ScreenShotter; @@ -110,6 +112,26 @@ public abstract class Page new WebDriverWait(SeleniumTest.driver, 10).until(condition); } + public void waitForClickability(final WebElement element) + { + + new WebDriverWait(SeleniumTest.driver, 10).until(new Function<WebDriver, Object>() + { + @Override + public Object apply(WebDriver arg0) + { + if (element.isDisplayed() && element.isEnabled()) + { + return true; + } else + { + return null; + } + } + + }); + } + protected void select(Collection<? extends WebElement> choices, String text) { Collection<String> found = new HashSet<String>(); diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/BrowseMenu.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/BrowseMenu.java index adbd1af9d04920f263a85e11fca4e69c359a91de..1dd63820d038541e4cd3bf9556ca70da19ecaac1 100644 --- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/BrowseMenu.java +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/BrowseMenu.java @@ -20,6 +20,7 @@ import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import ch.systemsx.cisd.openbis.uitest.page.Page; +import ch.systemsx.cisd.openbis.uitest.page.tab.ExperimentBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.ProjectBrowser; import ch.systemsx.cisd.openbis.uitest.page.tab.SampleBrowser; @@ -32,6 +33,9 @@ public class BrowseMenu extends Page @FindBy(id = "openbis_top-menu_PROJECT_MENU_BROWSE") private WebElement projects; + @FindBy(id = "openbis_top-menu_EXPERIMENT_MENU_BROWSE") + private WebElement experiments; + public SampleBrowser samples() { samples.click(); @@ -44,4 +48,9 @@ public class BrowseMenu extends Page return get(ProjectBrowser.class); } + public ExperimentBrowser experiments() + { + experiments.click(); + return get(ExperimentBrowser.class); + } } diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/ExperimentBrowser.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/ExperimentBrowser.java new file mode 100644 index 0000000000000000000000000000000000000000..a7d06f77ec3f4e8b158fbb2f8d85a213d9979cc1 --- /dev/null +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/ExperimentBrowser.java @@ -0,0 +1,89 @@ +/* + * Copyright 2012 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.openbis.uitest.page.tab; + +import java.util.ArrayList; +import java.util.List; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.FindBys; + +import ch.systemsx.cisd.openbis.uitest.page.BrowserPage; + +public class ExperimentBrowser extends BrowserPage +{ + + @FindBys( + { + @FindBy(id = "openbis_select-project"), + @FindBy(xpath = "..//span[not(*) and @class='gwt-InlineHTML']") }) + private List<WebElement> spacesAndProjects; + + @FindBy(id = "openbis_experiment-browser_delete-button") + private WebElement deleteAllButton; + + public ExperimentBrowser space(String spaceCode) + { + for (WebElement element : spacesAndProjects) + { + if (spaceCode.equalsIgnoreCase(element.getText())) + { + element.click(); + } + } + return this; + } + + public void deleteAll() + { + this.deleteAllButton.click(); + for (WebElement ellu : this.findElements(deleteAllButton, + "//*[@id='deletion-confirmation-dialog']//textarea")) + { + ellu.sendKeys("reason for deletion"); + } + + List<WebElement> e = new ArrayList<WebElement>(this.findElements(deleteAllButton, + "//*[@id='deletion-confirmation-dialog']//button[text()='OK' or text()='Yes']")); + if (e.size() > 0) + { + e.get(0).click(); + } + } + + @Override + protected WebElement getDeleteButton() + { + // TODO Auto-generated method stub + return null; + } + + @Override + protected List<WebElement> getColumns() + { + // TODO Auto-generated method stub + return null; + } + + @Override + protected List<WebElement> getData() + { + // TODO Auto-generated method stub + return null; + } +} diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/ExperimentTypeBrowser.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/ExperimentTypeBrowser.java index c03cb25f2484a97aae39c70d028c0ab7f6839bdc..86c07652ece5daa6ac3b60acf5a73f58120fe2d8 100644 --- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/ExperimentTypeBrowser.java +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/ExperimentTypeBrowser.java @@ -31,10 +31,10 @@ public class ExperimentTypeBrowser extends BrowserPage @FindBy(id = "add-entity-type-ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ExperimentTypeGrid") private WebElement addButton; - @FindBy(id = "edit-entity-type") + @FindBy(id = "edit-entity-type-ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ExperimentTypeGrid") private WebElement editButton; - @FindBy(id = "delete-entity-type") + @FindBy(id = "delete-entity-type-ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ExperimentTypeGrid") private WebElement deleteButton; @FindBys( diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/SampleTypeBrowser.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/SampleTypeBrowser.java index 87f5ab96dc241bf4b9d757968c72052b8be6b00a..aaf1c864f1995142df8adeaaa8a0e729f50815d3 100644 --- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/SampleTypeBrowser.java +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/SampleTypeBrowser.java @@ -32,10 +32,10 @@ public class SampleTypeBrowser extends BrowserPage @FindBy(id = "add-entity-type-ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample.SampleTypeGrid") private WebElement addSampleTypeButton; - @FindBy(id = "edit-entity-type") + @FindBy(id = "edit-entity-type-ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample.SampleTypeGrid") private WebElement editSampleTypeButton; - @FindBy(id = "delete-entity-type") + @FindBy(id = "delete-entity-type-ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample.SampleTypeGrid") private WebElement deleteSampleTypeButton; @FindBys( diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/Trash.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/Trash.java new file mode 100644 index 0000000000000000000000000000000000000000..870e11cc4ef083cd8bed85000107c445a69e74dc --- /dev/null +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/Trash.java @@ -0,0 +1,45 @@ +/* + * Copyright 2012 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.openbis.uitest.page.tab; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; + +import ch.systemsx.cisd.openbis.uitest.page.NavigationPage; + +public class Trash extends NavigationPage +{ + + @FindBy(id = "empty-trash-button") + private WebElement empty; + + public Trash empty() + { + this.empty.click(); + findElement(this.empty, + "//*[@id='deletion-confirmation-dialog']//button[text()='OK' or text()='Yes']") + .click(); + + return get(Trash.class); + } + + @Override + public String toString() + { + return "Trash"; + } +}