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 123 where('softwares.community_id IS NULL')
124 124  
125 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 126 else
133 127 return [scope, asset]
134 128 end
... ...
src/noosfero-spb/software_communities/test/functional/search_controller_test.rb
... ... @@ -51,13 +51,13 @@ class SearchControllerTest < ActionController::TestCase
51 51 assert_not_includes assigns(:searches)[:communities][:results], @softwares.first.community
52 52 end
53 53  
54   - should "software_infos search don't have community" do
  54 + should "softwares search don't have community" do
55 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 61 end
62 62  
63 63  
... ... @@ -79,18 +79,18 @@ class SearchControllerTest < ActionController::TestCase
79 79 )
80 80 end
81 81  
82   - should "software_infos search by category" do
  82 + should "softwares search by category" do
83 83 get(
84   - :software_infos,
  84 + :softwares,
85 85 :query => "",
86 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 91 end
92 92  
93   - should "software_infos search by programming language" do
  93 + should "softwares search by programming language" do
94 94 @softwares.first.software_languages << create_software_language("Python", "1.0")
95 95 @softwares.last.software_languages << create_software_language("Java", "8.1")
96 96  
... ... @@ -98,15 +98,15 @@ class SearchControllerTest &lt; ActionController::TestCase
98 98 @softwares.last.save!
99 99  
100 100 get(
101   - :software_infos,
  101 + :softwares,
102 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 107 end
108 108  
109   - should "software_infos search by database description" do
  109 + should "softwares search by database description" do
110 110 @softwares.first.software_databases << create_software_database("MySQL", "1.0")
111 111 @softwares.last.software_databases << create_software_database("Postgrees", "8.1")
112 112  
... ... @@ -114,36 +114,36 @@ class SearchControllerTest &lt; ActionController::TestCase
114 114 @softwares.last.save!
115 115  
116 116 get(
117   - :software_infos,
  117 + :softwares,
118 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 123 end
124 124  
125   - should "software_infos search by finality" do
  125 + should "softwares search by finality" do
126 126 get(
127   - :software_infos,
  127 + :softwares,
128 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 134 end
135 135  
136   - should "software_infos search by acronym" do
  136 + should "softwares search by acronym" do
137 137 get(
138   - :software_infos,
  138 + :softwares,
139 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 144 end
145 145  
146   - should "software_infos search by relevance" do
  146 + should "softwares search by relevance" do
147 147 @softwares << create_software_info("Software Three", :acronym => "SFW", :finality => "Java")
148 148 @softwares.last.license_info = SoftwareCommunitiesPlugin::LicenseInfo.create :version => "GPL - 3.0"
149 149  
... ... @@ -155,17 +155,17 @@ class SearchControllerTest &lt; ActionController::TestCase
155 155 @softwares[1].community.save!
156 156  
157 157 get(
158   - :software_infos,
  158 + :softwares,
159 159 :sort => "relevance",
160 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 166 end
167 167  
168   - should "software_infos search only public_software" do
  168 + should "softwares search only public_software" do
169 169 software_one = create_software_info("Software One", :acronym => "SFO", :finality => "Help")
170 170 software_two = create_software_info("Java", :acronym => "SFT", :finality => "Task")
171 171 software_three = create_software_info("Software Three", :acronym => "SFW", :finality => "Java")
... ... @@ -173,16 +173,16 @@ class SearchControllerTest &lt; ActionController::TestCase
173 173 software_three.save!
174 174  
175 175 get(
176   - :software_infos,
  176 + :softwares,
177 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 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 186 software_one = create_software_info("Software One", :acronym => "SFO", :finality => "Help")
187 187 software_two = create_software_info("Java", :acronym => "SFT", :finality => "Task")
188 188 software_three = create_software_info("Software Three", :acronym => "SFW", :finality => "Java")
... ... @@ -190,56 +190,56 @@ class SearchControllerTest &lt; ActionController::TestCase
190 190 software_three.save!
191 191  
192 192 get(
193   - :software_infos,
  193 + :softwares,
194 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 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 203 software_one = create_software_info("Software One", :acronym => "SFO", :finality => "Help")
204 204 software_two = create_software_info("Java", :acronym => "SFT", :finality => "Task")
205 205 software_three = create_software_info("Software Three", :acronym => "SFW", :finality => "Java")
206 206  
207 207 get(
208   - :software_infos,
  208 + :softwares,
209 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 215 end
216 216  
217   - should "software_infos search return only enabled softwares" do
  217 + should "softwares search return only enabled softwares" do
218 218 s1 = SoftwareCommunitiesPlugin::SoftwareInfo.first
219 219 s2 = SoftwareCommunitiesPlugin::SoftwareInfo.last
220 220  
221 221 # First get them all normally
222 222 get(
223   - :software_infos,
  223 + :softwares,
224 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 230 s2.community.disable
231 231  
232 232 # Now it should not contain the disabled community
233 233 get(
234   - :software_infos,
  234 + :softwares,
235 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 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 243 software_one = create_software_info("Software ABC", :acronym => "SFO", :finality => "Help")
244 244 software_two = create_software_info("Python", :acronym => "SFT", :finality => "Task")
245 245 software_three = create_software_info("Software DEF", :acronym => "SFW", :finality => "Java")
... ... @@ -248,12 +248,12 @@ class SearchControllerTest &lt; ActionController::TestCase
248 248 software_one.community.save!
249 249  
250 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 257 end
258 258  
259 259 private
... ...