Commit 7e2d4d40698c26777839ffd8879ace1d0766bcdf

Authored by Gabriela Navarro
Committed by Fabio Teixeira
1 parent cf48d248

Tests for edit software

Signed-off-by: Arthur Del Esposte <arthurmde@gmail.com>
Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
test/functional/mpog_software_plugin_myprofile_controller_test.rb
... ... @@ -63,13 +63,28 @@ class MpogSoftwarePluginMyprofileControllerTest &lt; 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
... ...