From 598bdb7352a27d690004429fa3e70659dc5bd914 Mon Sep 17 00:00:00 2001 From: anttil <anttil> Date: Wed, 12 Sep 2012 05:57:55 +0000 Subject: [PATCH] SWE-2 / SP-263: Deletion of projects, spaces and experiment types. Emptying trash. SVN: 26600 --- .../web/client/application/menu/TopMenu.java | 5 +- .../application/ui/deletion/DeletionGrid.java | 1 + .../EmptyTrashConfirmationDialog.java | 1 + .../PermanentDeletionConfirmationDialog.java | 1 + .../entity_type/AbstractEntityTypeGrid.java | 4 +- .../ui/experiment/ExperimentBrowserGrid.java | 3 + ...erimentListDeletionConfirmationDialog.java | 2 + ...ProjectListDeletionConfirmationDialog.java | 1 + .../cisd/openbis/uitest/ManualTest.java | 6 +- .../cisd/openbis/uitest/SampleTest.java | 2 +- .../uitest/infra/ApplicationRunner.java | 12 +++ .../openbis/uitest/infra/SeleniumTest.java | 12 +++ .../cisd/openbis/uitest/page/BrowserPage.java | 4 +- .../openbis/uitest/page/NavigationPage.java | 10 +++ .../cisd/openbis/uitest/page/Page.java | 22 +++++ .../openbis/uitest/page/menu/BrowseMenu.java | 9 ++ .../uitest/page/tab/ExperimentBrowser.java | 89 +++++++++++++++++++ .../page/tab/ExperimentTypeBrowser.java | 4 +- .../uitest/page/tab/SampleTypeBrowser.java | 4 +- .../cisd/openbis/uitest/page/tab/Trash.java | 45 ++++++++++ 20 files changed, 227 insertions(+), 10 deletions(-) create mode 100644 ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/ExperimentBrowser.java create mode 100644 ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/tab/Trash.java 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 7db6fdf26f2..2e6566fc92a 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 cdc5603a698..0e6c4479dfa 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 a338d950bfc..3b05eed321f 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 ad564120016..d153b0bf271 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 118386b2a81..42de1ad77c2 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 9faac3ad7ca..d30b72cce0f 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 1b8b279f2b5..7566e95a820 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 2e938d178e0..21cf6102367 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 37eec512a32..ba95ee25def 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 579cac00e38..11e8e235551 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 69ff48b72fe..d651b8232b6 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 699b0be769e..2e5c4da1142 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 1350e81e7ff..be1becfe531 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 59a6a410bb8..549a04d7d7d 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 5cd5b005422..19d1894aba5 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 adbd1af9d04..1dd63820d03 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 00000000000..a7d06f77ec3 --- /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 c03cb25f248..86c07652ece 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 87f5ab96dc2..aaf1c864f19 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 00000000000..870e11cc4ef --- /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"; + } +} -- GitLab