Commit 79b3cf7a3c177b06abc5c374c195c308157f989e
Committed by
David Silva
1 parent
c6e3ca2a
Exists in
master
and in
5 other branches
Adapt software's license selenium tests to autocomplete tests
Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Showing
3 changed files
with
32 additions
and
16 deletions
Show diff stats
controllers/mpog_software_plugin_myprofile_controller.rb
... | ... | @@ -20,10 +20,10 @@ class MpogSoftwarePluginMyprofileController < MyProfileController |
20 | 20 | @community.environment = environment |
21 | 21 | @software_info = SoftwareInfo.new(params[:software_info]) |
22 | 22 | |
23 | - @license_info = if params[:license_info].nil? | |
23 | + @license_info = if params[:license].blank? or params[:license][:license_infos_id].blank? | |
24 | 24 | LicenseInfo.new |
25 | 25 | else |
26 | - LicenseInfo.find(params[:license_info][:id]) | |
26 | + LicenseInfo.find(params[:license][:license_infos_id]) | |
27 | 27 | end |
28 | 28 | |
29 | 29 | control_software_creation | ... | ... |
features/software_registration.feature
... | ... | @@ -14,6 +14,7 @@ Feature: edit public software information |
14 | 14 | And I follow "Create a new software" |
15 | 15 | And I fill in "community_name" with "basic software" |
16 | 16 | And I fill in "software_info_finality" with "basic software finality" |
17 | + And I type in "gp" in autocomplete list "#license_info_version" and I choose "GPL-2" | |
17 | 18 | And I press "Create" |
18 | 19 | |
19 | 20 | @selenium |
... | ... | @@ -41,7 +42,7 @@ Feature: edit public software information |
41 | 42 | Given I go to /myprofile/basic-software/plugin/mpog_software/edit_software |
42 | 43 | When I follow "Specifications" |
43 | 44 | And I follow "New Database" |
44 | - And I type in "my" into autocomplete list "database_autocomplete" and I choose "MySQL" | |
45 | + And I type in "my" in autocomplete list ".database_autocomplete" and I choose "MySQL" | |
45 | 46 | Then selector ".database_autocomplete" should have any "MySQL" |
46 | 47 | |
47 | 48 | @selenium |
... | ... | @@ -49,7 +50,7 @@ Feature: edit public software information |
49 | 50 | Given I go to /myprofile/basic-software/plugin/mpog_software/edit_software |
50 | 51 | When I follow "Specifications" |
51 | 52 | And I follow "New language" |
52 | - And I type in "py" into autocomplete list "language_autocomplete" and I choose "Python" | |
53 | + And I type in "py" in autocomplete list ".language_autocomplete" and I choose "Python" | |
53 | 54 | Then selector ".database_autocomplete" should have any "Python" |
54 | 55 | |
55 | 56 | @selenium |
... | ... | @@ -57,10 +58,10 @@ Feature: edit public software information |
57 | 58 | Given I go to /myprofile/basic-software/plugin/mpog_software/edit_software |
58 | 59 | When I follow "Specifications" |
59 | 60 | And I follow "New language" |
60 | - And I type in "py" into autocomplete list "language_autocomplete" and I choose "Python" | |
61 | + And I type in "py" in autocomplete list ".language_autocomplete" and I choose "Python" | |
61 | 62 | And I fill in "language__version" with "1.2.3" |
62 | 63 | And I follow "New Database" |
63 | - And I type in "my" into autocomplete list "database_autocomplete" and I choose "MySQL" | |
64 | + And I type in "my" in autocomplete list ".database_autocomplete" and I choose "MySQL" | |
64 | 65 | And I fill in "database__version" with "4.5.6" |
65 | 66 | Then I press "Save" |
66 | 67 | And I follow "Software Info" |
... | ... | @@ -86,10 +87,10 @@ Feature: edit public software information |
86 | 87 | And I follow "Create a new software" |
87 | 88 | And I fill in "community_name" with "another software" |
88 | 89 | And I fill in "software_info_finality" with "another software finality" |
89 | - And I select "GPL-2" from "license_info_id" | |
90 | - And I should see "www.gpl2.com" within "#version_link" | |
90 | + And I type in "gp" in autocomplete list "#license_info_version" and I choose "GPL-2" | |
91 | + And I should see "Read license" within "#version_link" | |
91 | 92 | And I press "Create" |
92 | 93 | And I go to another-software's control panel |
93 | 94 | And I follow "Software Info" |
94 | - And I select "GPL-3" from "license_info_id" | |
95 | - Then I should see "www.gpl3.com" within "#version_link" | |
96 | 95 | \ No newline at end of file |
96 | + And I type in "gp" in autocomplete list "#license_info_version" and I choose "GPL-3" | |
97 | + Then I should see "Read license" within "#version_link" | |
97 | 98 | \ No newline at end of file | ... | ... |
features/step_definitions/mpog_steps.rb
... | ... | @@ -41,12 +41,27 @@ Given /^Institutions has initial default values on database$/ do |
41 | 41 | national_region.save |
42 | 42 | end |
43 | 43 | |
44 | -Given /^I type in "([^"]*)" into autocomplete list "([^"]*)" and I choose "([^"]*)"$/ do |typed, input_institution, should_select| | |
45 | - page.driver.browser.execute_script %Q{ jQuery('input[data-autocomplete]').trigger("focus") } | |
46 | - fill_in("#{input_institution}",:with => typed) | |
47 | - page.driver.browser.execute_script %Q{ jQuery('input[data-autocomplete]').trigger("keydown") } | |
48 | - sleep 1 | |
49 | - page.driver.browser.execute_script %Q{ jQuery('.ui-menu-item a:contains("#{should_select}")').trigger("mouseenter").trigger("click"); } | |
44 | +Given /^I type in "([^"]*)" in autocomplete list "([^"]*)" and I choose "([^"]*)"$/ do |typed, input_field_selector, should_select| | |
45 | + # Wait the page javascript load | |
46 | + sleep 1 | |
47 | + # Basicaly it, search for the input field, type something, wait for ajax end select an item | |
48 | + page.driver.browser.execute_script %Q{ | |
49 | + var search_query = "#{input_field_selector}.ui-autocomplete-input"; | |
50 | + var input = jQuery(search_query).first(); | |
51 | + | |
52 | + input.trigger('click'); | |
53 | + input.val('#{typed}'); | |
54 | + input.trigger('keydown'); | |
55 | + | |
56 | + window.setTimeout(function(){ | |
57 | + search_query = ".ui-menu-item a:contains('#{should_select}')"; | |
58 | + var typed = jQuery(search_query).first(); | |
59 | + | |
60 | + typed.trigger('mouseenter').trigger('click'); | |
61 | + console.log(jQuery('#license_info_id')); | |
62 | + }, 1000); | |
63 | + } | |
64 | + sleep 1 | |
50 | 65 | end |
51 | 66 | |
52 | 67 | Given /^the following public institutions?$/ do |table| | ... | ... |