muck-services 0.1.47 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. data/.gitignore +2 -1
  2. data/LICENSE +1 -1
  3. data/README.rdoc +32 -48
  4. data/Rakefile +14 -16
  5. data/VERSION +1 -1
  6. data/app/controllers/admin/muck/feeds_controller.rb +1 -1
  7. data/app/controllers/muck/aggregations_controller.rb +4 -6
  8. data/app/controllers/muck/feed_previews_controller.rb +2 -10
  9. data/app/controllers/muck/feeds_controller.rb +1 -1
  10. data/app/controllers/muck/identity_feeds_controller.rb +2 -6
  11. data/app/controllers/muck/topics_controller.rb +3 -3
  12. data/app/controllers/muck/visits_controller.rb +3 -3
  13. data/app/helpers/muck_services_feeds_helper.rb +3 -3
  14. data/app/helpers/muck_services_service_helper.rb +2 -2
  15. data/app/models/aggregation.rb +4 -18
  16. data/app/models/entry.rb +2 -2
  17. data/app/models/feed.rb +7 -9
  18. data/app/models/oai_endpoint.rb +6 -6
  19. data/app/models/personal_recommendation.rb +4 -5
  20. data/app/models/service.rb +6 -6
  21. data/app/models/service_category.rb +1 -1
  22. data/app/models/services_mailer.rb +10 -12
  23. data/app/views/activity_templates/{_entry_comment.html.erb → _entry_comment.erb} +0 -0
  24. data/app/views/activity_templates/{_entry_share.html.erb → _entry_share.erb} +0 -0
  25. data/app/views/admin/feeds/index.html.erb +8 -9
  26. data/app/views/admin/oai_endpoints/index.html.erb +4 -4
  27. data/app/views/aggregations/{_feeds.html.erb → _feeds.erb} +0 -0
  28. data/app/views/aggregations/edit.html.erb +3 -3
  29. data/app/views/aggregations/index.html.erb +1 -1
  30. data/app/views/aggregations/new.html.erb +1 -1
  31. data/app/views/aggregations/preview.html.erb +1 -1
  32. data/app/views/feed_previews/{new.html.erb → new.erb} +0 -0
  33. data/app/views/feed_previews/{select_feeds.html.erb → select_feeds.erb} +0 -0
  34. data/app/views/feeds/_feed.html.erb +1 -1
  35. data/app/views/feeds/_feed_row.html.erb +1 -1
  36. data/app/views/feeds/_form.html.erb +2 -2
  37. data/app/views/feeds/edit.html.erb +2 -2
  38. data/app/views/feeds/index.html.erb +7 -8
  39. data/app/views/feeds/new.html.erb +2 -2
  40. data/app/views/feeds/new_extended.html.erb +2 -2
  41. data/app/views/feeds/new_oai_rss.html.erb +2 -2
  42. data/app/views/identity_feeds/{_form.html.erb → _form.erb} +1 -1
  43. data/app/views/oai_endpoints/_form.html.erb +2 -2
  44. data/app/views/oai_endpoints/_oai_endpoint_row.html.erb +1 -1
  45. data/app/views/parts/_add_feed.html.erb +1 -1
  46. data/app/views/services_mailer/{notification_feed_added.text.html.erb → notification_feed_added.html.erb} +0 -0
  47. data/app/views/services_mailer/{notification_feed_added.text.plain.erb → notification_feed_added.text.erb} +0 -0
  48. data/app/views/services_mailer/{notification_oai_endpoint_added.text.html.erb → notification_oai_endpoint_added.html.erb} +0 -0
  49. data/app/views/services_mailer/{notification_oai_endpoint_added.text.plain.erb → notification_oai_endpoint_added.text.erb} +0 -0
  50. data/app/views/topics/_form.html.erb +1 -1
  51. data/app/views/topics/new.html.erb +1 -1
  52. data/app/views/visits/_toolbar.html.erb +3 -3
  53. data/{locales → config/locales}/ar.yml +34 -34
  54. data/{locales → config/locales}/bg.yml +34 -34
  55. data/{locales → config/locales}/ca.yml +34 -34
  56. data/{locales → config/locales}/cs.yml +34 -34
  57. data/{locales → config/locales}/da.yml +34 -34
  58. data/{locales → config/locales}/de.yml +34 -34
  59. data/{locales → config/locales}/el.yml +34 -34
  60. data/{locales → config/locales}/en.yml +34 -36
  61. data/{locales → config/locales}/es.yml +34 -34
  62. data/{locales → config/locales}/et.yml +34 -34
  63. data/{locales → config/locales}/fa.yml +34 -34
  64. data/{locales → config/locales}/fi.yml +34 -34
  65. data/{locales → config/locales}/fr.yml +34 -34
  66. data/{locales → config/locales}/gl.yml +34 -34
  67. data/{locales → config/locales}/hi.yml +34 -34
  68. data/{locales → config/locales}/hr.yml +34 -34
  69. data/{locales → config/locales}/hu.yml +34 -34
  70. data/{locales → config/locales}/id.yml +34 -34
  71. data/{locales → config/locales}/it.yml +34 -34
  72. data/{locales → config/locales}/iw.yml +34 -34
  73. data/{locales → config/locales}/ja.yml +34 -34
  74. data/{locales → config/locales}/ko.yml +34 -34
  75. data/{locales → config/locales}/lt.yml +34 -34
  76. data/{locales → config/locales}/lv.yml +34 -34
  77. data/{locales → config/locales}/mt.yml +34 -34
  78. data/{locales → config/locales}/nl.yml +34 -34
  79. data/{locales → config/locales}/no.yml +34 -34
  80. data/{locales → config/locales}/pl.yml +34 -34
  81. data/{locales → config/locales}/pt-PT.yml +34 -34
  82. data/{locales → config/locales}/ro.yml +34 -34
  83. data/{locales → config/locales}/ru.yml +34 -34
  84. data/{locales → config/locales}/sk.yml +34 -34
  85. data/{locales → config/locales}/sl.yml +34 -34
  86. data/{locales → config/locales}/sq.yml +34 -34
  87. data/{locales → config/locales}/sr.yml +34 -34
  88. data/{locales → config/locales}/sv.yml +34 -34
  89. data/{locales → config/locales}/th.yml +34 -34
  90. data/{locales → config/locales}/tl.yml +34 -34
  91. data/{locales → config/locales}/tr.yml +34 -34
  92. data/{locales → config/locales}/uk.yml +34 -34
  93. data/{locales → config/locales}/vi.yml +34 -34
  94. data/{locales → config/locales}/zh-CN.yml +34 -34
  95. data/{locales → config/locales}/zh-TW.yml +34 -34
  96. data/{locales → config/locales}/zh.yml +34 -34
  97. data/config/routes.rb +73 -0
  98. data/lib/muck-services.rb +24 -0
  99. data/lib/muck-services/config.rb +36 -0
  100. data/lib/muck-services/engine.rb +32 -0
  101. data/lib/{muck_services → muck-services}/exceptions.rb +0 -0
  102. data/lib/{muck_services → muck-services}/languages.rb +0 -0
  103. data/lib/muck-services/models/aggregation_owner.rb +17 -0
  104. data/lib/muck-services/models/feed_owner.rb +24 -0
  105. data/lib/muck-services/models/feed_parent.rb +18 -0
  106. data/lib/muck-services/models/recommendation.rb +14 -0
  107. data/lib/muck-services/models/recommendation_owner.rb +15 -0
  108. data/lib/muck-services/models/services_comment.rb +24 -0
  109. data/lib/muck-services/models/services_share.rb +18 -0
  110. data/lib/{muck_services → muck-services}/muck_custom_form_builder.rb +1 -3
  111. data/lib/{muck_services → muck-services}/services.rb +0 -0
  112. data/lib/tasks/muck_services.rake +101 -0
  113. data/muck-services.gemspec +364 -520
  114. data/test/{rails_root → rails_test}/app/controllers/application_controller.rb +1 -9
  115. data/test/{rails_root → rails_test}/app/controllers/default_controller.rb +0 -0
  116. data/test/{rails_root → rails_test}/app/helpers/application_helper.rb +0 -0
  117. data/test/{rails_root → rails_test}/app/models/activity.rb +1 -1
  118. data/test/{rails_root → rails_test}/app/models/comment.rb +3 -3
  119. data/test/rails_test/app/models/country.rb +13 -0
  120. data/test/rails_test/app/models/language.rb +15 -0
  121. data/test/{rails_root → rails_test}/app/models/share.rb +3 -3
  122. data/test/rails_test/app/models/state.rb +13 -0
  123. data/test/{rails_root → rails_test}/app/models/user.rb +8 -8
  124. data/test/{rails_root → rails_test}/app/models/user_session.rb +0 -0
  125. data/test/rails_test/config/application.rb +42 -0
  126. data/test/rails_test/config/boot.rb +13 -0
  127. data/test/rails_test/config/environment.rb +5 -0
  128. data/test/rails_test/config/environments/development.rb +26 -0
  129. data/test/rails_test/config/environments/production.rb +49 -0
  130. data/test/rails_test/config/environments/test.rb +35 -0
  131. data/test/rails_test/config/initializers/backtrace_silencers.rb +7 -0
  132. data/test/{rails_root → rails_test}/config/initializers/inflections.rb +2 -2
  133. data/test/rails_test/config/initializers/mce_options.rb +83 -0
  134. data/test/{rails_root → rails_test}/config/initializers/mime_types.rb +0 -0
  135. data/test/rails_test/config/initializers/muck.rb +66 -0
  136. data/test/rails_test/config/initializers/secret_token.rb +7 -0
  137. data/test/rails_test/config/initializers/session_store.rb +8 -0
  138. data/test/rails_test/config/routes.rb +12 -0
  139. data/test/{rails_root → rails_test}/db/migrate/20090320174818_create_muck_permissions_and_roles.rb +0 -0
  140. data/test/{rails_root → rails_test}/db/migrate/20090327231918_create_users.rb +0 -0
  141. data/test/{rails_root → rails_test}/db/migrate/20090402033319_add_muck_activities.rb +0 -0
  142. data/test/{rails_root → rails_test}/db/migrate/20090402234137_create_languages.rb +0 -0
  143. data/test/{rails_root → rails_test}/db/migrate/20090426041056_create_countries.rb +0 -0
  144. data/test/{rails_root → rails_test}/db/migrate/20090426041103_create_states.rb +0 -0
  145. data/test/rails_test/db/migrate/20090512013727_create_profiles.rb +21 -0
  146. data/test/rails_test/db/migrate/20090517040220_create_uploads.rb +38 -0
  147. data/test/{rails_root → rails_test}/db/migrate/20090602191243_create_muck_raker.rb +0 -0
  148. data/test/{rails_root → rails_test}/db/migrate/20090613173314_create_comments.rb +0 -0
  149. data/test/{rails_root → rails_test}/db/migrate/20090619211125_create_tag_clouds.rb +0 -0
  150. data/test/{rails_root → rails_test}/db/migrate/20090623181458_add_grain_size_to_entries.rb +0 -0
  151. data/test/{rails_root → rails_test}/db/migrate/20090623193525_add_grain_size_to_tag_clouds.rb +0 -0
  152. data/test/rails_test/db/migrate/20090703055724_add_contents.rb +49 -0
  153. data/test/{rails_root → rails_test}/db/migrate/20090703175825_denormalize_entries_subjects.rb +0 -0
  154. data/test/{rails_root → rails_test}/db/migrate/20090704220055_create_slugs.rb +0 -0
  155. data/test/{rails_root → rails_test}/db/migrate/20090716035935_change_tag_cloud_grain_sizes.rb +0 -0
  156. data/test/{rails_root → rails_test}/db/migrate/20090717173900_add_contributor_to_feeds.rb +0 -0
  157. data/test/{rails_root → rails_test}/db/migrate/20090717175825_normalize_entries_subjects.rb +0 -0
  158. data/test/{rails_root → rails_test}/db/migrate/20090721043213_change_services_title_to_name.rb +0 -0
  159. data/test/{rails_root → rails_test}/db/migrate/20090721054927_remove_services_not_null_from_feeds.rb +0 -0
  160. data/test/{rails_root → rails_test}/db/migrate/20090723050510_create_feed_parents.rb +0 -0
  161. data/test/{rails_root → rails_test}/db/migrate/20090728165716_add_etag_to_feeds.rb +0 -0
  162. data/test/{rails_root → rails_test}/db/migrate/20090730044139_add_comment_cache.rb +0 -0
  163. data/test/{rails_root → rails_test}/db/migrate/20090730045848_add_comment_cache_to_entries.rb +0 -0
  164. data/test/{rails_root → rails_test}/db/migrate/20090730154102_allow_null_user.rb +0 -0
  165. data/test/{rails_root → rails_test}/db/migrate/20090803185323_create_shares.rb +0 -0
  166. data/test/{rails_root → rails_test}/db/migrate/20090804184247_add_comment_count_to_shares.rb +0 -0
  167. data/test/{rails_root → rails_test}/db/migrate/20090804211240_add_entry_id_to_shares.rb +0 -0
  168. data/test/{rails_root → rails_test}/db/migrate/20090804231857_add_shares_uri_index.rb +0 -0
  169. data/test/rails_test/db/migrate/20090806230610_add_layout_to_contents.rb +9 -0
  170. data/test/rails_test/db/migrate/20090808175401_add_contents_comment_counter_cache.rb +9 -0
  171. data/test/{rails_root → rails_test}/db/migrate/20090818204527_add_activity_indexes.rb +0 -0
  172. data/test/{rails_root → rails_test}/db/migrate/20090819030523_add_attachable_to_activities.rb +0 -0
  173. data/test/{rails_root → rails_test}/db/migrate/20090826220530_change_services_sequence_to_sort.rb +0 -0
  174. data/test/{rails_root → rails_test}/db/migrate/20090826225652_create_identity_feeds.rb +0 -0
  175. data/test/{rails_root → rails_test}/db/migrate/20090827005105_add_identity_fields_to_services.rb +0 -0
  176. data/test/{rails_root → rails_test}/db/migrate/20090827015308_create_service_categories.rb +0 -0
  177. data/test/{rails_root → rails_test}/db/migrate/20090827221502_add_prompt_and_template_to_services.rb +0 -0
  178. data/test/{rails_root → rails_test}/db/migrate/20090915041650_aggregations_to_polymorphic.rb +0 -0
  179. data/test/{rails_root → rails_test}/db/migrate/20090922174200_update_oai_endpoints.rb +0 -0
  180. data/test/{rails_root → rails_test}/db/migrate/20090922231552_add_dates_to_oai_endpoints.rb +0 -0
  181. data/test/{rails_root → rails_test}/db/migrate/20090923150807_rename_name_in_aggregation.rb +0 -0
  182. data/test/{rails_root → rails_test}/db/migrate/20090924200750_add_uri_data_template_to_services.rb +0 -0
  183. data/test/{rails_root → rails_test}/db/migrate/20091006183742_add_feed_count_to_aggregation.rb +0 -0
  184. data/test/{rails_root → rails_test}/db/migrate/20091022150615_add_uri_key_to_services.rb +0 -0
  185. data/test/{rails_root → rails_test}/db/migrate/20091115011828_add_aggregations_for_personal_recs.rb +0 -0
  186. data/test/{rails_root → rails_test}/db/migrate/20091116094447_rename_action_table.rb +0 -0
  187. data/test/{rails_root → rails_test}/db/migrate/20091118203605_add_default_feed_type_to_aggregation_feed.rb +0 -0
  188. data/test/rails_test/db/migrate/20091124203137_add_location_to_profiles.rb +15 -0
  189. data/test/rails_test/db/migrate/20091124205819_add_fields_to_profiles.rb +21 -0
  190. data/test/{rails_root → rails_test}/db/migrate/20100123035450_create_access_codes.rb +0 -0
  191. data/test/{rails_root → rails_test}/db/migrate/20100123233654_create_access_code_requests.rb +0 -0
  192. data/test/rails_test/db/migrate/20100206000906_remove_name_fields.rb +15 -0
  193. data/test/rails_test/db/migrate/20100903205928_add_dead_entry_fields.rb +13 -0
  194. data/test/{rails_root → rails_test}/features/step_definitions/common_steps.rb +0 -0
  195. data/test/{rails_root → rails_test}/features/step_definitions/visit_steps.rb +0 -0
  196. data/test/rails_test/features/step_definitions/web_steps.rb +219 -0
  197. data/test/{rails_root → rails_test}/features/step_definitions/webrat_steps.rb +0 -0
  198. data/test/rails_test/features/support/custom_env.rb +19 -0
  199. data/test/rails_test/features/support/env.rb +58 -0
  200. data/test/rails_test/features/support/paths.rb +33 -0
  201. data/test/rails_test/lib/daemons/amazonaws.rb +36 -0
  202. data/test/{rails_root → rails_test}/public/dispatch.rb +0 -0
  203. data/test/rails_test/spec/controllers/admin/feeds_controller_spec.rb +38 -0
  204. data/test/rails_test/spec/controllers/admin/oai_endpoints_controller_spec.rb +30 -0
  205. data/test/{rails_root/test/functional/aggregation_feeds_controller_test.rb → rails_test/spec/controllers/aggregation_feeds_controller_spec.rb} +24 -24
  206. data/test/rails_test/spec/controllers/aggregations_controller_spec.rb +89 -0
  207. data/test/rails_test/spec/controllers/feed_previews_controller_spec.rb +32 -0
  208. data/test/rails_test/spec/controllers/feeds_controller_spec.rb +78 -0
  209. data/test/{rails_root/test/functional/identity_feeds_controller_test.rb → rails_test/spec/controllers/identity_feeds_controller_spec.rb} +44 -44
  210. data/test/rails_test/spec/controllers/oai_endpoints_controller_spec.rb +42 -0
  211. data/test/rails_test/spec/controllers/topics_controller_spec.rb +50 -0
  212. data/test/rails_test/spec/controllers/visits_controller_spec.rb +21 -0
  213. data/test/{rails_root/test → rails_test/spec}/factories.rb +6 -1
  214. data/test/rails_test/spec/mailers/services_mailer_spec.rb +31 -0
  215. data/test/{rails_root/test/unit/aggregation_feed_test.rb → rails_test/spec/models/aggregation_feed_spec.rb} +6 -9
  216. data/test/{rails_root/test/unit/aggregation_test.rb → rails_test/spec/models/aggregation_spec.rb} +23 -23
  217. data/test/{rails_root/test/unit/entry_test.rb → rails_test/spec/models/entry_spec.rb} +70 -74
  218. data/test/{rails_root/test/unit/feed_parent_test.rb → rails_test/spec/models/feed_parent_spec.rb} +5 -5
  219. data/test/{rails_root/test/unit/feed_test.rb → rails_test/spec/models/feed_spec.rb} +77 -81
  220. data/test/{rails_root/test/unit/identity_feed_test.rb → rails_test/spec/models/identity_feed_spec.rb} +5 -5
  221. data/test/rails_test/spec/models/oai_endpoint_spec.rb +78 -0
  222. data/test/rails_test/spec/models/personal_recommendation_spec.rb +60 -0
  223. data/test/{rails_root/test/unit/recommendation_test.rb → rails_test/spec/models/recommendation_spec.rb} +6 -8
  224. data/test/rails_test/spec/models/service_category_spec.rb +19 -0
  225. data/test/rails_test/spec/models/service_spec.rb +383 -0
  226. data/test/{rails_root/test/unit/share_test.rb → rails_test/spec/models/share_spec.rb} +8 -11
  227. data/test/{rails_root/test/unit/tag_cloud_test.rb → rails_test/spec/models/tag_cloud_spec.rb} +4 -4
  228. data/test/{rails_root/test/unit/user_test.rb → rails_test/spec/models/user_spec.rb} +9 -11
  229. data/test/{rails_root/test/test_helper.rb → rails_test/spec/spec_helper.rb} +8 -19
  230. metadata +345 -470
  231. data/app/views/services_mailer/notification_feed_added.text.ar.html.erb +0 -4
  232. data/app/views/services_mailer/notification_feed_added.text.ar.plain.erb +0 -7
  233. data/app/views/services_mailer/notification_feed_added.text.bg.html.erb +0 -4
  234. data/app/views/services_mailer/notification_feed_added.text.bg.plain.erb +0 -7
  235. data/app/views/services_mailer/notification_feed_added.text.ca.html.erb +0 -4
  236. data/app/views/services_mailer/notification_feed_added.text.ca.plain.erb +0 -7
  237. data/app/views/services_mailer/notification_feed_added.text.cs.html.erb +0 -4
  238. data/app/views/services_mailer/notification_feed_added.text.cs.plain.erb +0 -7
  239. data/app/views/services_mailer/notification_feed_added.text.da.html.erb +0 -4
  240. data/app/views/services_mailer/notification_feed_added.text.da.plain.erb +0 -7
  241. data/app/views/services_mailer/notification_feed_added.text.de.html.erb +0 -4
  242. data/app/views/services_mailer/notification_feed_added.text.de.plain.erb +0 -7
  243. data/app/views/services_mailer/notification_feed_added.text.el.html.erb +0 -4
  244. data/app/views/services_mailer/notification_feed_added.text.el.plain.erb +0 -7
  245. data/app/views/services_mailer/notification_feed_added.text.es.html.erb +0 -4
  246. data/app/views/services_mailer/notification_feed_added.text.es.plain.erb +0 -7
  247. data/app/views/services_mailer/notification_feed_added.text.et.html.erb +0 -4
  248. data/app/views/services_mailer/notification_feed_added.text.et.plain.erb +0 -7
  249. data/app/views/services_mailer/notification_feed_added.text.fa.html.erb +0 -4
  250. data/app/views/services_mailer/notification_feed_added.text.fa.plain.erb +0 -7
  251. data/app/views/services_mailer/notification_feed_added.text.fi.html.erb +0 -4
  252. data/app/views/services_mailer/notification_feed_added.text.fi.plain.erb +0 -7
  253. data/app/views/services_mailer/notification_feed_added.text.fr.html.erb +0 -4
  254. data/app/views/services_mailer/notification_feed_added.text.fr.plain.erb +0 -7
  255. data/app/views/services_mailer/notification_feed_added.text.gl.html.erb +0 -4
  256. data/app/views/services_mailer/notification_feed_added.text.gl.plain.erb +0 -7
  257. data/app/views/services_mailer/notification_feed_added.text.hi.html.erb +0 -4
  258. data/app/views/services_mailer/notification_feed_added.text.hi.plain.erb +0 -7
  259. data/app/views/services_mailer/notification_feed_added.text.hr.html.erb +0 -4
  260. data/app/views/services_mailer/notification_feed_added.text.hr.plain.erb +0 -7
  261. data/app/views/services_mailer/notification_feed_added.text.hu.html.erb +0 -4
  262. data/app/views/services_mailer/notification_feed_added.text.hu.plain.erb +0 -7
  263. data/app/views/services_mailer/notification_feed_added.text.id.html.erb +0 -4
  264. data/app/views/services_mailer/notification_feed_added.text.id.plain.erb +0 -7
  265. data/app/views/services_mailer/notification_feed_added.text.it.html.erb +0 -4
  266. data/app/views/services_mailer/notification_feed_added.text.it.plain.erb +0 -7
  267. data/app/views/services_mailer/notification_feed_added.text.iw.html.erb +0 -4
  268. data/app/views/services_mailer/notification_feed_added.text.iw.plain.erb +0 -7
  269. data/app/views/services_mailer/notification_feed_added.text.ja.html.erb +0 -4
  270. data/app/views/services_mailer/notification_feed_added.text.ja.plain.erb +0 -7
  271. data/app/views/services_mailer/notification_feed_added.text.ko.html.erb +0 -4
  272. data/app/views/services_mailer/notification_feed_added.text.ko.plain.erb +0 -7
  273. data/app/views/services_mailer/notification_feed_added.text.lt.html.erb +0 -4
  274. data/app/views/services_mailer/notification_feed_added.text.lt.plain.erb +0 -7
  275. data/app/views/services_mailer/notification_feed_added.text.lv.html.erb +0 -4
  276. data/app/views/services_mailer/notification_feed_added.text.lv.plain.erb +0 -7
  277. data/app/views/services_mailer/notification_feed_added.text.mt.html.erb +0 -4
  278. data/app/views/services_mailer/notification_feed_added.text.mt.plain.erb +0 -7
  279. data/app/views/services_mailer/notification_feed_added.text.nl.html.erb +0 -4
  280. data/app/views/services_mailer/notification_feed_added.text.nl.plain.erb +0 -7
  281. data/app/views/services_mailer/notification_feed_added.text.no.html.erb +0 -4
  282. data/app/views/services_mailer/notification_feed_added.text.no.plain.erb +0 -7
  283. data/app/views/services_mailer/notification_feed_added.text.pl.html.erb +0 -4
  284. data/app/views/services_mailer/notification_feed_added.text.pl.plain.erb +0 -7
  285. data/app/views/services_mailer/notification_feed_added.text.pt-PT.html.erb +0 -4
  286. data/app/views/services_mailer/notification_feed_added.text.pt-PT.plain.erb +0 -7
  287. data/app/views/services_mailer/notification_feed_added.text.ro.html.erb +0 -4
  288. data/app/views/services_mailer/notification_feed_added.text.ro.plain.erb +0 -7
  289. data/app/views/services_mailer/notification_feed_added.text.ru.html.erb +0 -4
  290. data/app/views/services_mailer/notification_feed_added.text.ru.plain.erb +0 -7
  291. data/app/views/services_mailer/notification_feed_added.text.sk.html.erb +0 -4
  292. data/app/views/services_mailer/notification_feed_added.text.sk.plain.erb +0 -7
  293. data/app/views/services_mailer/notification_feed_added.text.sl.html.erb +0 -4
  294. data/app/views/services_mailer/notification_feed_added.text.sl.plain.erb +0 -7
  295. data/app/views/services_mailer/notification_feed_added.text.sq.html.erb +0 -4
  296. data/app/views/services_mailer/notification_feed_added.text.sq.plain.erb +0 -7
  297. data/app/views/services_mailer/notification_feed_added.text.sr.html.erb +0 -4
  298. data/app/views/services_mailer/notification_feed_added.text.sr.plain.erb +0 -7
  299. data/app/views/services_mailer/notification_feed_added.text.sv.html.erb +0 -4
  300. data/app/views/services_mailer/notification_feed_added.text.sv.plain.erb +0 -7
  301. data/app/views/services_mailer/notification_feed_added.text.th.html.erb +0 -4
  302. data/app/views/services_mailer/notification_feed_added.text.th.plain.erb +0 -7
  303. data/app/views/services_mailer/notification_feed_added.text.tl.html.erb +0 -4
  304. data/app/views/services_mailer/notification_feed_added.text.tl.plain.erb +0 -7
  305. data/app/views/services_mailer/notification_feed_added.text.tr.html.erb +0 -4
  306. data/app/views/services_mailer/notification_feed_added.text.tr.plain.erb +0 -7
  307. data/app/views/services_mailer/notification_feed_added.text.uk.html.erb +0 -4
  308. data/app/views/services_mailer/notification_feed_added.text.uk.plain.erb +0 -7
  309. data/app/views/services_mailer/notification_feed_added.text.vi.html.erb +0 -4
  310. data/app/views/services_mailer/notification_feed_added.text.vi.plain.erb +0 -7
  311. data/app/views/services_mailer/notification_feed_added.text.zh-CN.html.erb +0 -4
  312. data/app/views/services_mailer/notification_feed_added.text.zh-CN.plain.erb +0 -7
  313. data/app/views/services_mailer/notification_feed_added.text.zh-TW.html.erb +0 -4
  314. data/app/views/services_mailer/notification_feed_added.text.zh-TW.plain.erb +0 -7
  315. data/app/views/services_mailer/notification_feed_added.text.zh.html.erb +0 -4
  316. data/app/views/services_mailer/notification_feed_added.text.zh.plain.erb +0 -7
  317. data/app/views/services_mailer/notification_oai_endpoint_added.text.ar.html.erb +0 -4
  318. data/app/views/services_mailer/notification_oai_endpoint_added.text.ar.plain.erb +0 -4
  319. data/app/views/services_mailer/notification_oai_endpoint_added.text.bg.html.erb +0 -4
  320. data/app/views/services_mailer/notification_oai_endpoint_added.text.bg.plain.erb +0 -4
  321. data/app/views/services_mailer/notification_oai_endpoint_added.text.ca.html.erb +0 -4
  322. data/app/views/services_mailer/notification_oai_endpoint_added.text.ca.plain.erb +0 -4
  323. data/app/views/services_mailer/notification_oai_endpoint_added.text.cs.html.erb +0 -4
  324. data/app/views/services_mailer/notification_oai_endpoint_added.text.cs.plain.erb +0 -4
  325. data/app/views/services_mailer/notification_oai_endpoint_added.text.da.html.erb +0 -4
  326. data/app/views/services_mailer/notification_oai_endpoint_added.text.da.plain.erb +0 -4
  327. data/app/views/services_mailer/notification_oai_endpoint_added.text.de.html.erb +0 -4
  328. data/app/views/services_mailer/notification_oai_endpoint_added.text.de.plain.erb +0 -4
  329. data/app/views/services_mailer/notification_oai_endpoint_added.text.el.html.erb +0 -4
  330. data/app/views/services_mailer/notification_oai_endpoint_added.text.el.plain.erb +0 -4
  331. data/app/views/services_mailer/notification_oai_endpoint_added.text.es.html.erb +0 -4
  332. data/app/views/services_mailer/notification_oai_endpoint_added.text.es.plain.erb +0 -4
  333. data/app/views/services_mailer/notification_oai_endpoint_added.text.et.html.erb +0 -4
  334. data/app/views/services_mailer/notification_oai_endpoint_added.text.et.plain.erb +0 -4
  335. data/app/views/services_mailer/notification_oai_endpoint_added.text.fa.html.erb +0 -4
  336. data/app/views/services_mailer/notification_oai_endpoint_added.text.fa.plain.erb +0 -4
  337. data/app/views/services_mailer/notification_oai_endpoint_added.text.fi.html.erb +0 -4
  338. data/app/views/services_mailer/notification_oai_endpoint_added.text.fi.plain.erb +0 -4
  339. data/app/views/services_mailer/notification_oai_endpoint_added.text.fr.html.erb +0 -4
  340. data/app/views/services_mailer/notification_oai_endpoint_added.text.fr.plain.erb +0 -4
  341. data/app/views/services_mailer/notification_oai_endpoint_added.text.gl.html.erb +0 -4
  342. data/app/views/services_mailer/notification_oai_endpoint_added.text.gl.plain.erb +0 -4
  343. data/app/views/services_mailer/notification_oai_endpoint_added.text.hi.html.erb +0 -4
  344. data/app/views/services_mailer/notification_oai_endpoint_added.text.hi.plain.erb +0 -4
  345. data/app/views/services_mailer/notification_oai_endpoint_added.text.hr.html.erb +0 -4
  346. data/app/views/services_mailer/notification_oai_endpoint_added.text.hr.plain.erb +0 -4
  347. data/app/views/services_mailer/notification_oai_endpoint_added.text.hu.html.erb +0 -4
  348. data/app/views/services_mailer/notification_oai_endpoint_added.text.hu.plain.erb +0 -4
  349. data/app/views/services_mailer/notification_oai_endpoint_added.text.id.html.erb +0 -4
  350. data/app/views/services_mailer/notification_oai_endpoint_added.text.id.plain.erb +0 -4
  351. data/app/views/services_mailer/notification_oai_endpoint_added.text.it.html.erb +0 -4
  352. data/app/views/services_mailer/notification_oai_endpoint_added.text.it.plain.erb +0 -4
  353. data/app/views/services_mailer/notification_oai_endpoint_added.text.iw.html.erb +0 -4
  354. data/app/views/services_mailer/notification_oai_endpoint_added.text.iw.plain.erb +0 -4
  355. data/app/views/services_mailer/notification_oai_endpoint_added.text.ja.html.erb +0 -4
  356. data/app/views/services_mailer/notification_oai_endpoint_added.text.ja.plain.erb +0 -4
  357. data/app/views/services_mailer/notification_oai_endpoint_added.text.ko.html.erb +0 -4
  358. data/app/views/services_mailer/notification_oai_endpoint_added.text.ko.plain.erb +0 -4
  359. data/app/views/services_mailer/notification_oai_endpoint_added.text.lt.html.erb +0 -4
  360. data/app/views/services_mailer/notification_oai_endpoint_added.text.lt.plain.erb +0 -4
  361. data/app/views/services_mailer/notification_oai_endpoint_added.text.lv.html.erb +0 -4
  362. data/app/views/services_mailer/notification_oai_endpoint_added.text.lv.plain.erb +0 -4
  363. data/app/views/services_mailer/notification_oai_endpoint_added.text.mt.html.erb +0 -4
  364. data/app/views/services_mailer/notification_oai_endpoint_added.text.mt.plain.erb +0 -4
  365. data/app/views/services_mailer/notification_oai_endpoint_added.text.nl.html.erb +0 -4
  366. data/app/views/services_mailer/notification_oai_endpoint_added.text.nl.plain.erb +0 -4
  367. data/app/views/services_mailer/notification_oai_endpoint_added.text.no.html.erb +0 -4
  368. data/app/views/services_mailer/notification_oai_endpoint_added.text.no.plain.erb +0 -4
  369. data/app/views/services_mailer/notification_oai_endpoint_added.text.pl.html.erb +0 -4
  370. data/app/views/services_mailer/notification_oai_endpoint_added.text.pl.plain.erb +0 -4
  371. data/app/views/services_mailer/notification_oai_endpoint_added.text.pt-PT.html.erb +0 -4
  372. data/app/views/services_mailer/notification_oai_endpoint_added.text.pt-PT.plain.erb +0 -4
  373. data/app/views/services_mailer/notification_oai_endpoint_added.text.ro.html.erb +0 -4
  374. data/app/views/services_mailer/notification_oai_endpoint_added.text.ro.plain.erb +0 -4
  375. data/app/views/services_mailer/notification_oai_endpoint_added.text.ru.html.erb +0 -4
  376. data/app/views/services_mailer/notification_oai_endpoint_added.text.ru.plain.erb +0 -4
  377. data/app/views/services_mailer/notification_oai_endpoint_added.text.sk.html.erb +0 -4
  378. data/app/views/services_mailer/notification_oai_endpoint_added.text.sk.plain.erb +0 -4
  379. data/app/views/services_mailer/notification_oai_endpoint_added.text.sl.html.erb +0 -4
  380. data/app/views/services_mailer/notification_oai_endpoint_added.text.sl.plain.erb +0 -4
  381. data/app/views/services_mailer/notification_oai_endpoint_added.text.sq.html.erb +0 -4
  382. data/app/views/services_mailer/notification_oai_endpoint_added.text.sq.plain.erb +0 -4
  383. data/app/views/services_mailer/notification_oai_endpoint_added.text.sr.html.erb +0 -4
  384. data/app/views/services_mailer/notification_oai_endpoint_added.text.sr.plain.erb +0 -4
  385. data/app/views/services_mailer/notification_oai_endpoint_added.text.sv.html.erb +0 -4
  386. data/app/views/services_mailer/notification_oai_endpoint_added.text.sv.plain.erb +0 -4
  387. data/app/views/services_mailer/notification_oai_endpoint_added.text.th.html.erb +0 -4
  388. data/app/views/services_mailer/notification_oai_endpoint_added.text.th.plain.erb +0 -4
  389. data/app/views/services_mailer/notification_oai_endpoint_added.text.tl.html.erb +0 -4
  390. data/app/views/services_mailer/notification_oai_endpoint_added.text.tl.plain.erb +0 -4
  391. data/app/views/services_mailer/notification_oai_endpoint_added.text.tr.html.erb +0 -4
  392. data/app/views/services_mailer/notification_oai_endpoint_added.text.tr.plain.erb +0 -4
  393. data/app/views/services_mailer/notification_oai_endpoint_added.text.uk.html.erb +0 -4
  394. data/app/views/services_mailer/notification_oai_endpoint_added.text.uk.plain.erb +0 -4
  395. data/app/views/services_mailer/notification_oai_endpoint_added.text.vi.html.erb +0 -4
  396. data/app/views/services_mailer/notification_oai_endpoint_added.text.vi.plain.erb +0 -4
  397. data/app/views/services_mailer/notification_oai_endpoint_added.text.zh-CN.html.erb +0 -4
  398. data/app/views/services_mailer/notification_oai_endpoint_added.text.zh-CN.plain.erb +0 -4
  399. data/app/views/services_mailer/notification_oai_endpoint_added.text.zh-TW.html.erb +0 -4
  400. data/app/views/services_mailer/notification_oai_endpoint_added.text.zh-TW.plain.erb +0 -4
  401. data/app/views/services_mailer/notification_oai_endpoint_added.text.zh.html.erb +0 -4
  402. data/app/views/services_mailer/notification_oai_endpoint_added.text.zh.plain.erb +0 -4
  403. data/config/muck_services_routes.rb +0 -43
  404. data/lib/active_record/acts/muck_aggregation_owner.rb +0 -30
  405. data/lib/active_record/acts/muck_feed_owner.rb +0 -36
  406. data/lib/active_record/acts/muck_feed_parent.rb +0 -23
  407. data/lib/active_record/acts/muck_recommendations.rb +0 -24
  408. data/lib/active_record/acts/muck_services_comment.rb +0 -40
  409. data/lib/active_record/acts/muck_services_share.rb +0 -32
  410. data/lib/muck_services.rb +0 -23
  411. data/lib/muck_services/initialize_routes.rb +0 -8
  412. data/lib/muck_services/tasks.rb +0 -117
  413. data/rails/init.rb +0 -18
  414. data/test/rails_root/config/boot.rb +0 -109
  415. data/test/rails_root/config/environment.rb +0 -41
  416. data/test/rails_root/config/environments/cucumber.rb +0 -21
  417. data/test/rails_root/config/environments/development.rb +0 -37
  418. data/test/rails_root/config/environments/production.rb +0 -1
  419. data/test/rails_root/config/environments/test.rb +0 -24
  420. data/test/rails_root/config/initializers/requires.rb +0 -13
  421. data/test/rails_root/config/initializers/session_store.rb +0 -8
  422. data/test/rails_root/config/routes.rb +0 -11
  423. data/test/rails_root/db/schema.rb +0 -504
  424. data/test/rails_root/features/support/env.rb +0 -14
  425. data/test/rails_root/features/support/paths.rb +0 -36
  426. data/test/rails_root/script/create_project.rb +0 -52
  427. data/test/rails_root/test/functional/admin/feeds_controller_test.rb +0 -37
  428. data/test/rails_root/test/functional/admin/oai_endpoints_controller_test.rb +0 -30
  429. data/test/rails_root/test/functional/aggregations_controller_test.rb +0 -89
  430. data/test/rails_root/test/functional/feed_previews_controller_test.rb +0 -32
  431. data/test/rails_root/test/functional/feeds_controller_test.rb +0 -78
  432. data/test/rails_root/test/functional/oai_endpoints_controller_test.rb +0 -42
  433. data/test/rails_root/test/functional/topics_controller_test.rb +0 -50
  434. data/test/rails_root/test/functional/visits_controller_test.rb +0 -21
  435. data/test/rails_root/test/unit/comment_test.rb +0 -38
  436. data/test/rails_root/test/unit/oai_endpoint_test.rb +0 -84
  437. data/test/rails_root/test/unit/personal_recommendation_test.rb +0 -78
  438. data/test/rails_root/test/unit/service_category_test.rb +0 -19
  439. data/test/rails_root/test/unit/service_test.rb +0 -386
  440. data/test/rails_root/test/unit/services_mailer_test.rb +0 -35
  441. data/test/rails_root/vendor/plugins/jrails/init.rb +0 -1
  442. data/test/rails_root/vendor/plugins/jrails/install.rb +0 -9
  443. data/test/rails_root/vendor/plugins/jrails/lib/jrails.rb +0 -421
  444. data/test/rails_root/vendor/plugins/jrails/rails/init.rb +0 -15
  445. data/test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb +0 -62
  446. data/test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb +0 -132
