From f7a867ac70a46610835987a7e3cc62a412699df1 Mon Sep 17 00:00:00 2001
From: anttil <anttil>
Date: Tue, 2 Oct 2012 07:25:15 +0000
Subject: [PATCH] SWE-2 / SP-314 : Admin menu handling streamlined

SVN: 26928
---
 .../application/GuiApplicationRunner.java     | 59 +++++++--------
 .../openbis/uitest/page/menu/AdminMenu.java   | 72 ++++++++++++++++++-
 .../uitest/page/menu/AuthorizationMenu.java   | 32 ---------
 .../uitest/page/menu/MetadataMenu.java        | 56 ---------------
 .../openbis/uitest/page/menu/TypesMenu.java   | 40 -----------
 .../openbis/uitest/suite/SeleniumTest.java    |  4 +-
 6 files changed, 95 insertions(+), 168 deletions(-)
 delete mode 100644 ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/AuthorizationMenu.java
 delete mode 100644 ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/MetadataMenu.java
 delete mode 100644 ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/TypesMenu.java

diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/application/GuiApplicationRunner.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/application/GuiApplicationRunner.java
index 4b683a14f97..fa473763211 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/application/GuiApplicationRunner.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/application/GuiApplicationRunner.java
@@ -26,12 +26,9 @@ import ch.systemsx.cisd.openbis.uitest.page.dialog.AddSpaceDialog;
 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.menu.AdminMenu;
-import ch.systemsx.cisd.openbis.uitest.page.menu.AuthorizationMenu;
 import ch.systemsx.cisd.openbis.uitest.page.menu.BrowseMenu;
-import ch.systemsx.cisd.openbis.uitest.page.menu.MetadataMenu;
 import ch.systemsx.cisd.openbis.uitest.page.menu.NewMenu;
 import ch.systemsx.cisd.openbis.uitest.page.menu.TopBar;
-import ch.systemsx.cisd.openbis.uitest.page.menu.TypesMenu;
 import ch.systemsx.cisd.openbis.uitest.page.menu.UserMenu;
 import ch.systemsx.cisd.openbis.uitest.page.tab.AddPropertyType;
 import ch.systemsx.cisd.openbis.uitest.page.tab.AssignSamplePropertyType;
@@ -253,6 +250,20 @@ public class GuiApplicationRunner implements ApplicationRunner
         return assignment;
     }
 
