Commit 3732543d000790391372f65b9417eac7faaeaac9
1 parent
99ece19b
Exists in
master
and in
5 other branches
Fix tests for search controller
Signed-off-by: David Carlos <ddavidcarlos1392@gmail.com> Signed-off-by: Gabriela Navarro <navarro1703@gmail.com> Signed-off-by: Gustavo Jaruga <darksshades@gmail.com> Signed-off-by: Luiz Matos <luizff.matos@gmail.com>
Showing
2 changed files
with
36 additions
and
50 deletions
Show diff stats
lib/mpog_software_plugin.rb
@@ -131,7 +131,6 @@ class MpogSoftwarePlugin < Noosfero::Plugin | @@ -131,7 +131,6 @@ class MpogSoftwarePlugin < Noosfero::Plugin | ||
131 | params[:license_info][:id], params[:e_ping], params[:e_mag], params[:internacionalizable], | 131 | params[:license_info][:id], params[:e_ping], params[:e_mag], params[:internacionalizable], |
132 | params[:icp_brasil], params[:e_arq], params[:software_categories]) | 132 | params[:icp_brasil], params[:e_arq], params[:software_categories]) |
133 | communities = [] | 133 | communities = [] |
134 | - | ||
135 | softwares.each do |s| | 134 | softwares.each do |s| |
136 | communities << s.community | 135 | communities << s.community |
137 | end | 136 | end |
@@ -139,7 +138,6 @@ class MpogSoftwarePlugin < Noosfero::Plugin | @@ -139,7 +138,6 @@ class MpogSoftwarePlugin < Noosfero::Plugin | ||
139 | results = results.paginate(:per_page => 24, :page => params[:page]) | 138 | results = results.paginate(:per_page => 24, :page => params[:page]) |
140 | @searches[@asset] = {:results => results} | 139 | @searches[@asset] = {:results => results} |
141 | @search = results | 140 | @search = results |
142 | - | ||
143 | render :action => :communities | 141 | render :action => :communities |
144 | end | 142 | end |
145 | end | 143 | end |
@@ -402,7 +400,6 @@ class MpogSoftwarePlugin < Noosfero::Plugin | @@ -402,7 +400,6 @@ class MpogSoftwarePlugin < Noosfero::Plugin | ||
402 | else | 400 | else |
403 | "community" | 401 | "community" |
404 | end | 402 | end |
405 | - puts | ||
406 | expanded_template('search/search_community_filter.html.erb') | 403 | expanded_template('search/search_community_filter.html.erb') |
407 | end | 404 | end |
408 | end | 405 | end |
test/functional/search_controller_test.rb
1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' | 1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | require File.dirname(__FILE__) + '/../../../../app/controllers/public/search_controller' | 2 | require File.dirname(__FILE__) + '/../../../../app/controllers/public/search_controller' |
3 | +require File.dirname(__FILE__) + '/software_test_helper' | ||
3 | 4 | ||
4 | class SearchController; def rescue_action(e) raise e end; end | 5 | class SearchController; def rescue_action(e) raise e end; end |
5 | 6 | ||
6 | class SearchControllerTest < ActionController::TestCase | 7 | class SearchControllerTest < ActionController::TestCase |
7 | - | 8 | + include SoftwareTestHelper |
8 | def setup | 9 | def setup |
9 | environment = Environment.default | 10 | environment = Environment.default |
10 | environment.enabled_plugins = ['MpogSoftwarePlugin'] | 11 | environment.enabled_plugins = ['MpogSoftwarePlugin'] |
@@ -83,25 +84,30 @@ class SearchControllerTest < ActionController::TestCase | @@ -83,25 +84,30 @@ class SearchControllerTest < ActionController::TestCase | ||
83 | end | 84 | end |
84 | 85 | ||
85 | should "search for software by identifier" do | 86 | should "search for software by identifier" do |
86 | - software = create_software("beautiful os") | 87 | + fields = software_fields |
88 | + software = create_software fields | ||
89 | + software.save | ||
87 | 90 | ||
88 | - params = {"type"=>"Software", "query"=>"", "name"=>"beautiful-os", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} | 91 | + params = {"type"=>"Software", "query"=>"", "name"=>"debian", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} |
89 | get :communities, params | 92 | get :communities, params |
90 | 93 | ||
91 | assert_includes assigns(:searches)[:communities][:results], software.community | 94 | assert_includes assigns(:searches)[:communities][:results], software.community |
92 | end | 95 | end |
93 | 96 | ||
94 | should "search for software by name" do | 97 | should "search for software by name" do |
95 | - software = create_software("beautiful") | 98 | + fields = software_fields |
99 | + software = create_software fields | ||
100 | + software.save | ||
96 | 101 | ||
97 | - params = {"type"=>"Software", "query"=>"", "name"=>"beautiful", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} | 102 | + params = {"type"=>"Software", "query"=>"", "name"=>"debian", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} |
98 | get :communities, params | 103 | get :communities, params |
99 | 104 | ||
100 | assert_includes assigns(:searches)[:communities][:results], software.community | 105 | assert_includes assigns(:searches)[:communities][:results], software.community |
101 | end | 106 | end |
102 | 107 | ||
103 | should "search for software by database" do | 108 | should "search for software by database" do |
104 | - software = create_software("beautiful") | 109 | + fields = software_fields |
110 | + software = create_software fields | ||
105 | software.software_databases.clear() | 111 | software.software_databases.clear() |
106 | software.software_databases << SoftwareDatabase.last | 112 | software.software_databases << SoftwareDatabase.last |
107 | software.save! | 113 | software.save! |
@@ -117,7 +123,8 @@ class SearchControllerTest < ActionController::TestCase | @@ -117,7 +123,8 @@ class SearchControllerTest < ActionController::TestCase | ||
117 | end | 123 | end |
118 | 124 | ||
119 | should "search for software by programming language" do | 125 | should "search for software by programming language" do |
120 | - software = create_software("beautiful") | 126 | + fields = software_fields |
127 | + software = create_software fields | ||
121 | software.software_languages.clear() | 128 | software.software_languages.clear() |
122 | software.software_languages << SoftwareLanguage.last | 129 | software.software_languages << SoftwareLanguage.last |
123 | software.save! | 130 | software.save! |
@@ -133,14 +140,16 @@ class SearchControllerTest < ActionController::TestCase | @@ -133,14 +140,16 @@ class SearchControllerTest < ActionController::TestCase | ||
133 | end | 140 | end |
134 | 141 | ||
135 | should "search for software by operating system" do | 142 | should "search for software by operating system" do |
136 | - software = create_software("beautiful") | 143 | + fields = software_fields |
144 | + software = create_software fields | ||
145 | + software.save! | ||
137 | software.operating_systems.clear() | 146 | software.operating_systems.clear() |
138 | software.operating_systems << OperatingSystem.last | 147 | software.operating_systems << OperatingSystem.last |
139 | software.save! | 148 | software.save! |
140 | 149 | ||
141 | params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, | 150 | params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, |
142 | "programming_language"=>{"id"=>""}, | 151 | "programming_language"=>{"id"=>""}, |
143 | - "operating_system"=>{"id"=>OperatingSystem.last.id}, | 152 | + "operating_system"=>{"id"=>OperatingSystemName.last.id}, |
144 | "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", | 153 | "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", |
145 | "commit"=>"Search"} | 154 | "commit"=>"Search"} |
146 | get :communities, params | 155 | get :communities, params |
@@ -148,11 +157,12 @@ class SearchControllerTest < ActionController::TestCase | @@ -148,11 +157,12 @@ class SearchControllerTest < ActionController::TestCase | ||
148 | assert_includes assigns(:searches)[:communities][:results], software.community | 157 | assert_includes assigns(:searches)[:communities][:results], software.community |
149 | end | 158 | end |
150 | 159 | ||
151 | - should "search for software by controlled vocabulary" do | ||
152 | - software = create_software("beautiful") | 160 | + should "search for software by software categories" do |
161 | + fields = software_fields | ||
162 | + software = create_software fields | ||
153 | software.software_categories.habitation = true | 163 | software.software_categories.habitation = true |
154 | software.software_categories.save! | 164 | software.software_categories.save! |
155 | - | 165 | + software.save |
156 | params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, | 166 | params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, |
157 | "programming_language"=>{"id"=>""}, | 167 | "programming_language"=>{"id"=>""}, |
158 | "operating_system"=>{"id"=>""}, | 168 | "operating_system"=>{"id"=>""}, |
@@ -164,7 +174,8 @@ class SearchControllerTest < ActionController::TestCase | @@ -164,7 +174,8 @@ class SearchControllerTest < ActionController::TestCase | ||
164 | end | 174 | end |
165 | 175 | ||
166 | should "search for software by license info" do | 176 | should "search for software by license info" do |
167 | - software = create_software("beautiful") | 177 | + fields = software_fields |
178 | + software = create_software fields | ||
168 | software.license_info = LicenseInfo.last | 179 | software.license_info = LicenseInfo.last |
169 | software.save! | 180 | software.save! |
170 | 181 | ||
@@ -180,7 +191,8 @@ class SearchControllerTest < ActionController::TestCase | @@ -180,7 +191,8 @@ class SearchControllerTest < ActionController::TestCase | ||
180 | 191 | ||
181 | 192 | ||
182 | should "search for software by e_mag" do | 193 | should "search for software by e_mag" do |
183 | - software = create_software("beautiful") | 194 | + fields = software_fields |
195 | + software = create_software fields | ||
184 | software.e_mag = true | 196 | software.e_mag = true |
185 | software.save! | 197 | software.save! |
186 | 198 | ||
@@ -196,7 +208,8 @@ class SearchControllerTest < ActionController::TestCase | @@ -196,7 +208,8 @@ class SearchControllerTest < ActionController::TestCase | ||
196 | 208 | ||
197 | 209 | ||
198 | should "search for software by e_ping" do | 210 | should "search for software by e_ping" do |
199 | - software = create_software("beautiful") | 211 | + fields = software_fields |
212 | + software = create_software fields | ||
200 | software.e_ping = true | 213 | software.e_ping = true |
201 | software.save! | 214 | software.save! |
202 | 215 | ||
@@ -212,7 +225,8 @@ class SearchControllerTest < ActionController::TestCase | @@ -212,7 +225,8 @@ class SearchControllerTest < ActionController::TestCase | ||
212 | 225 | ||
213 | 226 | ||
214 | should "search for software by icp_brasil" do | 227 | should "search for software by icp_brasil" do |
215 | - software = create_software("beautiful") | 228 | + fields = software_fields |
229 | + software = create_software fields | ||
216 | software.icp_brasil = true | 230 | software.icp_brasil = true |
217 | software.save! | 231 | software.save! |
218 | 232 | ||
@@ -227,7 +241,8 @@ class SearchControllerTest < ActionController::TestCase | @@ -227,7 +241,8 @@ class SearchControllerTest < ActionController::TestCase | ||
227 | end | 241 | end |
228 | 242 | ||
229 | should "search for software by e_arq" do | 243 | should "search for software by e_arq" do |
230 | - software = create_software("beautiful") | 244 | + fields = software_fields |
245 | + software = create_software fields | ||
231 | software.e_arq = true | 246 | software.e_arq = true |
232 | software.save! | 247 | software.save! |
233 | 248 | ||
@@ -242,7 +257,8 @@ class SearchControllerTest < ActionController::TestCase | @@ -242,7 +257,8 @@ class SearchControllerTest < ActionController::TestCase | ||
242 | end | 257 | end |
243 | 258 | ||
244 | should "search for software by internacionalizable" do | 259 | should "search for software by internacionalizable" do |
245 | - software = create_software("beautiful") | 260 | + fields = software_fields |
261 | + software = create_software fields | ||
246 | software.intern = true | 262 | software.intern = true |
247 | software.save! | 263 | software.save! |
248 | 264 | ||
@@ -257,7 +273,8 @@ class SearchControllerTest < ActionController::TestCase | @@ -257,7 +273,8 @@ class SearchControllerTest < ActionController::TestCase | ||
257 | end | 273 | end |
258 | 274 | ||
259 | should "search by e_arq and e_ping" do | 275 | should "search by e_arq and e_ping" do |
260 | - software = create_software("beautiful") | 276 | + fields = software_fields |
277 | + software = create_software fields | ||
261 | software.e_arq = true | 278 | software.e_arq = true |
262 | software.e_ping = true | 279 | software.e_ping = true |
263 | software.save! | 280 | software.save! |
@@ -285,32 +302,4 @@ class SearchControllerTest < ActionController::TestCase | @@ -285,32 +302,4 @@ class SearchControllerTest < ActionController::TestCase | ||
285 | user | 302 | user |
286 | end | 303 | end |
287 | 304 | ||
288 | - def create_software name | ||
289 | - community = Community.create(:name => name) | ||
290 | - software_info = SoftwareInfo::new(:acronym=>"SFT", :operating_platform=>"windows") | ||
291 | - software_info.community = community | ||
292 | - software_info.software_languages << SoftwareLanguage.last | ||
293 | - software_info.software_databases << SoftwareDatabase.last | ||
294 | - software_info.operating_systems << OperatingSystem.last | ||
295 | - software_info.license_info = LicenseInfo.last | ||
296 | - | ||
297 | - | ||
298 | - sc = SoftwareCategories.new() | ||
299 | - sc.attributes.each do |key| | ||
300 | - if(key.first == 'id' || key.first == 'software_info_id') | ||
301 | - next | ||
302 | - end | ||
303 | - sc.update_attribute(key.first, false) | ||
304 | - end | ||
305 | - sc.save! | ||
306 | - | ||
307 | - software_info.software_categories = sc | ||
308 | - | ||
309 | - software_info.save! | ||
310 | - | ||
311 | - community.save! | ||
312 | - | ||
313 | - software_info | ||
314 | - end | ||
315 | - | ||
316 | end | 305 | end |