diff --git a/features/deactivate_software.feature b/features/deactivate_software.feature new file mode 100644 index 0000000..e5167da --- /dev/null +++ b/features/deactivate_software.feature @@ -0,0 +1,60 @@ +Feature: deactivate software + As a administrator of a software + I want to be able to deactivate + So that, if needed, I can reactivate it without loosing it's data + + Background: + Given "MpogSoftwarePlugin" plugin is enabled + And I am logged in as admin + And I go to /admin/plugins + And I check "MpogSoftwarePlugin" + And I press "Save changes" + And SoftwareInfo has initial default values on database + + @selenium + Scenario: Deactivate a software + Given the following software language + | programing_language | version | operating_system | + | Python | 1.0 | Linux | + And the following software databases + | database_name | version | operating_system | + | PostgreSQL | 1.0 | Linux | + And the following softwares + | name | acronym | operating_platform | software_language | software_database | + | teste | ts | I dont know | Python | PostgreSQL | + And I go to /plugin/mpog_software/archive_software + And I should see "teste" + And I follow "Deactivate software" + And I confirm the "Do you want to deactivate this software?" dialog + And I go to /search/communities + And I fill in "search-input" with "teste" + And I press "Search" + Then I should not see "teste" within "search-profile-item" + + @selenium + Scenario: Activate a deactivated software + Given the following software language + | programing_language | version | operating_system | + | Python | 1.0 | Linux | + And the following software databases + | database_name | version | operating_system | + | PostgreSQL | 1.0 | Linux | + And the following softwares + | name | acronym | operating_platform | software_language | software_database | + | teste | ts | I dont know | Python | PostgreSQL | + And I go to /plugin/mpog_software/archive_software + And I should see "teste" + And I follow "Deactivate software" + And I confirm the "Do you want to deactivate this software?" dialog + And I go to /search/communities + And I fill in "search-input" with "teste" + And I press "Search" + And I should not see "Teste" within "search-profile-item" + And I go to /plugin/mpog_software/archive_software + And I should see "teste" + And I follow "Activate Software" + And I confirm the "Do you want to activate this software?" dialog + And I follow "Communities" + And I fill in "search-input" with "teste" + And I press "Search" + Then I should see "teste" within "search-profile-item" diff --git a/features/manage_software.feature b/features/manage_software.feature deleted file mode 100644 index 06a4544..0000000 --- a/features/manage_software.feature +++ /dev/null @@ -1,59 +0,0 @@ -Feature: - As a administrator of a software - I want to manage it - - Background: - Given "MpogSoftwarePlugin" plugin is enabled - And I am logged in as admin - And I go to /admin/plugins - And I check "MpogSoftwarePlugin" - And I press "Save changes" - And SoftwareInfo has initial default values on database - - @selenium - Scenario: Deactivate a software - Given the following software language - | programing_language | version | operating_system | - | Python | 1.0 | Linux | - And the following software databases - | database_name | version | operating_system | - | PostgreSQL | 1.0 | Linux | - And the following softwares - | name | acronym | operating_platform | software_language | software_database | - | teste | ts | I dont know | Python | PostgreSQL | - And I go to /plugin/mpog_software/archive_software - And I should see "teste" - And I follow "Deactivate software" - And I confirm the "Do you want to deactivate this software?" dialog - And I go to /search/communities - And I fill in "search-input" with "teste" - And I press "Search" - Then I should not see "teste" within "search-profile-item" - - @selenium - Scenario: Activate a deactivated software - Given the following software language - | programing_language | version | operating_system | - | Python | 1.0 | Linux | - And the following software databases - | database_name | version | operating_system | - | PostgreSQL | 1.0 | Linux | - And the following softwares - | name | acronym | operating_platform | software_language | software_database | - | teste | ts | I dont know | Python | PostgreSQL | - And I go to /plugin/mpog_software/archive_software - And I should see "teste" - And I follow "Deactivate software" - And I confirm the "Do you want to deactivate this software?" dialog - And I go to /search/communities - And I fill in "search-input" with "teste" - And I press "Search" - And I should not see "Teste" within "search-profile-item" - And I go to /plugin/mpog_software/archive_software - And I should see "teste" - And I follow "Activate Software" - And I confirm the "Do you want to activate this software?" dialog - And I follow "Communities" - And I fill in "search-input" with "teste" - And I press "Search" - Then I should see "teste" within "search-profile-item" diff --git a/features/software_info_validation.feature b/features/software_info_validation.feature deleted file mode 100644 index 2c51997..0000000 --- a/features/software_info_validation.feature +++ /dev/null @@ -1,435 +0,0 @@ -Feature: - As a user - I want to create a new software - - Background: - Given "MpogSoftwarePlugin" plugin is enabled - And SoftwareInfo has initial default values on database - And I am logged in as admin - And I go to /admin/plugins - And I check "MpogSoftwarePlugin" - And I press "Save changes" - - @selenium - Scenario: Do not show error message if all required fields are correctly filled - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I fill in "community_name" with "test name" - And I fill in "language__version" with "2.0.0" - And I fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I fill in "operating_system__version" with "3.0" - And I fill in "software_info_operating_platform" with "test operating platform" - And fill in "software_info_acronym" with "SFTW" - And I press "Create" - Then I should see "Manage my groups" - - Scenario: Show operating_platform errors if this field is blank - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And fill in "community_name" with "test" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And fill in "software_info_acronym" with "SFTW" - And I press "Create" - Then I should see "Operating platform can't be blank" - - Scenario: Do not show operating_platform errors if this field is not blank - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And fill in "software_info_operating_platform" with "test operating platform" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I press "Create" - Then I should not see "Operating platform can't be blank" - - @selenium - Scenario: Show software_langue errors if this Version is blank - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And fill in "community_name" with "test" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I press "Create" - Then I should see "Software languages is invalid" - - Scenario: Show acronym errors if this field is blank - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And fill in "community_name" with "test" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I press "Create" - Then I should see "Acronym can't be blank" - - @selenium - Scenario: Show database_fields errors version is blank - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And fill in "community_name" with "test" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__operating_system" with "GNU" - And I press "Create" - Then I should see "Software databases is invalid" - - Scenario: Show acronym errors if this field has more than 8 characters - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And fill in "community_name" with "test" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__operating_system" with "GNU" - And I fill in "database__version" with "3.0" - And I press "Create" - And fill in "software_info_acronym" with "123456789" - And I press "Create" - Then I should see "Acronym can't have more than 8 characteres" - - Scenario: Show operating system errors if this field is not filled - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I press "Create" - Then I should see "Operating system : at least one must be filled" - - @selenium - Scenario: Show operating system errors if this field is not filled - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I fill in "operating_system__version" with "3.0" - And I press "Create" - Then I should not see "Operating system : at least one must be filled" - - Scenario: Show library fields when click in New Library - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I follow "New Library" - Then I should see "Name" - Then I should see "Version" - Then I should see "License" - - @selenium - Scenario: Show SoftwareLangue fields when click in New Language - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I follow "New language" - Then I should see "3" of this selector ".software-language-table" - #3 because one is always hidden - - @selenium - Scenario: Show databasefields when click in New database - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I follow "New Database" - Then I should see "3" of this selector ".database-table" - #3 because one is always hidden - - @selenium - Scenario: Create software with libraries - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I follow "New Library" - And I fill in "community_name" with "test123" - And fill in "software_info_acronym" with "SFTW" - And I fill in "software_info_operating_platform" with "test platform" - And I fill in "library__name" with "test library name" - And I fill in "library__version" with "test library version" - And I fill in "library__license" with "test library license" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I fill in "operating_system__version" with "3.0" - And I press "Create" - And I go to /myprofile/test123/profile_editor/edit - And I should see "Libraries" - And selector ".library-table" should have any "test library name" - And selector ".library-table" should have any "test library version" - Then selector ".library-table" should have any "test library license" - - @selenium - Scenario: Delete software libraries - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I follow "New Library" - And I fill in "community_name" with "test123" - And fill in "software_info_acronym" with "SFTW" - And I fill in "software_info_operating_platform" with "test platform" - And I fill in "library__name" with "test name" - And I fill in "library__version" with "test version" - And I fill in "library__license" with "test license" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I fill in "operating_system__version" with "3.0" - And I press "Create" - And I go to /myprofile/test123/profile_editor/edit - And I should see "Libraries" - And selector ".library-table" should have any "test name" - And selector ".library-table" should have any "test version" - And selector ".library-table" should have any "test license" - And I follow "Delete" - And I press "Save" - And I go to /myprofile/test123/profile_editor/edit - And I should not see "test name" within "#library__name" - And I should not see "test version" within "#library__version" - Then I should not see "test license" within "#library__license" - - @selenium - Scenario: Crete software libraries on software edit - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I fill in "community_name" with "test123" - And fill in "software_info_acronym" with "SFTW" - And I fill in "software_info_operating_platform" with "test platform" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I fill in "operating_system__version" with "3.0" - And I press "Create" - And I go to /myprofile/test123/profile_editor/edit - And I follow "New Library" - And I fill in "library__name" with "test name" - And I fill in "library__version" with "test version" - And I fill in "library__license" with "test license" - And I press "Save" - And I go to /myprofile/test123/profile_editor/edit - And I should see "Libraries" - And selector ".library-table" should have any "test name" - And selector ".library-table" should have any "test version" - Then selector ".library-table" should have any "test license" - - @selenium - Scenario: Edit software libraries on software edit - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I follow "New Library" - And I fill in "community_name" with "test123" - And fill in "software_info_acronym" with "SFTW" - And I fill in "software_info_operating_platform" with "test platform" - And I fill in "library__name" with "test name" - And I fill in "library__version" with "test version" - And I fill in "library__license" with "test license" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I fill in "operating_system__version" with "3.0" - And I press "Create" - And I go to /myprofile/test123/profile_editor/edit - And I should see "Libraries" - And selector ".library-table" should have any "test name" - And selector ".library-table" should have any "test version" - And selector ".library-table" should have any "test license" - And I follow "New Library" - And I fill in "library__name" with "new name" - And I fill in "library__version" with "new version" - And I fill in "library__license" with "new license" - And I press "Save" - And I go to /myprofile/test123/profile_editor/edit - And selector ".library-table" should have any "new name" - And selector ".library-table" should have any "new version" - Then selector ".library-table" should have any "new license" - - @selenium - Scenario: change license field - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I fill in "community_name" with "test123" - And fill in "software_info_acronym" with "SFTW" - And I fill in "software_info_operating_platform" with "test platform" - And I select "GPL-2" from "license_info_version" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I fill in "operating_system__version" with "3.0" - And I press "Create" - And I go to /myprofile/test123/profile_editor/edit - And I select "GPL-3" from "version" - And I press "Save" - And I go to /myprofile/test123/profile_editor/edit - Then I should see "GPL-3" - - @selenium - Scenario: license link appears on the create software page - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I fill in "community_name" with "test123" - And I fill in "software_info_operating_platform" with "test platform" - And I select "GPL-2" from "license_info_version" - Then I should see "www.gpl2.com" within "#version_link" - - @selenium - Scenario: license link changes if the user choose a different license - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I fill in "community_name" with "test123" - And I fill in "software_info_operating_platform" with "test platform" - And I select "GPL-2" from "license_info_version" - And I should see "www.gpl2.com" within "#version_link" - And I select "GPL-3" from "license_info_version" - Then I should see "www.gpl3.com" within "#version_link" - - @selenium - Scenario: Crete software with Language - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I fill in "community_name" with "test123" - And fill in "software_info_acronym" with "SFTW" - And I fill in "software_info_operating_platform" with "test platform" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I fill in "operating_system__version" with "3.0" - And I press "Create" - And I go to /myprofile/test123/profile_editor/edit - And I should see "Programming Languages" - And selector ".software-language-table" should have any "2.0.0" - Then selector ".software-language-table" should have any "Linux" - - @selenium - Scenario: Edit softwareLanguage on profile editor - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I fill in "community_name" with "test123" - And fill in "software_info_acronym" with "SFTW" - And I fill in "software_info_operating_platform" with "test platform" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I fill in "operating_system__version" with "3.0" - And I press "Create" - And I go to /myprofile/test123/profile_editor/edit - And I should see "Programming Languages" - And selector ".software-language-table" should have any "2.0.0" - And selector ".software-language-table" should have any "Linux" - And I select "Python" from "language__programming_language_id" - And fill in "language__version" with "3.2" - And fill in "language__operating_system" with "GNU" - And I press "Save" - And I go to /myprofile/test123/profile_editor/edit - And selector ".software-language-table" should have any "Python" - And selector ".software-language-table" should have any "3.2" - Then selector ".software-language-table" should have any "GNU" - - @selenium - Scenario: Adding new softwareLanguage on profile editor - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I fill in "community_name" with "test123" - And fill in "software_info_acronym" with "SFTW" - And I fill in "software_info_operating_platform" with "test platform" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I fill in "operating_system__version" with "3.0" - And I press "Create" - And I go to /myprofile/test123/profile_editor/edit - And I should see "Programming Languages" - And selector ".software-language-table" should have any "2.0.0" - And selector ".software-language-table" should have any "Linux" - And I follow "New language" - And I click on the first button with class ".delete-dynamic-table" - And I click on table number "2" selector ".software-language-table" and select the value "Python" - And I fill with "4.3" in field with name "language[][version]" of table number "2" with class ".software-language-table" - And I fill with "Windows" in field with name "language[][operating_system]" of table number "2" with class ".software-language-table" - And I press "Save" - And I go to /myprofile/test123/profile_editor/edit - And selector ".software-language-table" should have any "Python" - And selector ".software-language-table" should have any "4.3" - Then selector ".software-language-table" should have any "Windows" - - @selenium - Scenario: Edit softwareDatabase on profile editor - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I fill in "community_name" with "test123" - And fill in "software_info_acronym" with "SFTW" - And I fill in "software_info_operating_platform" with "test platform" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.0" - And I fill in "database__operating_system" with "GNU" - And I fill in "operating_system__version" with "3.0" - And I press "Create" - And I go to /myprofile/test123/profile_editor/edit - And I should see "Databases" - And selector ".database-table" should have any "3.0" - And selector ".database-table" should have any "GNU" - And I select "PostgreSQL" from "database__database_description_id" - And fill in "database__version" with "3.2" - And fill in "database__operating_system" with "Linux" - And I press "Save" - And I go to /myprofile/test123/profile_editor/edit - And selector ".database-table" should have any "PostgreSQL" - And selector ".database-table" should have any "3.2" - Then selector ".database-table" should have any "Linux" - - @selenium - Scenario: Delete softwareDatabase on profile editor - Given I go to admin_user's control panel - And I follow "Manage my groups" - And I follow "Create a new software" - And I fill in "community_name" with "test123" - And fill in "software_info_acronym" with "SFTW" - And I fill in "software_info_operating_platform" with "test platform" - And fill in "language__version" with "2.0.0" - And fill in "language__operating_system" with "Linux" - And I fill in "database__version" with "3.5" - And I fill in "database__operating_system" with "Solaris" - And I fill in "operating_system__version" with "3.0" - And I press "Create" - And I go to /myprofile/test123/profile_editor/edit - And I should see "Databases" - And selector ".database-table" should have any "3.5" - And selector ".database-table" should have any "Solaris" - And I follow "New Database" - And I click on table number "2" selector ".database-table" and select the value "MariaDB" - And I fill with "4.3" in field with name "database[][version]" of table number "2" with class ".database-table" - And I fill with "Windows" in field with name "database[][operating_system]" of table number "2" with class ".database-table" - And I click on the first button with class ".database-table .delete-dynamic-table" - And I press "Save" - And I go to /myprofile/test123/profile_editor/edit - And selector ".database-table" should have any "MariaDB" - And selector ".database-table" should have any "4.3" - And selector ".database-table" should have any "Windows" - And I should not see "4th Dimension" - And I should not see "3.5" - And I should not see "Solaris" \ No newline at end of file diff --git a/features/software_registration.feature b/features/software_registration.feature new file mode 100644 index 0000000..2c17f80 --- /dev/null +++ b/features/software_registration.feature @@ -0,0 +1,436 @@ +Feature: software registration + As a user + I want to create a new software + So that I can have software communities on my network + + Background: + Given "MpogSoftwarePlugin" plugin is enabled + And SoftwareInfo has initial default values on database + And I am logged in as admin + And I go to /admin/plugins + And I check "MpogSoftwarePlugin" + And I press "Save changes" + + @selenium + Scenario: Do not show error message if all required fields are correctly filled + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I fill in "community_name" with "test name" + And I fill in "language__version" with "2.0.0" + And I fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I fill in "operating_system__version" with "3.0" + And I fill in "software_info_operating_platform" with "test operating platform" + And fill in "software_info_acronym" with "SFTW" + And I press "Create" + Then I should see "Manage my groups" + + Scenario: Show operating_platform errors if this field is blank + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And fill in "community_name" with "test" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And fill in "software_info_acronym" with "SFTW" + And I press "Create" + Then I should see "Operating platform can't be blank" + + Scenario: Do not show operating_platform errors if this field is not blank + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And fill in "software_info_operating_platform" with "test operating platform" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I press "Create" + Then I should not see "Operating platform can't be blank" + + @selenium + Scenario: Show software_langue errors if this Version is blank + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And fill in "community_name" with "test" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I press "Create" + Then I should see "Software languages is invalid" + + Scenario: Show acronym errors if this field is blank + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And fill in "community_name" with "test" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I press "Create" + Then I should see "Acronym can't be blank" + + @selenium + Scenario: Show database_fields errors version is blank + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And fill in "community_name" with "test" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__operating_system" with "GNU" + And I press "Create" + Then I should see "Software databases is invalid" + + Scenario: Show acronym errors if this field has more than 8 characters + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And fill in "community_name" with "test" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__operating_system" with "GNU" + And I fill in "database__version" with "3.0" + And I press "Create" + And fill in "software_info_acronym" with "123456789" + And I press "Create" + Then I should see "Acronym can't have more than 8 characteres" + + Scenario: Show operating system errors if this field is not filled + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I press "Create" + Then I should see "Operating system : at least one must be filled" + + @selenium + Scenario: Show operating system errors if this field is not filled + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I fill in "operating_system__version" with "3.0" + And I press "Create" + Then I should not see "Operating system : at least one must be filled" + + Scenario: Show library fields when click in New Library + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I follow "New Library" + Then I should see "Name" + Then I should see "Version" + Then I should see "License" + + @selenium + Scenario: Show SoftwareLangue fields when click in New Language + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I follow "New language" + Then I should see "3" of this selector ".software-language-table" + #3 because one is always hidden + + @selenium + Scenario: Show databasefields when click in New database + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I follow "New Database" + Then I should see "3" of this selector ".database-table" + #3 because one is always hidden + + @selenium + Scenario: Create software with libraries + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I follow "New Library" + And I fill in "community_name" with "test123" + And fill in "software_info_acronym" with "SFTW" + And I fill in "software_info_operating_platform" with "test platform" + And I fill in "library__name" with "test library name" + And I fill in "library__version" with "test library version" + And I fill in "library__license" with "test library license" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I fill in "operating_system__version" with "3.0" + And I press "Create" + And I go to /myprofile/test123/profile_editor/edit + And I should see "Libraries" + And selector ".library-table" should have any "test library name" + And selector ".library-table" should have any "test library version" + Then selector ".library-table" should have any "test library license" + + @selenium + Scenario: Delete software libraries + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I follow "New Library" + And I fill in "community_name" with "test123" + And fill in "software_info_acronym" with "SFTW" + And I fill in "software_info_operating_platform" with "test platform" + And I fill in "library__name" with "test name" + And I fill in "library__version" with "test version" + And I fill in "library__license" with "test license" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I fill in "operating_system__version" with "3.0" + And I press "Create" + And I go to /myprofile/test123/profile_editor/edit + And I should see "Libraries" + And selector ".library-table" should have any "test name" + And selector ".library-table" should have any "test version" + And selector ".library-table" should have any "test license" + And I follow "Delete" + And I press "Save" + And I go to /myprofile/test123/profile_editor/edit + And I should not see "test name" within "#library__name" + And I should not see "test version" within "#library__version" + Then I should not see "test license" within "#library__license" + + @selenium + Scenario: Crete software libraries on software edit + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I fill in "community_name" with "test123" + And fill in "software_info_acronym" with "SFTW" + And I fill in "software_info_operating_platform" with "test platform" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I fill in "operating_system__version" with "3.0" + And I press "Create" + And I go to /myprofile/test123/profile_editor/edit + And I follow "New Library" + And I fill in "library__name" with "test name" + And I fill in "library__version" with "test version" + And I fill in "library__license" with "test license" + And I press "Save" + And I go to /myprofile/test123/profile_editor/edit + And I should see "Libraries" + And selector ".library-table" should have any "test name" + And selector ".library-table" should have any "test version" + Then selector ".library-table" should have any "test license" + + @selenium + Scenario: Edit software libraries on software edit + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I follow "New Library" + And I fill in "community_name" with "test123" + And fill in "software_info_acronym" with "SFTW" + And I fill in "software_info_operating_platform" with "test platform" + And I fill in "library__name" with "test name" + And I fill in "library__version" with "test version" + And I fill in "library__license" with "test license" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I fill in "operating_system__version" with "3.0" + And I press "Create" + And I go to /myprofile/test123/profile_editor/edit + And I should see "Libraries" + And selector ".library-table" should have any "test name" + And selector ".library-table" should have any "test version" + And selector ".library-table" should have any "test license" + And I follow "New Library" + And I fill in "library__name" with "new name" + And I fill in "library__version" with "new version" + And I fill in "library__license" with "new license" + And I press "Save" + And I go to /myprofile/test123/profile_editor/edit + And selector ".library-table" should have any "new name" + And selector ".library-table" should have any "new version" + Then selector ".library-table" should have any "new license" + + @selenium + Scenario: change license field + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I fill in "community_name" with "test123" + And fill in "software_info_acronym" with "SFTW" + And I fill in "software_info_operating_platform" with "test platform" + And I select "GPL-2" from "license_info_version" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I fill in "operating_system__version" with "3.0" + And I press "Create" + And I go to /myprofile/test123/profile_editor/edit + And I select "GPL-3" from "version" + And I press "Save" + And I go to /myprofile/test123/profile_editor/edit + Then I should see "GPL-3" + + @selenium + Scenario: license link appears on the create software page + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I fill in "community_name" with "test123" + And I fill in "software_info_operating_platform" with "test platform" + And I select "GPL-2" from "license_info_version" + Then I should see "www.gpl2.com" within "#version_link" + + @selenium + Scenario: license link changes if the user choose a different license + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I fill in "community_name" with "test123" + And I fill in "software_info_operating_platform" with "test platform" + And I select "GPL-2" from "license_info_version" + And I should see "www.gpl2.com" within "#version_link" + And I select "GPL-3" from "license_info_version" + Then I should see "www.gpl3.com" within "#version_link" + + @selenium + Scenario: Crete software with Language + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I fill in "community_name" with "test123" + And fill in "software_info_acronym" with "SFTW" + And I fill in "software_info_operating_platform" with "test platform" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I fill in "operating_system__version" with "3.0" + And I press "Create" + And I go to /myprofile/test123/profile_editor/edit + And I should see "Programming Languages" + And selector ".software-language-table" should have any "2.0.0" + Then selector ".software-language-table" should have any "Linux" + + @selenium + Scenario: Edit softwareLanguage on profile editor + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I fill in "community_name" with "test123" + And fill in "software_info_acronym" with "SFTW" + And I fill in "software_info_operating_platform" with "test platform" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I fill in "operating_system__version" with "3.0" + And I press "Create" + And I go to /myprofile/test123/profile_editor/edit + And I should see "Programming Languages" + And selector ".software-language-table" should have any "2.0.0" + And selector ".software-language-table" should have any "Linux" + And I select "Python" from "language__programming_language_id" + And fill in "language__version" with "3.2" + And fill in "language__operating_system" with "GNU" + And I press "Save" + And I go to /myprofile/test123/profile_editor/edit + And selector ".software-language-table" should have any "Python" + And selector ".software-language-table" should have any "3.2" + Then selector ".software-language-table" should have any "GNU" + + @selenium + Scenario: Adding new softwareLanguage on profile editor + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I fill in "community_name" with "test123" + And fill in "software_info_acronym" with "SFTW" + And I fill in "software_info_operating_platform" with "test platform" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I fill in "operating_system__version" with "3.0" + And I press "Create" + And I go to /myprofile/test123/profile_editor/edit + And I should see "Programming Languages" + And selector ".software-language-table" should have any "2.0.0" + And selector ".software-language-table" should have any "Linux" + And I follow "New language" + And I click on the first button with class ".delete-dynamic-table" + And I click on table number "2" selector ".software-language-table" and select the value "Python" + And I fill with "4.3" in field with name "language[][version]" of table number "2" with class ".software-language-table" + And I fill with "Windows" in field with name "language[][operating_system]" of table number "2" with class ".software-language-table" + And I press "Save" + And I go to /myprofile/test123/profile_editor/edit + And selector ".software-language-table" should have any "Python" + And selector ".software-language-table" should have any "4.3" + Then selector ".software-language-table" should have any "Windows" + + @selenium + Scenario: Edit softwareDatabase on profile editor + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I fill in "community_name" with "test123" + And fill in "software_info_acronym" with "SFTW" + And I fill in "software_info_operating_platform" with "test platform" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.0" + And I fill in "database__operating_system" with "GNU" + And I fill in "operating_system__version" with "3.0" + And I press "Create" + And I go to /myprofile/test123/profile_editor/edit + And I should see "Databases" + And selector ".database-table" should have any "3.0" + And selector ".database-table" should have any "GNU" + And I select "PostgreSQL" from "database__database_description_id" + And fill in "database__version" with "3.2" + And fill in "database__operating_system" with "Linux" + And I press "Save" + And I go to /myprofile/test123/profile_editor/edit + And selector ".database-table" should have any "PostgreSQL" + And selector ".database-table" should have any "3.2" + Then selector ".database-table" should have any "Linux" + + @selenium + Scenario: Delete softwareDatabase on profile editor + Given I go to admin_user's control panel + And I follow "Manage my groups" + And I follow "Create a new software" + And I fill in "community_name" with "test123" + And fill in "software_info_acronym" with "SFTW" + And I fill in "software_info_operating_platform" with "test platform" + And fill in "language__version" with "2.0.0" + And fill in "language__operating_system" with "Linux" + And I fill in "database__version" with "3.5" + And I fill in "database__operating_system" with "Solaris" + And I fill in "operating_system__version" with "3.0" + And I press "Create" + And I go to /myprofile/test123/profile_editor/edit + And I should see "Databases" + And selector ".database-table" should have any "3.5" + And selector ".database-table" should have any "Solaris" + And I follow "New Database" + And I click on table number "2" selector ".database-table" and select the value "MariaDB" + And I fill with "4.3" in field with name "database[][version]" of table number "2" with class ".database-table" + And I fill with "Windows" in field with name "database[][operating_system]" of table number "2" with class ".database-table" + And I click on the first button with class ".database-table .delete-dynamic-table" + And I press "Save" + And I go to /myprofile/test123/profile_editor/edit + And selector ".database-table" should have any "MariaDB" + And selector ".database-table" should have any "4.3" + And selector ".database-table" should have any "Windows" + And I should not see "4th Dimension" + And I should not see "3.5" + And I should not see "Solaris" -- libgit2 0.21.2