@@ -0,0 +1,19 @@
1
+ require 'capybara/rails'
2
+ require 'capybara/cucumber'
3
+
4
+ Capybara.default_driver = :selenium
5
+ Capybara.app_host = "http://localhost:8888"
6
+ Capybara.default_wait_time = 10
7
+
8
+ require "selenium-webdriver"
9
+ Selenium::WebDriver::Firefox::Binary.path = '/Applications/Firefox.app/Contents/MacOS/firefox-bin'
10
+
11
+ require 'factory_girl'
12
+ require 'muck_test_helper'
13
+
14
+ Before do
15
+ # Create admin user:
16
+ Rake::Task[ 'muck:users:create_admin' ].execute
17
+
18
+ visit "/logout"
19
+ end
@@ -0,0 +1,58 @@
1
+ # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2
+ # It is recommended to regenerate this file in the future when you upgrade to a
3
+ # newer version of cucumber-rails. Consider adding your own code to a new file
4
+ # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
+ # files.
6
+
7
+ ENV["RAILS_ENV"] ||= "test"
8
+ require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
9
+
10
+ require 'cucumber/formatter/unicode' # Remove this line if you don't want Cucumber Unicode support
11
+ require 'cucumber/rails/rspec'
12
+ require 'cucumber/rails/world'
13
+ require 'cucumber/rails/active_record'
14
+ require 'cucumber/web/tableish'
15
+
16
+ require 'capybara/rails'
17
+ require 'capybara/cucumber'
18
+ require 'capybara/session'
19
+ require 'cucumber/rails/capybara_javascript_emulation' # Lets you click links with onclick javascript handlers without using @culerity or @javascript
20
+ # Capybara defaults to XPath selectors rather than Webrat's default of CSS3. In
21
+ # order to ease the transition to Capybara we set the default here. If you'd
22
+ # prefer to use XPath just remove this line and adjust any selectors in your
23
+ # steps to use the XPath syntax.
24
+ Capybara.default_selector = :css
25
+
26
+ # If you set this to false, any error raised from within your app will bubble
27
+ # up to your step definition and out to cucumber unless you catch it somewhere
28
+ # on the way. You can make Rails rescue errors and render error pages on a
29
+ # per-scenario basis by tagging a scenario or feature with the @allow-rescue tag.
30
+ #
31
+ # If you set this to true, Rails will rescue all errors and render error
32
+ # pages, more or less in the same way your application would behave in the
33
+ # default production environment. It's not recommended to do this for all
34
+ # of your scenarios, as this makes it hard to discover errors in your application.
35
+ ActionController::Base.allow_rescue = false
36
+
37
+ # If you set this to true, each scenario will run in a database transaction.
38
+ # You can still turn off transactions on a per-scenario basis, simply tagging
39
+ # a feature or scenario with the @no-txn tag. If you are using Capybara,
40
+ # tagging with @culerity or @javascript will also turn transactions off.
41
+ #
42
+ # If you set this to false, transactions will be off for all scenarios,
43
+ # regardless of whether you use @no-txn or not.
44
+ #
45
+ # Beware that turning transactions off will leave data in your database
46
+ # after each scenario, which can lead to hard-to-debug failures in
47
+ # subsequent scenarios. If you do this, we recommend you create a Before
48
+ # block that will explicitly put your database in a known state.
49
+ Cucumber::Rails::World.use_transactional_fixtures = true
50
+ # How to clean your database when transactions are turned off. See
51
+ # http://github.com/bmabey/database_cleaner for more info.
52
+ if defined?(ActiveRecord::Base)
53
+ begin
54
+ require 'database_cleaner'
55
+ DatabaseCleaner.strategy = :truncation
56
+ rescue LoadError => ignore_if_database_cleaner_not_present
57
+ end
58
+ end
@@ -0,0 +1,33 @@
1
+ module NavigationHelpers
2
+ # Maps a name to a path. Used by the
3
+ #
4
+ # When /^I go to (.+)$/ do |page_name|
5
+ #
6
+ # step definition in web_steps.rb
7
+ #
8
+ def path_to(page_name)
9
+ case page_name
10
+
11
+ when /the home\s?page/
12
+ '/'
13
+
14
+ # Add more mappings here.
15
+ # Here is an example that pulls values out of the Regexp:
16
+ #
17
+ # when /^(.*)'s profile page$/i
18
+ # user_profile_path(User.find_by_login($1))
19
+
20
+ else
21
+ begin
22
+ page_name =~ /the (.*) page/
23
+ path_components = $1.split(/\s+/)
24
+ self.send(path_components.push('path').join('_').to_sym)
25
+ rescue Object => e
26
+ raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
27
+ "Now, go and add a mapping in #{__FILE__}"
28
+ end
29
+ end
30
+ end
31
+ end
32
+
33
+ World(NavigationHelpers)
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # You might want to change this
4
+ ENV["RAILS_ENV"] ||= "production"
5
+
6
+ require File.dirname(__FILE__) + "/../../config/environment"
7
+
8
+ $running = true
9
+ Signal.trap("TERM") do
10
+ $running = false
11
+ end
12
+
13
+ # Waiting is a timer variable to allow the daemon to restart
14
+ # within two seconds of the Signal rather than using a long
15
+ # sleep command and forcing the daemon to wait.
16
+ $waiting = 0
17
+
18
+ ActiveRecord::Base.logger.info "[AmazonS3] Migration daemon started at #{Time.now}.\n"
19
+
20
+ while($running) do
21
+
22
+ if $waiting < 120
23
+ $waiting += 2
24
+ sleep 2
25
+ else
26
+ $waiting = 0
27
+ upload = Upload.pending_s3_migrations.first
28
+
29
+ if upload
30
+ $waiting = 120 - 2
31
+ ActiveRecord::Base.logger.info "[AmazonS3] Migrating upload ##{upload.id}\n"
32
+ upload.remote = upload.local
33
+ upload.save!
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,38 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe Admin::Muck::FeedsController do
4
+
5
+ render_views
6
+
7
+ describe "admin feeds controller" do
8
+
9
+ it { should require_login :index, :get }
10
+ it { should require_login :update, :put }
11
+
12
+ describe "logged in as admin" do
13
+ before do
14
+ @admin = Factory(:user)
15
+ @admin_role = Factory(:role, :rolename => 'administrator')
16
+ @admin.roles << @admin_role
17
+ activate_authlogic
18
+ login_as @admin
19
+ end
20
+ describe "GET index" do
21
+ before do
22
+ get :index
23
+ end
24
+ it { should_not set_the_flash }
25
+ it { should respond_with :success }
26
+ it { should render_template :index }
27
+ end
28
+ describe "PUT update" do
29
+ before do
30
+ @feed = Factory(:feed)
31
+ put :update, :id => @feed, :status => true
32
+ end
33
+ it { should redirect_to( admin_feeds_path ) }
34
+ end
35
+ end
36
+ end
37
+
38
+ end
@@ -0,0 +1,30 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe Admin::Muck::OaiEndpointsController do
4
+
5
+ render_views
6
+
7
+ describe "admin oai endpoints controller" do
8
+
9
+ it { should require_login :index, :get }
10
+
11
+ describe "logged in as admin" do
12
+ before do
13
+ @admin = Factory(:user)
14
+ @admin_role = Factory(:role, :rolename => 'administrator')
15
+ @admin.roles << @admin_role
16
+ activate_authlogic
17
+ login_as @admin
18
+ end
19
+ describe "GET index" do
20
+ before do
21
+ get :index
22
+ end
23
+ it { should_not set_the_flash }
24
+ it { should respond_with :success }
25
+ it { should render_template :index }
26
+ end
27
+ end
28
+ end
29
+
30
+ end
@@ -1,38 +1,38 @@
1
- require File.dirname(__FILE__) + '/../test_helper'
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
2
 
