Commit 7e2d4d40698c26777839ffd8879ace1d0766bcdf
Committed by
Fabio Teixeira
1 parent
cf48d248
Exists in
master
and in
5 other branches
Tests for edit software
Signed-off-by: Arthur Del Esposte <arthurmde@gmail.com> Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
Showing
2 changed files
with
90 additions
and
36 deletions
Show diff stats
test/functional/mpog_software_plugin_myprofile_controller_test.rb
| ... | ... | @@ -63,13 +63,28 @@ class MpogSoftwarePluginMyprofileControllerTest < ActionController::TestCase |
| 63 | 63 | |
| 64 | 64 | should 'create a new software with all fields filled in' do |
| 65 | 65 | fields = software_fields |
| 66 | - post :new_software, :profile => person.identifier, :community => fields[6], :license_info => fields[5], | |
| 67 | - :software_info => fields[0], :library => fields[1], :database => fields[3], | |
| 68 | - :language => fields[2], :operating_system=> fields[4],:software_categories => fields[7] | |
| 66 | + post :new_software, :profile => person.identifier, :community => fields[1], :license_info => fields[0], | |
| 67 | + :software_info => fields[2] | |
| 69 | 68 | assert_equal SoftwareInfo.last.community.name, "Debian" |
| 70 | 69 | end |
| 71 | 70 | |
| 71 | + should 'edit a new software adding basic information' do | |
| 72 | + fields_software = software_fields | |
| 73 | + fields = software_edit_basic_fields | |
| 72 | 74 | |
| 75 | + software = create_software fields_software | |
| 76 | + post :edit_software, :profile => software.community.identifier, :license => fields[1], :software => fields[0], :library => {}, :operating_system => {}, :language => {}, :database => {} | |
| 77 | + assert_equal SoftwareInfo.last.repository_link, "www.github.com/test" | |
| 78 | + end | |
| 79 | + | |
| 80 | + should 'edit a new software adding specific information' do | |
| 81 | + fields_software = software_fields | |
| 82 | + fields = software_edit_specific_fields | |
| 73 | 83 | |
| 84 | + software = create_software fields_software | |
| 85 | + post :edit_software, :profile => software.community.identifier, :library => fields[0], :language => fields[1], | |
| 86 | + :database => fields[2], :operating_system => fields[3], :software => fields[4], :software_categories => fields[5], :license => fields[6] | |
| 87 | + assert_equal SoftwareInfo.last.acronym, "test" | |
| 88 | + end | |
| 74 | 89 | |
| 75 | 90 | end | ... | ... |
test/functional/software_test_helper.rb
| ... | ... | @@ -66,14 +66,14 @@ module SoftwareTestHelper |
| 66 | 66 | |
| 67 | 67 | software = SoftwareInfo.new |
| 68 | 68 | community = Community.new |
| 69 | - software_hash = fields[0] | |
| 70 | - library_hash = fields[1] | |
| 71 | - language_hash = fields[2] | |
| 72 | - database_hash = fields[3] | |
| 73 | - operating_system_hash = fields[4] | |
| 74 | - license_system_hash = fields[5] | |
| 75 | - community_hash = fields[6] | |
| 76 | - categories_hash = fields[7] | |
| 69 | + software_hash = fields[2] | |
| 70 | + #library_hash = fields[1] | |
| 71 | + #language_hash = fields[2] | |
| 72 | + #database_hash = fields[3] | |
| 73 | + #operating_system_hash = fields[4] | |
| 74 | + license_system_hash = fields[0] | |
| 75 | + community_hash = fields[1] | |
| 76 | + #categories_hash = fields[7] | |
| 77 | 77 | |
| 78 | 78 | software_hash.each do |k,v| |
| 79 | 79 | software[k] = v |
| ... | ... | @@ -85,25 +85,43 @@ module SoftwareTestHelper |
| 85 | 85 | |
| 86 | 86 | community.save! |
| 87 | 87 | software.community = community |
| 88 | - software.software_databases << create_database(database_hash) | |
| 89 | - software.software_languages << create_language(language_hash) | |
| 90 | - software.operating_systems << create_operating_system(operating_system_hash) | |
| 88 | + #software.software_databases << create_database(database_hash) | |
| 89 | + #software.software_languages << create_language(language_hash) | |
| 90 | + #software.operating_systems << create_operating_system(operating_system_hash) | |
| 91 | 91 | software.license_info_id = license_system_hash |
| 92 | - software.libraries << create_library(library_hash) | |
| 93 | - software.software_categories = create_categories(categories_hash) | |
| 92 | + #software.libraries << create_library(library_hash) | |
| 93 | + #software.software_categories = create_categories(categories_hash) | |
| 94 | 94 | |
| 95 | + software.save | |
| 95 | 96 | software |
| 96 | 97 | end |
| 97 | 98 | |
| 98 | - def software_fields | |
| 99 | - | |
| 99 | + def software_edit_basic_fields | |
| 100 | 100 | fields = Hash.new |
| 101 | + fields_license = Hash.new | |
| 102 | + hash_list = [] | |
| 103 | + | |
| 104 | + fields['repository_link'] = 'www.github.com/test' | |
| 105 | + fields['finality'] = 'This is the new finality of the software' | |
| 106 | + hash_list << fields | |
| 107 | + | |
| 108 | + #Fields for license info | |
| 109 | + fields_license['license_infos_id'] = LicenseInfo.last.id | |
| 110 | + hash_list << fields_license | |
| 111 | + | |
| 112 | + hash_list | |
| 113 | + end | |
| 114 | + | |
| 115 | + def software_edit_specific_fields | |
| 101 | 116 | fields_library = Hash.new |
| 102 | 117 | fields_language = Hash.new |
| 103 | 118 | fields_database = Hash.new |
| 104 | 119 | fields_operating_system = Hash.new |
| 105 | - fields_community = Hash.new | |
| 120 | + fields_software = Hash.new | |
| 121 | + fields_categories = Hash.new | |
| 106 | 122 | fields_license = Hash.new |
| 123 | + | |
| 124 | + hash_list = [] | |
| 107 | 125 | list_database = [] |
| 108 | 126 | list_language = [] |
| 109 | 127 | list_operating_system = [] |
| ... | ... | @@ -115,36 +133,39 @@ module SoftwareTestHelper |
| 115 | 133 | fields_library['license'] = 'test' |
| 116 | 134 | list_library << fields_library |
| 117 | 135 | list_library << {} |
| 136 | + hash_list << list_library | |
| 137 | + | |
| 118 | 138 | #Fields for software language |
| 119 | 139 | fields_language['version'] = 'test' |
| 120 | 140 | fields_language['programming_language_id'] = ProgrammingLanguage.last.id |
| 121 | 141 | fields_language['operating_system'] = 'test' |
| 122 | 142 | list_language << fields_language |
| 123 | 143 | list_language << {} |
| 144 | + hash_list << list_language | |
| 145 | + | |
| 124 | 146 | #Fields for database |
| 125 | 147 | fields_database['version'] = 'test' |
| 126 | 148 | fields_database['database_description_id'] = DatabaseDescription.last.id |
| 127 | 149 | fields_database['operating_system'] = 'test' |
| 128 | 150 | list_database << fields_database |
| 129 | 151 | list_database << {} |
| 130 | - #Fields for license info | |
| 131 | - fields_license['version'] = LicenseInfo.last.version | |
| 152 | + hash_list << list_database | |
| 153 | + | |
| 132 | 154 | #Fields for operating system |
| 133 | 155 | fields_operating_system['version'] = 'version' |
| 134 | 156 | fields_operating_system['operating_system_name_id'] = OperatingSystemName.last.id |
| 135 | 157 | list_operating_system << fields_operating_system |
| 136 | 158 | list_operating_system << {} |
| 137 | - #Fields for community | |
| 138 | - fields_community['name'] = 'Debian' | |
| 139 | - fields_community['identifier'] = 'debian' | |
| 159 | + hash_list << list_operating_system | |
| 140 | 160 | |
| 141 | - fields['acronym'] = 'test' | |
| 142 | - fields['objectives'] = 'test' | |
| 143 | - fields['features'] = 'test' | |
| 144 | - fields['operating_platform'] = 'operating_platform_test' | |
| 145 | - fields['demonstration_url'] = 'test' | |
| 161 | + #software fields | |
| 162 | + fields_software['acronym'] = 'test' | |
| 163 | + fields_software['operating_platform'] = 'Linux' | |
| 164 | + fields_software['objectives'] = 'This is the objective of the software' | |
| 165 | + fields_software['features'] = 'This software does nothing' | |
| 166 | + hash_list << fields_software | |
| 146 | 167 | |
| 147 | - fields_categories = {} | |
| 168 | + #Fields for software categories | |
| 148 | 169 | fields_categories["administration"] = true |
| 149 | 170 | fields_categories["agriculture"] = "1" |
| 150 | 171 | fields_categories["business_and_services"] = "1" |
| ... | ... | @@ -167,16 +188,34 @@ module SoftwareTestHelper |
| 167 | 188 | fields_categories["work"] = "1" |
| 168 | 189 | fields_categories["transportation"] = "1" |
| 169 | 190 | fields_categories["urbanism"] = "1" |
| 191 | + hash_list << fields_categories | |
| 192 | + | |
| 193 | + #Fields for license | |
| 194 | + fields_license['license_infos_id'] = LicenseInfo.last.id | |
| 195 | + hash_list << fields_license | |
| 196 | + | |
| 197 | + hash_list | |
| 198 | + end | |
| 170 | 199 | |
| 200 | + def software_fields | |
| 201 | + fields = Hash.new | |
| 202 | + fields_community = Hash.new | |
| 203 | + fields_license = Hash.new | |
| 171 | 204 | hash_list = [] |
| 172 | - hash_list << fields | |
| 173 | - hash_list << list_library | |
| 174 | - hash_list << list_language | |
| 175 | - hash_list << list_database | |
| 176 | - hash_list << list_operating_system | |
| 205 | + | |
| 206 | + #Fields for license info | |
| 207 | + fields_license['version'] = LicenseInfo.last.version | |
| 177 | 208 | hash_list << fields_license |
| 209 | + | |
| 210 | + #Fields for community | |
| 211 | + fields_community['name'] = 'Debian' | |
| 212 | + fields_community['identifier'] = 'debian' | |
| 178 | 213 | hash_list << fields_community |
| 179 | - hash_list << fields_categories | |
| 214 | + | |
| 215 | + #Fields for basic information | |
| 216 | + fields['finality'] = 'This is the finality of the software' | |
| 217 | + hash_list << fields | |
| 218 | + | |
| 180 | 219 | hash_list |
| 181 | 220 | end |
| 182 | 221 | end | ... | ... |