Commit 7d49172751e702f8e7dc1017651528504ee44a84

Authored by Arthur Esposte
1 parent f4094fd2

Fix search controller tests in software communities plugin

src/noosfero-spb/software_communities/lib/software_communities_plugin.rb
@@ -123,12 +123,6 @@ class SoftwareCommunitiesPlugin < Noosfero::Plugin @@ -123,12 +123,6 @@ class SoftwareCommunitiesPlugin < Noosfero::Plugin
123 where('softwares.community_id IS NULL') 123 where('softwares.community_id IS NULL')
124 124
125 return [scope, asset] 125 return [scope, asset]
126 - # # Select only communities that are related to a software.  
127 - # elsif asset.to_s == 'software_communities_plugin/software_infos'  
128 - # scope = scope.joins('INNER JOIN software_communities_plugin_software_infos as softwares  
129 - # ON profiles.id = softwares.community_id')  
130 - # return [scope, asset]  
131 - # # Go with the flow.  
132 else 126 else
133 return [scope, asset] 127 return [scope, asset]
134 end 128 end
src/noosfero-spb/software_communities/test/functional/search_controller_test.rb
@@ -51,13 +51,13 @@ class SearchControllerTest < ActionController::TestCase @@ -51,13 +51,13 @@ class SearchControllerTest < ActionController::TestCase
51 assert_not_includes assigns(:searches)[:communities][:results], @softwares.first.community 51 assert_not_includes assigns(:searches)[:communities][:results], @softwares.first.community
52 end 52 end
53 53
54 - should "software_infos search don't have community" do 54 + should "softwares search don't have community" do
55 community = create_community("Community One") 55 community = create_community("Community One")
56 56
57 - get :software_infos, :query => "One" 57 + get :softwares, :query => "One"
58 58
59 - assert_includes assigns(:searches)[:software_infos][:results], @softwares.first.community  
60 - assert_not_includes assigns(:searches)[:software_infos][:results], community 59 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], @softwares.first.community
  60 + assert_not_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], community
61 end 61 end
62 62
63 63
@@ -79,18 +79,18 @@ class SearchControllerTest < ActionController::TestCase @@ -79,18 +79,18 @@ class SearchControllerTest < ActionController::TestCase
79 ) 79 )
80 end 80 end
81 81
82 - should "software_infos search by category" do 82 + should "softwares search by category" do
83 get( 83 get(
84 - :software_infos, 84 + :softwares,
85 :query => "", 85 :query => "",
86 :selected_categories_id => [Category.first.id] 86 :selected_categories_id => [Category.first.id]
87 ) 87 )
88 88
89 - assert_includes assigns(:searches)[:software_infos][:results], @softwares.first.community  
90 - assert_not_includes assigns(:searches)[:software_infos][:results], @softwares.last.community 89 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], @softwares.first.community
  90 + assert_not_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], @softwares.last.community
91 end 91 end
92 92
93 - should "software_infos search by programming language" do 93 + should "softwares search by programming language" do
94 @softwares.first.software_languages << create_software_language("Python", "1.0") 94 @softwares.first.software_languages << create_software_language("Python", "1.0")
95 @softwares.last.software_languages << create_software_language("Java", "8.1") 95 @softwares.last.software_languages << create_software_language("Java", "8.1")
96 96
@@ -98,15 +98,15 @@ class SearchControllerTest &lt; ActionController::TestCase @@ -98,15 +98,15 @@ class SearchControllerTest &lt; ActionController::TestCase
98 @softwares.last.save! 98 @softwares.last.save!
99 99
100 get( 100 get(
101 - :software_infos, 101 + :softwares,
102 :query => "python", 102 :query => "python",
103 ) 103 )
104 104
105 - assert_includes assigns(:searches)[:software_infos][:results], @softwares.first.community  
106 - assert_not_includes assigns(:searches)[:software_infos][:results], @softwares.last.community 105 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], @softwares.first.community
  106 + assert_not_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], @softwares.last.community
107 end 107 end
108 108
109 - should "software_infos search by database description" do 109 + should "softwares search by database description" do
110 @softwares.first.software_databases << create_software_database("MySQL", "1.0") 110 @softwares.first.software_databases << create_software_database("MySQL", "1.0")
111 @softwares.last.software_databases << create_software_database("Postgrees", "8.1") 111 @softwares.last.software_databases << create_software_database("Postgrees", "8.1")
112 112
@@ -114,36 +114,36 @@ class SearchControllerTest &lt; ActionController::TestCase @@ -114,36 +114,36 @@ class SearchControllerTest &lt; ActionController::TestCase
114 @softwares.last.save! 114 @softwares.last.save!
115 115
116 get( 116 get(
117 - :software_infos, 117 + :softwares,
118 :query => "mysql", 118 :query => "mysql",
119 ) 119 )
120 120
121 - assert_includes assigns(:searches)[:software_infos][:results], @softwares.first.community  
122 - assert_not_includes assigns(:searches)[:software_infos][:results], @softwares.last.community 121 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], @softwares.first.community
  122 + assert_not_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], @softwares.last.community