3
- class Muck::AggregationFeedsControllerTest < ActionController::TestCase
4
-
5
- tests Muck::AggregationFeedsController
3
+ describe Muck::AggregationFeedsController do
4
+
5
+ render_views
6
6
 
7
- context "aggregation feeds controller" do
8
- setup do
7
+ describe "aggregation feeds controller" do
8
+ before do
9
9
  @aggregation = Factory(:aggregation)
10
10
  @feed = Factory(:feed)
11
11
  @aggregation.feeds << @feed
12
12
  end
13
13
 
14
- context "not logged in" do
15
- context "DELETE destroy" do
16
- setup do
14
+ describe "not logged in" do
15
+ describe "DELETE destroy" do
16
+ before do
17
17
  delete :destroy, :id => -1, :aggregation_id => @aggregation.id, :feed_id => @feed.id
18
18
  end
19
- should_redirect_to("login") { login_path }
20
- should "set the flash to can't delete" do
19
+ it { should redirect_to( login_path ) }
20
+ it "should set the flash to can't delete" do
21
21
  ensure_flash_contains(I18n.t('muck.services.cant_modify_aggregation'))
22
22
  end
23
23
  end
24
24
 
25
- context "DELETE destroy json" do
26
- setup do
25
+ describe "DELETE destroy json" do
26
+ before do
27
27
  delete :destroy, :id => -1, :aggregation_id => @aggregation.id, :feed_id => @feed.id, :format => 'json'
