diff --git a/tests/features/api/api_group.feature b/tests/features/api/api_group.feature index a09eb526c..fa5e56af9 100644 --- a/tests/features/api/api_group.feature +++ b/tests/features/api/api_group.feature @@ -61,10 +61,25 @@ Feature: Group API And the group "" is created Examples: - | user | group_name | - | functionaladminpriv | research-api-test-group | - | technicaladmin | datamanager-api-test-group | - | technicaladmin | testGroupie | + | user | group_name | + | functionaladminpriv | research-api-test-group | + | functionaladminpriv | research-api-test1-group | + + + Scenario Outline: Datamanager group creation + Given user is authenticated + And the group "" does not exist + And the user creates a new datamanager group "" + Then the response status code is "200" + And the group "" is created + # api-test is for creating a datamanager group with functionaladminpriv. + # api-test1 is for making sure that can still create a datamanager + # group with technical admin. + + Examples: + | user | group_name | + | functionaladminpriv | datamanager-api-test | + | technicaladmin | datamanager-api-test1 | Scenario Outline: Group update @@ -75,10 +90,10 @@ Feature: Group API And the update to group "" is persisted Examples: - | user | group_name | - | functionaladminpriv | research-api-test-group | - | technicaladmin | datamanager-api-test-group | - | technicaladmin | testGroupie | + | user | group_name | + | functionaladminpriv | research-api-test-group | + | functionaladminpriv | datamanager-api-test | + | technicaladmin | datamanager-api-test1 | Scenario Outline: Adding user to group @@ -89,10 +104,10 @@ Feature: Group API And user "sterlingarcher" is now a member of the group "" Examples: - | user | group_name | - | functionaladminpriv | research-api-test-group | - | technicaladmin | datamanager-api-test-group | - | technicaladmin | testGroupie | + | user | group_name | + | functionaladminpriv | research-api-test-group | + | functionaladminpriv | datamanager-api-test | + | technicaladmin | datamanager-api-test1 | Scenario Outline: Group user update role @@ -103,10 +118,10 @@ Feature: Group API And the role of user "sterlingarcher" in group "" is updated Examples: - | user | group_name | - | functionaladminpriv | research-api-test-group | - | technicaladmin | datamanager-api-test-group | - | technicaladmin | testGroupie | + | user | group_name | + | functionaladminpriv | research-api-test-group | + | functionaladminpriv | datamanager-api-test | + | technicaladmin | datamanager-api-test1 | Scenario Outline: Remove user from group @@ -117,10 +132,10 @@ Feature: Group API And user "sterlingarcher" is no longer a member of the group "" Examples: - | user | group_name | - | functionaladminpriv | research-api-test-group | - | technicaladmin | datamanager-api-test-group | - | technicaladmin | testGroupie | + | user | group_name | + | functionaladminpriv | research-api-test-group | + | functionaladminpriv | datamanager-api-test | + | technicaladmin | datamanager-api-test1 | Scenario Outline: Group import CSV @@ -142,8 +157,9 @@ Feature: Group API And the group "" no longer exists Examples: - | user | group_name | - | functionaladminpriv | research-api-test-group | - | technicaladmin | datamanager-api-test-group | - | technicaladmin | testGroupie | - | technicaladmin | research-csvtestgroup | + | user | group_name | + | functionaladminpriv | research-api-test-group | + | functionaladminpriv | datamanager-api-test | + | functionaladminpriv | research-api-test1-group | + | technicaladmin | datamanager-api-test1 | + | technicaladmin | research-csvtestgroup | diff --git a/tests/features/ui/ui_group.feature b/tests/features/ui/ui_group.feature index 9222b94c6..0350f0092 100644 --- a/tests/features/ui/ui_group.feature +++ b/tests/features/ui/ui_group.feature @@ -94,7 +94,7 @@ Feature: Group UI Scenario Outline: Group research create with default schema id - Given user functionaladminpriv is logged in + Given user is logged in And module "group_manager" is shown When user opens add group dialog And groupname is set to @@ -106,8 +106,10 @@ Feature: Group UI And check whether research group properties , , and for user functionaladminpriv Examples: - | category | subcategory | group | expiration_date | - | test-automation | test-automation | ui-test-group | 2030-12-25 | + | user | category | subcategory | group | expiration_date | + | functionaladminpriv | test-automation | test-automation | ui-test-group | 2030-12-25 | + | functionaladminpriv | test-datamanager | test-datamanager | test-datamanager | 2030-12-25 | + | technicaladmin | test-datamanager1 | test-datamanager1 | test-datamanager1 | 2030-12-25 | Scenario Outline: Create new research group starting from same (sub)category of active group at that moment @@ -141,7 +143,7 @@ Feature: Group UI Scenario Outline: Group datamanager create - Given user technicaladmin is logged in + Given user is logged in And module "group_manager" is shown When user opens add group dialog And category is set to @@ -152,8 +154,9 @@ Feature: Group UI And check whether datamanager group properties and are correct Examples: - | category | subcategory | group | - | test-datamanager | test-datamanager | test-datamanager | + | user | category | subcategory | group | + | functionaladminpriv | test-datamanager | test-datamanager | test-datamanager | + | technicaladmin | test-datamanager1 | test-datamanager1 | test-datamanager1 | Scenario Outline: Group remove @@ -164,13 +167,16 @@ Feature: Group UI And user confirms group removal Examples: - | user | category | subcategory | group | - | functionaladminpriv | test-automation | test-automation | research-ui-test-group | - | functionaladminpriv | test-automation | csv-test | research-csv-test-group1 | - | functionaladminpriv | test-automation | csv-test | research-csv-test-group2 | - | functionaladminpriv | test-automation | csv-test | research-csv-test-group3 | - | functionaladminpriv | test-automation | csv-test | research-csv-test-group4 | - | technicaladmin | test-datamanager | test-datamanager | datamanager-test-datamanager | + | user | category | subcategory | group | + | functionaladminpriv | test-automation | test-automation | research-ui-test-group | + | functionaladminpriv | test-automation | csv-test | research-csv-test-group1 | + | functionaladminpriv | test-automation | csv-test | research-csv-test-group2 | + | functionaladminpriv | test-automation | csv-test | research-csv-test-group3 | + | functionaladminpriv | test-automation | csv-test | research-csv-test-group4 | + | functionaladminpriv | test-datamanager | test-datamanager | datamanager-test-datamanager | + | functionaladminpriv | test-datamanager | test-datamanager | research-test-datamanager | + | technicaladmin | test-datamanager1 | test-datamanager1 | datamanager-test-datamanager1 | + | technicaladmin | test-datamanager1 | test-datamanager1 | research-test-datamanager1 | Scenario Outline: Select group in tree view and check group properties are set and active in tree view diff --git a/tests/step_defs/api/test_api_group.py b/tests/step_defs/api/test_api_group.py index e0ae55f09..59693a44f 100644 --- a/tests/step_defs/api/test_api_group.py +++ b/tests/step_defs/api/test_api_group.py @@ -67,12 +67,13 @@ def api_group_does_not_exist(user, group_name): @given(parsers.parse('the user creates a new group "{group_name}"'), target_fixture="api_response") def api_group_create(user, group_name): + cat_and_subcat = "-".join(group_name.split("-")[1:-1]) return api_request( user, "group_create", {"group_name": group_name, - "category": "api-test", - "subcategory": "api-test", + "category": cat_and_subcat, + "subcategory": cat_and_subcat, "schema_id": "default-2", "expiration_date": "", "description": "", @@ -80,6 +81,22 @@ def api_group_create(user, group_name): ) +@given(parsers.parse('the user creates a new datamanager group "{group_name}"'), target_fixture="api_response") +def api_datamanager_group_create(user, group_name): + cat_and_subcat = group_name.split("-", 1)[1] + return api_request( + user, + "group_create", + {"group_name": group_name, + "category": cat_and_subcat, + "subcategory": cat_and_subcat, + "schema_id": "", + "expiration_date": "", + "description": "", + "data_classification": ""} + ) + + @given(parsers.parse('the group "{group_name}" exists')) def given_group_exists(user, group_name): _, body = api_request( diff --git a/tests/step_defs/ui/test_ui_group.py b/tests/step_defs/ui/test_ui_group.py index 93e8a14bb..2d85fa76e 100644 --- a/tests/step_defs/ui/test_ui_group.py +++ b/tests/step_defs/ui/test_ui_group.py @@ -444,39 +444,29 @@ def ui_group_schema_category_is_updated(browser, category): @when(parsers.parse("subcategory is set to {subcategory}")) def ui_group_schema_subcategory_is_set(browser, subcategory): - # Subcategory already exists. browser.find_by_css('#f-group-create-subcategory').find_by_xpath('..').find_by_css('span .select2-selection').click() time.sleep(1) + browser.find_by_css('.select2-search__field').fill(subcategory) + time.sleep(1) options = browser.find_by_css('#select2-f-group-create-subcategory-results') for option in options: - if option.text == subcategory: + if subcategory in option.text: option.click() return True - # Subcategory does not exist. - time.sleep(1) - browser.find_by_css('.select2-search__field').fill(subcategory) - time.sleep(1) - browser.find_by_css('.select2-results__option--highlighted').click() - @when(parsers.parse("subcategory is updated to {subcategory}")) def ui_group_schema_subcategory_is_updated(browser, subcategory): - # Subcategory already exists. browser.find_by_css('#f-group-update-subcategory').find_by_xpath('..').find_by_css('span .select2-selection').click() time.sleep(1) - options = browser.find_by_css('#select2-f-group-create-subcategory-results') + browser.find_by_css('.select2-search__field').fill(subcategory) + time.sleep(1) + options = browser.find_by_css('#select2-f-group-update-subcategory-results') for option in options: - if option.text == subcategory: + if subcategory in option.text: option.click() return True - # Subcategory does not exist. - time.sleep(1) - browser.find_by_css('.select2-search__field').fill(subcategory) - time.sleep(1) - browser.find_by_css('.select2-results__option--highlighted').click() - @when(parsers.parse("schema id is set to {schema_id}")) def ui_group_schema_set_schema_id(browser, schema_id):