123 end 123 end
124 124
125 - should "software_infos search by finality" do 125 + should "softwares search by finality" do
126 get( 126 get(
127 - :software_infos, 127 + :softwares,
128 :query => "help", 128 :query => "help",
129 ) 129 )
130 130
131 131
132 - assert_includes assigns(:searches)[:software_infos][:results], @softwares.first.community  
133 - assert_not_includes assigns(:searches)[:software_infos][:results], @softwares.last.community 132 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], @softwares.first.community
  133 + assert_not_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], @softwares.last.community
134 end 134 end
135 135
136 - should "software_infos search by acronym" do 136 + should "softwares search by acronym" do
137 get( 137 get(
138 - :software_infos, 138 + :softwares,
139 :query => "SFO", 139 :query => "SFO",
140 ) 140 )
141 141
142 - assert_includes assigns(:searches)[:software_infos][:results], @softwares.first.community  
143 - assert_not_includes assigns(:searches)[:software_infos][:results], @softwares.last.community 142 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], @softwares.first.community
  143 + assert_not_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], @softwares.last.community
144 end 144 end
145 145
146 - should "software_infos search by relevance" do 146 + should "softwares search by relevance" do
147 @softwares << create_software_info("Software Three", :acronym => "SFW", :finality => "Java") 147 @softwares << create_software_info("Software Three", :acronym => "SFW", :finality => "Java")
148 @softwares.last.license_info = SoftwareCommunitiesPlugin::LicenseInfo.create :version => "GPL - 3.0" 148 @softwares.last.license_info = SoftwareCommunitiesPlugin::LicenseInfo.create :version => "GPL - 3.0"
149 149
@@ -155,17 +155,17 @@ class SearchControllerTest &lt; ActionController::TestCase @@ -155,17 +155,17 @@ class SearchControllerTest &lt; ActionController::TestCase
155 @softwares[1].community.save! 155 @softwares[1].community.save!
156 156
157 get( 157 get(
158 - :software_infos, 158 + :softwares,
159 :sort => "relevance", 159 :sort => "relevance",
160 :query => "Java" 160 :query => "Java"
161 ) 161 )
162 162
163 - assert_equal assigns(:searches)[:software_infos][:results][0], @softwares[1].community  
164 - assert_equal assigns(:searches)[:software_infos][:results][1], @softwares[2].community  
165 - assert_equal assigns(:searches)[:software_infos][:results][2], @softwares[0].community 163 + assert_equal assigns(:searches)["software_communities_plugin/software_infos"][:results][0], @softwares[1].community
  164 + assert_equal assigns(:searches)["software_communities_plugin/software_infos"][:results][1], @softwares[2].community
  165 + assert_equal assigns(:searches)["software_communities_plugin/software_infos"][:results][2], @softwares[0].community
166 end 166 end
167 167
168 - should "software_infos search only public_software" do 168 + should "softwares search only public_software" do
169 software_one = create_software_info("Software One", :acronym => "SFO", :finality => "Help") 169 software_one = create_software_info("Software One", :acronym => "SFO", :finality => "Help")
170 software_two = create_software_info("Java", :acronym => "SFT", :finality => "Task") 170 software_two = create_software_info("Java", :acronym => "SFT", :finality => "Task")
171 software_three = create_software_info("Software Three", :acronym => "SFW", :finality => "Java") 171 software_three = create_software_info("Software Three", :acronym => "SFW", :finality => "Java")
@@ -173,16 +173,16 @@ class SearchControllerTest &lt; ActionController::TestCase @@ -173,16 +173,16 @@ class SearchControllerTest &lt; ActionController::TestCase
173 software_three.save! 173 software_three.save!
174 174
175 get( 175 get(
176 - :software_infos, 176 + :softwares,
177 :software_type => "public_software" 177 :software_type => "public_software"
178 ) 178 )
179 179
180 - assert_includes assigns(:searches)[:software_infos][:results], software_one.community  
181 - assert_includes assigns(:searches)[:software_infos][:results], software_two.community  
182 - assert_not_includes assigns(:searches)[:software_infos][:results], software_three.community 180 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], software_one.community
  181 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], software_two.community
  182 + assert_not_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], software_three.community