28
28
  end
29
- should_redirect_to("login") { login_path }
29
+ it { should redirect_to( login_path ) }
30
30
  end
31
31
 
32
32
  end
33
33
 
34
- context "logged in with permissions" do
35
- setup do
34
+ describe "logged in with permissions" do
35
+ before do
36
36
  @admin = Factory(:user)
37
37
  @admin_role = Factory(:role, :rolename => 'administrator')
38
38
  @admin.roles << @admin_role
@@ -40,22 +40,22 @@ class Muck::AggregationFeedsControllerTest < ActionController::TestCase
40
40
  login_as @admin
41
41
  end
42
42
 
43
- context "DELETE destroy" do
44
- setup do
43
+ describe "DELETE destroy" do
44
+ before do
45
45
  delete :destroy, :id => -1, :aggregation_id => @aggregation.id, :feed_id => @feed.id
46
46
  end
47
- should_redirect_to("aggregations path") { user_aggregation_path(@aggregation.ownable, @aggregation) }
48
- should "set the flash to deleted" do
47
+ it { should redirect_to( user_aggregation_path(@aggregation.ownable, @aggregation) ) }
48
+ it "should set the flash to deleted" do
49
49
  ensure_flash_contains(I18n.t('muck.services.feed_remove'))
50
50
  end