+    @Override
+    public DataSetType create(DataSetType type)
+    {
+        throw new UnsupportedOperationException(
+                "Data set type creation through GUI not implemented yet");
+    }
+
+    @Override
+    public DataSet create(DataSet dataSet)
+    {
+        throw new UnsupportedOperationException(
+                "Data set creation through GUI not implemented yet");
+    }
+
     @Override
     public void update(SampleType sampleType)
     {
@@ -360,31 +371,28 @@ public class GuiApplicationRunner implements ApplicationRunner
     public SampleTypeBrowser browseToSampleTypeBrowser()
     {
         getMenus().admin();
-        load(AdminMenu.class).types();
-        load(TypesMenu.class).sampleTypes();
+        load(AdminMenu.class).sampleTypes();
         return getBrowser(SampleTypeBrowser.class);
     }
 
     public ExperimentTypeBrowser browseToExperimentTypeBrowser()
     {
         getMenus().admin();
-        load(AdminMenu.class).types();
-        load(TypesMenu.class).experimentTypes();
+        load(AdminMenu.class).experimentTypes();
         return getBrowser(ExperimentTypeBrowser.class);
     }
 
     public DataSetTypeBrowser browseToDataSetTypeBrowser()
     {
         getMenus().admin();
-        load(AdminMenu.class).types();
-        load(TypesMenu.class).experimentTypes();
+        load(AdminMenu.class).dataSetTypes();
         return getBrowser(DataSetTypeBrowser.class);
     }
 
-    public Trash browseToTrash()
+    public void emptyTrash()
     {
         getMenus().trash();
-        return load(Trash.class);
+        load(Trash.class).empty();
     }
 
     public AddSampleTypeDialog browseToAddSampleTypeDialog()
@@ -437,8 +445,7 @@ public class GuiApplicationRunner implements ApplicationRunner
     public RoleAssignmentBrowser browseToRoleAssignmentBrowser()
     {
         getMenus().admin();
-        load(AdminMenu.class).authorization();
-        load(AuthorizationMenu.class).roles();
+        load(AdminMenu.class).roles();
         return getBrowser(RoleAssignmentBrowser.class);
     }
 
@@ -458,32 +465,28 @@ public class GuiApplicationRunner implements ApplicationRunner
     public PropertyTypeBrowser browseToPropertyTypeBrowser()
     {
         getMenus().admin();
-        load(AdminMenu.class).metadata();
-        load(MetadataMenu.class).propertyTypes();
+        load(AdminMenu.class).browsePropertyTypes();
         return getBrowser(PropertyTypeBrowser.class);
     }
 
     public AddPropertyType browseToAddPropertyType()
     {
         getMenus().admin();
-        load(AdminMenu.class).metadata();
-        load(MetadataMenu.class).newPropertyType();
+        load(AdminMenu.class).newPropertyType();
         return load(AddPropertyType.class);
     }
 
     public AssignSamplePropertyType browseToAssignSamplePropertyType()
     {
         getMenus().admin();
-        load(AdminMenu.class).metadata();
-        load(MetadataMenu.class).assignToSampleType();
+        load(AdminMenu.class).assignPropertyTypeToSampleType();
         return load(AssignSamplePropertyType.class);
     }
 
     public PropertyTypeAssignmentBrowser browseToPropertyTypeAssignmentBrowser()
     {
         getMenus().admin();
-        load(AdminMenu.class).metadata();
-        load(MetadataMenu.class).propertyTypeAssignments();
+        load(AdminMenu.class).browsePropertyTypeAssignments();
         return getBrowser(PropertyTypeAssignmentBrowser.class);
     }
 
@@ -524,18 +527,4 @@ public class GuiApplicationRunner implements ApplicationRunner
     {
         return proxy.get(clazz);
     }
-
-    @Override
-    public DataSetType create(DataSetType type)
-    {
-        throw new UnsupportedOperationException(
-                "Data set type creation through GUI not implemented yet");
-    }
-
-    @Override
-    public DataSet create(DataSet dataSet)
-    {
-        throw new UnsupportedOperationException(
-                "Data set creation through GUI not implemented yet");
-    }
 }
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/AdminMenu.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/AdminMenu.java
index 90c2a9eae4a..5bbc68ae55b 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/AdminMenu.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/AdminMenu.java
@@ -16,6 +16,7 @@
 
 package ch.systemsx.cisd.openbis.uitest.page.menu;
 
+import ch.systemsx.cisd.openbis.uitest.infra.webdriver.Lazy;
 import ch.systemsx.cisd.openbis.uitest.infra.webdriver.Locate;
 import ch.systemsx.cisd.openbis.uitest.widget.Link;
 
@@ -31,12 +32,44 @@ public class AdminMenu
     @Locate("ADMINISTRATION_MENU_MANAGE_TYPES")
     private Link types;
 
+    @Lazy
+    @Locate("openbis_top-menu_SAMPLE_MENU_TYPES")
+    private Link sampleTypes;
+
+    @Lazy
+    @Locate("openbis_top-menu_EXPERIMENT_MENU_TYPES")
+    private Link experimentTypes;
+
+    @Lazy
+    @Locate("openbis_top-menu_DATA_SET_MENU_TYPES")
+    private Link dataSetTypes;
+
     @Locate("ADMINISTRATION_MENU_MANAGE_PROPERTY_TYPES")
     private Link metadata;
 
+    @Lazy
+    @Locate("openbis_top-menu_PROPERTY_TYPES_MENU_BROWSE_PROPERTY_TYPES")
+    private Link browsePropertyTypes;
+
+    @Lazy
+    @Locate("openbis_top-menu_PROPERTY_TYPES_MENU_BROWSE_ASSIGNMENTS")
+    private Link browsePropertyTypeAssignments;
+
+    @Lazy
+    @Locate("openbis_top-menu_PROPERTY_TYPES_MENU_NEW_PROPERTY_TYPES")
+    private Link newPropertyType;
+
+    @Lazy
+    @Locate("openbis_top-menu_PROPERTY_TYPES_MENU_ASSIGN_TO_SAMPLE_TYPE")
+    private Link assignToSampleType;
+
     @Locate("ADMINISTRATION_MENU_MANAGE_AUTHORIZATION")
     private Link authorization;
 
+    @Lazy
+    @Locate("openbis_top-menu_AUTHORIZATION_MENU_ROLES")
+    private Link roles;
+
     public void spaces()
     {
         spaces.click();
@@ -47,18 +80,51 @@ public class AdminMenu
         vocabularies.click();
     }
 