183 end 183 end
184 184
185 - should "software_infos search public_software and other all" do 185 + should "softwares search public_software and other all" do
186 software_one = create_software_info("Software One", :acronym => "SFO", :finality => "Help") 186 software_one = create_software_info("Software One", :acronym => "SFO", :finality => "Help")
187 software_two = create_software_info("Java", :acronym => "SFT", :finality => "Task") 187 software_two = create_software_info("Java", :acronym => "SFT", :finality => "Task")
188 software_three = create_software_info("Software Three", :acronym => "SFW", :finality => "Java") 188 software_three = create_software_info("Software Three", :acronym => "SFW", :finality => "Java")
@@ -190,56 +190,56 @@ class SearchControllerTest &lt; ActionController::TestCase @@ -190,56 +190,56 @@ class SearchControllerTest &lt; ActionController::TestCase
190 software_three.save! 190 software_three.save!
191 191
192 get( 192 get(
193 - :software_infos, 193 + :softwares,
194 :software_type => "all" 194 :software_type => "all"
195 ) 195 )
196 196
197 - assert_includes assigns(:searches)[:software_infos][:results], software_one.community  
198 - assert_includes assigns(:searches)[:software_infos][:results], software_two.community  
199 - assert_includes assigns(:searches)[:software_infos][:results], software_three.community 197 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], software_one.community
  198 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], software_two.community
  199 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], software_three.community
200 end 200 end
201 201
202 - should "software_infos search return only the software in params" do 202 + should "softwares search return only the software in params" do
203 software_one = create_software_info("Software One", :acronym => "SFO", :finality => "Help") 203 software_one = create_software_info("Software One", :acronym => "SFO", :finality => "Help")
204 software_two = create_software_info("Java", :acronym => "SFT", :finality => "Task") 204 software_two = create_software_info("Java", :acronym => "SFT", :finality => "Task")
205 software_three = create_software_info("Software Three", :acronym => "SFW", :finality => "Java") 205 software_three = create_software_info("Software Three", :acronym => "SFW", :finality => "Java")
206 206
207 get( 207 get(
208 - :software_infos, 208 + :softwares,
209 :only_softwares => ["software-three", "java"] 209 :only_softwares => ["software-three", "java"]
210 ) 210 )
211 211
212 - assert_includes assigns(:searches)[:software_infos][:results], software_two.community  
213 - assert_includes assigns(:searches)[:software_infos][:results], software_three.community  
214 - assert_not_includes assigns(:searches)[:software_infos][:results], software_one.community 212 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], software_two.community
  213 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], software_three.community
  214 + assert_not_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], software_one.community
215 end 215 end
216 216
217 - should "software_infos search return only enabled softwares" do 217 + should "softwares search return only enabled softwares" do
218 s1 = SoftwareCommunitiesPlugin::SoftwareInfo.first 218 s1 = SoftwareCommunitiesPlugin::SoftwareInfo.first
219 s2 = SoftwareCommunitiesPlugin::SoftwareInfo.last 219 s2 = SoftwareCommunitiesPlugin::SoftwareInfo.last
220 220
221 # First get them all normally 221 # First get them all normally
222 get( 222 get(
223 - :software_infos, 223 + :softwares,
224 :query => "software" 224 :query => "software"
225 ) 225 )
226 226
227 - assert_includes assigns(:searches)[:software_infos][:results], s1.community  
228 - assert_includes assigns(:searches)[:software_infos][:results], s2.community 227 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], s1.community
  228 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], s2.community
229 229
230 s2.community.disable 230 s2.community.disable
231 231
232 # Now it should not contain the disabled community 232 # Now it should not contain the disabled community
233 get( 233 get(
234 - :software_infos, 234 + :softwares,
235 :query => "software" 235 :query => "software"
236 ) 236 )
237 237
238 - assert_includes assigns(:searches)[:software_infos][:results], s1.community  
239 - assert_not_includes assigns(:searches)[:software_infos][:results], s2.community 238 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], s1.community
  239 + assert_not_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], s2.community
240 end 240 end
241 241
242 - should "software_infos search not return software with secret community" do 242 + should "softwares search not return software with secret community" do
243 software_one = create_software_info("Software ABC", :acronym => "SFO", :finality => "Help") 243 software_one = create_software_info("Software ABC", :acronym => "SFO", :finality => "Help")
244 software_two = create_software_info("Python", :acronym => "SFT", :finality => "Task") 244 software_two = create_software_info("Python", :acronym => "SFT", :finality => "Task")
245 software_three = create_software_info("Software DEF", :acronym => "SFW", :finality => "Java") 245 software_three = create_software_info("Software DEF", :acronym => "SFW", :finality => "Java")
@@ -248,12 +248,12 @@ class SearchControllerTest &lt; ActionController::TestCase @@ -248,12 +248,12 @@ class SearchControllerTest &lt; ActionController::TestCase
248 software_one.community.save! 248 software_one.community.save!
249 249
250 get( 250 get(
251 - :software_infos, 251 + :softwares,
252 ) 252 )
253 253
254 - assert_includes assigns(:searches)[:software_infos][:results], software_two.community  
255 - assert_includes assigns(:searches)[:software_infos][:results], software_three.community  
256 - assert_not_includes assigns(:searches)[:software_infos][:results], software_one.community 254 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], software_two.community
  255 + assert_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], software_three.community
  256 + assert_not_includes assigns(:searches)["software_communities_plugin/software_infos"][:results], software_one.community
257 end 257 end
258 258
259 private 259 private