51
51
  end
52
52
 
53
- context "DELETE destroy json" do
54
- setup do
53
+ describe "DELETE destroy json" do
54
+ before do
55
55
  delete :destroy, :id => -1, :aggregation_id => @aggregation.id, :feed_id => @feed.id, :format => 'json'
56
56
  end
57
- should_respond_with :success
58
- should "contain success:false in the result" do
57
+ it { should respond_with :success }
58
+ it "should contain success:false in the result" do
59
59
  JSON.parse(@response.body)['success'] == true
60
60
  end
61
61
  end
@@ -0,0 +1,89 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Muck::AggregationsController do
4
+
5
+ render_views
6
+
7
+ describe "aggregations controller" do
8
+ before do
9
+ @admin = Factory(:user)
10
+ @admin_role = Factory(:role, :rolename => 'administrator')
11
+ @admin.roles << @admin_role
12
+ activate_authlogic
13
+ login_as @admin
14
+ end
15
+
16
+ describe "GET index" do
17
+ before do
18
+ get :index
19
+ end
20
+ it { should_not set_the_flash }
21
+ it { should respond_with :success }
22
+ it { should render_template :index }
23
+ end
24
+
25
+ describe "GET new" do
26
+ before do
27
+ get :new
28
+ end
29
+ it { should_not set_the_flash }
30
+ it { should respond_with :success }
31
+ it { should render_template :new }
32
+ end
33
+
34
+ describe "GET show" do
35
+ before do
36
+ @aggregation = Factory(:aggregation)
37
+ get :show, :id => @aggregation.to_param
38
+ end
39
+ it { should_not set_the_flash }
40
+ it { should respond_with :success }
41
+ it { should render_template :show }
42
+ end
43
+
44
+ describe "GET edit" do
45
+ before do
46
+ @aggregation = Factory(:aggregation)
47
+ get :edit, :id => @aggregation.to_param
48
+ end
49
+ it { should_not set_the_flash }
50
+ it { should respond_with :success }
51
+ it { should render_template :edit }
52
+ end
53
+
54
+ describe "POST create" do
55
+ before do
56
+ @term = 'example'
57
+ post :create, :aggregation => { :terms => @term }
58
+ end
59
+ it { should redirect_to( edit_aggregation_path(assigns(:aggregation)) ) }
60
+ it "should set the flash to add feeds" do
61
+ ensure_flash_contains(I18n.t('muck.services.add_feeds_to_aggregation', :title => @term))
62
+ end
63
+ end
64
+
65
+ describe "PUT update" do
66
+ before do
67
+ @aggregation = Factory(:aggregation)
68
+ put :update, :id => @aggregation.to_param, :aggregation => { :terms => 'fish' }
69
+ end
70
+ it { should redirect_to( edit_user_aggregation_path(@aggregation.ownable, assigns(:aggregation)) ) }
71
+ it "should set the flash to updated aggregation" do
72
+ ensure_flash_contains(I18n.t('muck.services.aggregation_updated'))
73
+ end
74
+ end
75
+
76
+ describe "DELETE destroy" do
77
+ before do
78
+ @aggregation = Factory(:aggregation)
79
+ delete :destroy, :id => @aggregation.to_param
80
+ end
81
+ it { should redirect_to( user_aggregations_path(@aggregation.ownable) ) }
82
+ it "should set the flash to deleted" do
83
+ ensure_flash_contains(I18n.t('muck.services.aggregation_deleted', :title => ''))
84
+ end
85
+ end
86
+
87
+ end
88
+
89
+ end
@@ -0,0 +1,32 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Muck::FeedPreviewsController do
4
+
5
+ render_views
6
+
7
+ describe "feed previews controller" do
8
+
9
+ describe "GET new" do
10
+ before do
11
+ get :new
12
+ end
13
+ it { should_not set_the_flash }
14
+ it { should respond_with :success }
15
+ it { should render_template :new }
16
+ end
17
+
18
+ describe "POST to select_feeds" do
19
+ before do
20
+ post :select_feeds, :feed => { :uri => TEST_URI }
21
+ end
22
+ it { should_not set_the_flash }
23
+ it { should respond_with :success }
24
+ it { should render_template :select_feeds }
25
+ it "should return feeds for the given uri" do
26
+ assert assigns(:feeds).length > 0
27
+ end
28
+ end
29
+
30
+ end
31
+
32
+ end
@@ -0,0 +1,78 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Muck::FeedsController do
4
+
5
+ render_views
6
+
7
+ describe "feeds controller" do
8
+
9
+ describe "GET index" do
10
+ before do
11
+ get :index
12
+ end
13
+ it { should_not set_the_flash }
14
+ it { should respond_with :success }
15
+ it { should render_template :index }
16
+ end
17
+
18
+ describe "GET show" do
19
+ before do
20
+ @feed = Factory(:feed)
21
+ get :show, :id => @feed.to_param, :format => 'html'
22
+ end
23
+ it { should_not set_the_flash }
24
+ it { should respond_with :success }
25
+ it { should render_template :show }
26
+ end
27
+
28
+ describe "logged in" do
29
+ before do
30
+ @admin = Factory(:user)
31
+ @admin_role = Factory(:role, :rolename => 'administrator')
32
+ @admin.roles << @admin_role
33
+ activate_authlogic
34
+ login_as @admin
35
+ end
36
+
37
+ describe "GET new" do
38
+ before do
39
+ get :new
40
+ end
41
+ it { should_not set_the_flash }
42
+ it { should respond_with :success }
43
+ it { should render_template :new }
44
+ end
45
+
46
+ describe "GET new_extended" do
47
+ before do
48
+ get :new_extended
49
+ end
50
+ it { should_not set_the_flash }
51
+ it { should respond_with :success }
52
+ it { should render_template :new_extended }
53
+ end
54
+
55
+ describe "POST create (simple)" do
56
+ before do
57
+ post :create, :feed => { :uri => TEST_RSS_URI }
58
+ end
59
+ it { should redirect_to( feed_path(assigns(:feed), :layout => true) ) }
60
+ it { should set_the_flash.to(I18n.t('muck.services.feed_successfully_created', :uri => TEST_RSS_URI)) }
61
+ end
62
+
63
+ describe "POST create (advanced)" do
64
+ before do
65
+ post :create, :feed => { :uri => TEST_RSS_URI,
66
+ :display_uri => 'http://www.example.com',
67
+ :title => 'test feed long',
68
+ :short_title => 'test feed',
69
+ :description => 'foo bar' }
70
+ end
71
+ it { should set_the_flash.to(I18n.t('muck.services.feed_successfully_created', :uri => TEST_RSS_URI)) }
72
+ end
73
+
74
+ end
75
+
76
+ end
77
+
78
+ end