-    public void types()
+    public void sampleTypes()
+    {
+        types.highlight();
+        sampleTypes.click();
+    }
+
+    public void experimentTypes()
+    {
+        types.highlight();
+        experimentTypes.click();
+    }
+
+    public void dataSetTypes()
     {
         types.highlight();
+        dataSetTypes.click();
+    }
+
+    public void browsePropertyTypes()
+    {
+        metadata.highlight();
+        browsePropertyTypes.click();
+    }
+
+    public void browsePropertyTypeAssignments()
+    {
+        metadata.highlight();
+        browsePropertyTypeAssignments.click();
+    }
+
+    public void newPropertyType()
+    {
+        metadata.highlight();
+        newPropertyType.click();
     }
 
-    public void metadata()
+    public void assignPropertyTypeToSampleType()
     {
         metadata.highlight();
+        assignToSampleType.click();
     }
 
-    public void authorization()
+    public void roles()
     {
         authorization.highlight();
+        roles.click();
     }
 }
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/AuthorizationMenu.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/AuthorizationMenu.java
deleted file mode 100644
index 082721ae940..00000000000
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/AuthorizationMenu.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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.menu;
-
-import ch.systemsx.cisd.openbis.uitest.infra.webdriver.Locate;
-import ch.systemsx.cisd.openbis.uitest.widget.Link;
-
-public class AuthorizationMenu
-{
-
-    @Locate("openbis_top-menu_AUTHORIZATION_MENU_ROLES")
-    private Link roles;
-
-    public void roles()
-    {
-        roles.click();
-    }
-}
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/MetadataMenu.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/MetadataMenu.java
deleted file mode 100644
index efd30c7ec44..00000000000
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/MetadataMenu.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.menu;
-
-import ch.systemsx.cisd.openbis.uitest.infra.webdriver.Locate;
-import ch.systemsx.cisd.openbis.uitest.widget.Link;
-
-public class MetadataMenu
-{
-
-    @Locate("openbis_top-menu_PROPERTY_TYPES_MENU_BROWSE_PROPERTY_TYPES")
-    private Link browsePropertyTypes;
-
-    @Locate("openbis_top-menu_PROPERTY_TYPES_MENU_BROWSE_ASSIGNMENTS")
-    private Link browsePropertyTypeAssignments;
-
-    @Locate("openbis_top-menu_PROPERTY_TYPES_MENU_NEW_PROPERTY_TYPES")
-    private Link newPropertyType;
-
-    @Locate("openbis_top-menu_PROPERTY_TYPES_MENU_ASSIGN_TO_SAMPLE_TYPE")
-    private Link assignToSampleType;
-
-    public void propertyTypes()
-    {
-        browsePropertyTypes.click();
-    }
-
-    public void propertyTypeAssignments()
-    {
-        browsePropertyTypeAssignments.click();
-    }
-
-    public void newPropertyType()
-    {
-        newPropertyType.click();
-    }
-
-    public void assignToSampleType()
-    {
-        assignToSampleType.click();
-    }
-}
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/TypesMenu.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/TypesMenu.java
deleted file mode 100644
index 7fe61606590..00000000000
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/page/menu/TypesMenu.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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.menu;
-
-import ch.systemsx.cisd.openbis.uitest.infra.webdriver.Locate;
-import ch.systemsx.cisd.openbis.uitest.widget.Link;
-
-public class TypesMenu
-{
-
-    @Locate("openbis_top-menu_SAMPLE_MENU_TYPES")
-    private Link sampleTypes;
-
-    @Locate("openbis_top-menu_EXPERIMENT_MENU_TYPES")
-    private Link experimentTypes;
-
-    public void sampleTypes()
-    {
-        sampleTypes.click();
-    }
-
-    public void experimentTypes()
-    {
-        experimentTypes.click();
-    }
-}
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/SeleniumTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/SeleniumTest.java
index 0f82114a6a3..e169579a487 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/SeleniumTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/SeleniumTest.java
@@ -243,10 +243,10 @@ public abstract class SeleniumTest
 
     protected void emptyTrash()
     {
-        openbis.browseToTrash().empty();
+        openbis.emptyTrash();
     }
 
-    protected RegisterSample sampleRegistrationPageFor(SampleType type)
+    public RegisterSample sampleRegistrationPageFor(SampleType type)
     {
         openbis.browseToRegisterSample().selectSampleType(type);
         return pageProxy.get(RegisterSample.class);
-- 
GitLab