blacklight 6.14.0 → 7.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 (422) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -0
  3. data/.npmignore +23 -0
  4. data/.rubocop.yml +40 -16
  5. data/.rubocop_todo.yml +479 -375
  6. data/.solr_wrapper.yml +9 -2
  7. data/.travis.yml +27 -20
  8. data/Gemfile +3 -1
  9. data/README.md +22 -5
  10. data/Rakefile +3 -2
  11. data/VERSION +1 -1
  12. data/Vagrantfile +2 -0
  13. data/app/assets/images/blacklight/list.svg +1 -0
  14. data/app/assets/images/blacklight/search.svg +1 -0
  15. data/app/assets/javascripts/blacklight/blacklight.js +497 -57
  16. data/app/assets/stylesheets/blacklight/_balanced_list.scss +7 -12
  17. data/app/assets/stylesheets/blacklight/_blacklight_base.scss +18 -15
  18. data/app/assets/stylesheets/blacklight/_bookmark.scss +1 -13
  19. data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +27 -0
  20. data/app/assets/stylesheets/blacklight/_constraints.scss +17 -25
  21. data/app/assets/stylesheets/blacklight/_controls.scss +8 -16
  22. data/app/assets/stylesheets/blacklight/_facets.scss +64 -93
  23. data/app/assets/stylesheets/blacklight/_header.scss +35 -48
  24. data/app/assets/stylesheets/blacklight/_icons.scss +35 -0
  25. data/app/assets/stylesheets/blacklight/_layout.scss +0 -10
  26. data/app/assets/stylesheets/blacklight/_mixins.scss +15 -0
  27. data/app/assets/stylesheets/blacklight/_modal.scss +9 -17
  28. data/app/assets/stylesheets/blacklight/_pagination.scss +2 -17
  29. data/app/assets/stylesheets/blacklight/_search_form.scss +7 -0
  30. data/app/assets/stylesheets/blacklight/_search_history.scss +5 -13
  31. data/app/assets/stylesheets/blacklight/_search_results.scss +9 -8
  32. data/app/assets/stylesheets/blacklight/_twitter_typeahead.scss +1 -2
  33. data/app/assets/stylesheets/blacklight/blacklight.scss +1 -1
  34. data/app/builders/blacklight/action_builder.rb +57 -0
  35. data/app/controllers/bookmarks_controller.rb +2 -2
  36. data/app/controllers/catalog_controller.rb +2 -2
  37. data/app/controllers/concerns/blacklight/base.rb +0 -33
  38. data/app/controllers/concerns/blacklight/bookmarks.rb +36 -33
  39. data/app/controllers/concerns/blacklight/catalog.rb +266 -210
  40. data/app/controllers/concerns/blacklight/controller.rb +111 -126
  41. data/app/controllers/concerns/blacklight/default_component_configuration.rb +12 -43
  42. data/app/controllers/concerns/blacklight/facet.rb +3 -0
  43. data/app/controllers/concerns/blacklight/search_context.rb +16 -14
  44. data/app/controllers/concerns/blacklight/search_fields.rb +4 -14
  45. data/app/controllers/concerns/blacklight/search_history.rb +1 -6
  46. data/app/controllers/concerns/blacklight/token_based_user.rb +24 -9
  47. data/app/helpers/blacklight/blacklight_helper_behavior.rb +39 -119
  48. data/app/helpers/blacklight/catalog_helper_behavior.rb +94 -88
  49. data/app/helpers/blacklight/component_helper_behavior.rb +21 -19
  50. data/app/helpers/blacklight/configuration_helper_behavior.rb +30 -57
  51. data/app/helpers/blacklight/facets_helper_behavior.rb +55 -51
  52. data/app/helpers/blacklight/hash_as_hidden_fields_helper_behavior.rb +9 -11
  53. data/app/helpers/blacklight/icon_helper_behavior.rb +18 -0
  54. data/app/helpers/blacklight/layout_helper_behavior.rb +3 -3
  55. data/app/helpers/blacklight/render_constraints_helper_behavior.rb +8 -6
  56. data/app/helpers/blacklight/render_partials_helper_behavior.rb +195 -0
  57. data/app/helpers/blacklight/search_history_constraints_helper_behavior.rb +19 -11
  58. data/app/helpers/blacklight/suggest_helper_behavior.rb +1 -0
  59. data/app/helpers/blacklight/url_helper_behavior.rb +50 -41
  60. data/app/{assets/javascripts → javascript}/blacklight/autocomplete.js +3 -2
  61. data/app/javascript/blacklight/bookmark_toggle.js +25 -0
  62. data/app/javascript/blacklight/checkbox_submit.js +134 -0
  63. data/app/{assets/javascripts → javascript}/blacklight/collapsable.js +1 -1
  64. data/app/{assets/javascripts → javascript}/blacklight/core.js +10 -8
  65. data/app/{assets/javascripts → javascript}/blacklight/facet_load.js +6 -6
  66. data/app/{assets/javascripts/blacklight/ajax_modal.js → javascript/blacklight/modal.js} +62 -64
  67. data/app/{assets/javascripts → javascript}/blacklight/search_context.js +10 -3
  68. data/app/models/blacklight/facet_paginator.rb +3 -3
  69. data/app/models/blacklight/icon.rb +56 -0
  70. data/app/models/blacklight/solr/facet_paginator.rb +3 -3
  71. data/app/models/blacklight/suggest_search.rb +4 -15
  72. data/app/models/bookmark.rb +5 -10
  73. data/app/models/concerns/blacklight/configurable.rb +13 -13
  74. data/app/models/concerns/blacklight/document/active_model_shim.rb +13 -11
  75. data/app/models/concerns/blacklight/document/cache_key.rb +1 -1
  76. data/app/models/concerns/blacklight/document/dublin_core.rb +2 -2
  77. data/app/models/concerns/blacklight/document/email.rb +1 -1
  78. data/app/models/concerns/blacklight/document/extensions.rb +5 -5
  79. data/app/models/concerns/blacklight/document/semantic_fields.rb +9 -9
  80. data/app/models/concerns/blacklight/document/sms.rb +1 -1
  81. data/app/models/concerns/blacklight/document.rb +26 -40
  82. data/app/models/concerns/blacklight/solr/document.rb +8 -8
  83. data/app/models/concerns/blacklight/suggest/response.rb +5 -3
  84. data/app/models/concerns/blacklight/user.rb +7 -6
  85. data/app/models/record_mailer.rb +5 -6
  86. data/app/models/search.rb +5 -7
  87. data/app/presenters/blacklight/document_presenter.rb +25 -140
  88. data/app/presenters/blacklight/field_presenter.rb +7 -5
  89. data/app/presenters/blacklight/index_presenter.rb +41 -58
  90. data/app/presenters/blacklight/json_presenter.rb +10 -14
  91. data/app/presenters/blacklight/link_alternate_presenter.rb +3 -1
  92. data/app/presenters/blacklight/rendering/abstract_step.rb +7 -5
  93. data/app/presenters/blacklight/rendering/helper_method.rb +10 -8
  94. data/app/presenters/blacklight/rendering/join.rb +5 -3
  95. data/app/presenters/blacklight/rendering/link_to_facet.rb +23 -19
  96. data/app/presenters/blacklight/rendering/microdata.rb +6 -3
  97. data/app/presenters/blacklight/rendering/pipeline.rb +7 -5
  98. data/app/presenters/blacklight/rendering/terminator.rb +2 -0
  99. data/app/presenters/blacklight/search_bar_presenter.rb +39 -0
  100. data/app/presenters/blacklight/show_presenter.rb +26 -63
  101. data/app/presenters/blacklight/thumbnail_presenter.rb +74 -0
  102. data/app/services/blacklight/document_factory.rb +13 -0
  103. data/app/services/blacklight/field_retriever.rb +26 -24
  104. data/app/services/blacklight/search_service.rb +152 -0
  105. data/app/values/blacklight/types.rb +31 -0
  106. data/app/views/blacklight/nav/_bookmark.html.erb +2 -2
  107. data/app/views/blacklight/nav/_search_history.html.erb +1 -1
  108. data/app/views/bookmarks/_tools.html.erb +2 -2
  109. data/app/views/bookmarks/index.html.erb +12 -13
  110. data/app/views/catalog/_bookmark_control.html.erb +26 -10
  111. data/app/views/catalog/_citation.html.erb +4 -4
  112. data/app/views/catalog/_constraints.html.erb +6 -7
  113. data/app/views/catalog/_constraints_element.html.erb +6 -6
  114. data/app/views/catalog/_did_you_mean.html.erb +1 -1
  115. data/app/views/catalog/{_document_default.atom.builder → _document.atom.builder} +19 -18
  116. data/app/views/catalog/_document.html.erb +5 -3
  117. data/app/views/catalog/{_document_default.rss.builder → _document.rss.builder} +2 -0
  118. data/app/views/catalog/_document_action.html.erb +2 -1
  119. data/app/views/catalog/_email_form.html.erb +8 -4
  120. data/app/views/catalog/_facet_index_navigation.html.erb +5 -4
  121. data/app/views/catalog/_facet_layout.html.erb +6 -10
  122. data/app/views/catalog/_facet_limit.html.erb +3 -2
  123. data/app/views/catalog/_facet_pagination.html.erb +8 -8
  124. data/app/views/catalog/_facet_pivot.html.erb +2 -2
  125. data/app/views/catalog/_facets.html.erb +9 -12
  126. data/app/views/catalog/_field.json.jbuilder +10 -0
  127. data/app/views/catalog/{_group_default.html.erb → _group.html.erb} +1 -1
  128. data/app/views/catalog/_home_text.html.erb +32 -36
  129. data/app/views/catalog/_index.html.erb +10 -0
  130. data/app/views/catalog/{_index_header_default.html.erb → _index_header.html.erb} +3 -3
  131. data/app/views/catalog/_per_page_widget.html.erb +6 -7
  132. data/app/views/catalog/_previous_next_doc.html.erb +6 -14
  133. data/app/views/catalog/_results_pagination.html.erb +2 -2
  134. data/app/views/catalog/_search_form.html.erb +12 -8
  135. data/app/views/catalog/_search_header.html.erb +0 -3
  136. data/app/views/catalog/_search_results.html.erb +6 -2
  137. data/app/views/catalog/_show.html.erb +8 -0
  138. data/app/views/catalog/_show_main_content.html.erb +4 -4
  139. data/app/views/catalog/_show_more_like_this.html.erb +1 -1
  140. data/app/views/catalog/_show_sidebar.html.erb +3 -3
  141. data/app/views/catalog/_show_tools.html.erb +10 -12
  142. data/app/views/catalog/_sms_form.html.erb +8 -4
  143. data/app/views/catalog/_sort_and_per_page.html.erb +3 -3
  144. data/app/views/catalog/_sort_widget.html.erb +7 -7
  145. data/app/views/catalog/_thumbnail.html.erb +5 -0
  146. data/app/views/catalog/_view_type_group.html.erb +2 -2
  147. data/app/views/catalog/_zero_results.html.erb +1 -1
  148. data/app/views/catalog/citation.js.erb +4 -2
  149. data/app/views/catalog/email.html.erb +5 -3
  150. data/app/views/catalog/email_success.html.erb +12 -8
  151. data/app/views/catalog/facet.html.erb +10 -8
  152. data/app/views/catalog/facet.json.jbuilder +2 -0
  153. data/app/views/catalog/index.atom.builder +13 -16
  154. data/app/views/catalog/index.html.erb +9 -11
  155. data/app/views/catalog/index.json.jbuilder +84 -3
  156. data/app/views/catalog/index.rss.builder +7 -5
  157. data/app/views/catalog/opensearch.xml.builder +12 -10
  158. data/app/views/catalog/show.html.erb +11 -6
  159. data/app/views/catalog/show.json.jbuilder +21 -0
  160. data/app/views/catalog/sms.html.erb +3 -1
  161. data/app/views/catalog/sms_success.html.erb +12 -8
  162. data/app/views/kaminari/blacklight/_first_page.html.erb +2 -2
  163. data/app/views/kaminari/blacklight/_gap.html.erb +2 -2
  164. data/app/views/kaminari/blacklight/_last_page.html.erb +2 -2
  165. data/app/views/kaminari/blacklight/_next_page.html.erb +5 -5
  166. data/app/views/kaminari/blacklight/_page.html.erb +5 -3
  167. data/app/views/kaminari/blacklight/_prev_page.html.erb +4 -4
  168. data/app/views/kaminari/blacklight_compact/_paginator.html.erb +4 -4
  169. data/app/views/layouts/blacklight/base.html.erb +35 -0
  170. data/app/views/layouts/blacklight.html.erb +14 -41
  171. data/app/views/layouts/catalog_result.html.erb +11 -0
  172. data/app/views/search_history/index.html.erb +16 -21
  173. data/app/views/shared/_header_navbar.html.erb +8 -13
  174. data/app/views/shared/_modal.html.erb +6 -0
  175. data/app/views/shared/_user_util_links.html.erb +22 -0
  176. data/blacklight.gemspec +10 -11
  177. data/config/i18n-tasks.yml +17 -0
  178. data/config/locales/blacklight.de.yml +71 -82
  179. data/config/locales/blacklight.en.yml +15 -27
  180. data/config/locales/blacklight.es.yml +14 -26
  181. data/config/locales/blacklight.fr.yml +16 -33
  182. data/config/locales/blacklight.hu.yml +212 -0
  183. data/config/locales/blacklight.it.yml +15 -26
  184. data/config/locales/blacklight.nl.yml +212 -0
  185. data/config/locales/blacklight.pt-BR.yml +24 -29
  186. data/config/locales/blacklight.sq.yml +4 -28
  187. data/config/locales/blacklight.zh.yml +3 -25
  188. data/config/routes.rb +2 -10
  189. data/db/migrate/20140202020202_create_bookmarks.rb +0 -1
  190. data/db/migrate/20140320000000_add_polymorphic_type_to_bookmarks.rb +1 -1
  191. data/lib/blacklight/abstract_repository.rb +22 -10
  192. data/lib/blacklight/configuration/context.rb +12 -1
  193. data/lib/blacklight/configuration/facet_field.rb +16 -9
  194. data/lib/blacklight/configuration/field.rb +32 -3
  195. data/lib/blacklight/configuration/fields.rb +61 -58
  196. data/lib/blacklight/configuration/null_field.rb +2 -0
  197. data/lib/blacklight/configuration/search_field.rb +2 -2
  198. data/lib/blacklight/configuration/sort_field.rb +2 -2
  199. data/lib/blacklight/configuration/view_config.rb +4 -0
  200. data/lib/blacklight/configuration.rb +101 -88
  201. data/lib/blacklight/engine.rb +11 -7
  202. data/lib/blacklight/exceptions.rb +4 -7
  203. data/lib/blacklight/{utils.rb → nested_open_struct_with_hash_access.rb} +9 -81
  204. data/lib/blacklight/open_struct_with_hash_access.rb +49 -0
  205. data/lib/blacklight/parameters.rb +1 -1
  206. data/lib/blacklight/routes/exportable.rb +1 -3
  207. data/lib/blacklight/routes/searchable.rb +3 -3
  208. data/lib/blacklight/runtime_registry.rb +2 -0
  209. data/lib/blacklight/search_builder.rb +28 -35
  210. data/lib/blacklight/search_state.rb +10 -8
  211. data/lib/blacklight/solr/repository.rb +40 -6
  212. data/lib/blacklight/solr/request.rb +1 -1
  213. data/lib/blacklight/solr/response/facets.rb +29 -31
  214. data/lib/blacklight/solr/response/group.rb +3 -3
  215. data/lib/blacklight/solr/response/group_response.rb +1 -1
  216. data/lib/blacklight/solr/response/more_like_this.rb +2 -2
  217. data/lib/blacklight/solr/response/response.rb +2 -2
  218. data/lib/blacklight/solr/response/spelling.rb +4 -3
  219. data/lib/blacklight/solr/response.rb +29 -30
  220. data/lib/blacklight/solr/search_builder_behavior.rb +25 -29
  221. data/lib/blacklight/version.rb +1 -1
  222. data/lib/blacklight.rb +10 -8
  223. data/lib/generators/blacklight/assets_generator.rb +18 -12
  224. data/lib/generators/blacklight/controller_generator.rb +4 -5
  225. data/lib/generators/blacklight/document_generator.rb +1 -1
  226. data/lib/generators/blacklight/install_generator.rb +18 -28
  227. data/lib/generators/blacklight/search_builder_generator.rb +1 -1
  228. data/lib/generators/blacklight/{solr5_generator.rb → solr_generator.rb} +12 -6
  229. data/lib/generators/blacklight/templates/.solr_wrapper.yml +5 -0
  230. data/lib/generators/blacklight/templates/alternate_controller.rb +4 -4
  231. data/lib/generators/blacklight/templates/blacklight.scss +0 -2
  232. data/lib/generators/blacklight/templates/catalog_controller.rb +59 -49
  233. data/lib/generators/blacklight/templates/config/blacklight.yml +1 -13
  234. data/lib/generators/blacklight/templates/solr/conf/schema.xml +388 -0
  235. data/lib/generators/blacklight/templates/solr/conf/solrconfig.xml +195 -0
  236. data/lib/generators/blacklight/test_support_generator.rb +10 -10
  237. data/lib/generators/blacklight/user_generator.rb +5 -6
  238. data/lib/railties/blacklight.rake +17 -21
  239. data/package-lock.json +2195 -0
  240. data/package.json +29 -0
  241. data/spec/controllers/alternate_controller_spec.rb +5 -4
  242. data/spec/controllers/application_controller_spec.rb +1 -5
  243. data/spec/controllers/blacklight/base_spec.rb +6 -3
  244. data/spec/controllers/blacklight/catalog/component_configuration_spec.rb +11 -7
  245. data/spec/controllers/blacklight/facet_spec.rb +1 -2
  246. data/spec/controllers/blacklight/search_fields_spec.rb +25 -34
  247. data/spec/controllers/bookmarks_controller_spec.rb +46 -11
  248. data/spec/controllers/catalog_controller_spec.rb +334 -161
  249. data/spec/controllers/search_history_controller_spec.rb +6 -6
  250. data/spec/features/alternate_controller_spec.rb +4 -4
  251. data/spec/features/autocomplete_spec.rb +4 -2
  252. data/spec/features/bookmarks_spec.rb +10 -10
  253. data/spec/features/did_you_mean_spec.rb +7 -12
  254. data/spec/features/facets_spec.rb +29 -17
  255. data/spec/features/record_view_spec.rb +12 -18
  256. data/spec/features/search_context_spec.rb +6 -7
  257. data/spec/features/search_crawler_spec.rb +3 -5
  258. data/spec/features/search_filters_spec.rb +80 -80
  259. data/spec/features/search_formats_spec.rb +1 -1
  260. data/spec/features/search_history_spec.rb +6 -29
  261. data/spec/features/search_pagination_spec.rb +4 -2
  262. data/spec/features/search_results_spec.rb +14 -12
  263. data/spec/features/search_sort_spec.rb +2 -2
  264. data/spec/features/search_spec.rb +8 -9
  265. data/spec/features/sitelinks_search_box.rb +4 -4
  266. data/{solr → spec/fixtures}/sample_solr_documents.yml +688 -688
  267. data/spec/helpers/{configuration_helper_spec.rb → blacklight/configuration_helper_behavior_spec.rb} +97 -92
  268. data/spec/helpers/{facets_helper_spec.rb → blacklight/facets_helper_behavior_spec.rb} +72 -67
  269. data/spec/helpers/{hash_as_hidden_fields_spec.rb → blacklight/hash_as_hidden_fields_behavior_spec.rb} +2 -2
  270. data/spec/helpers/blacklight/icon_helper_behavior_spec.rb +10 -0
  271. data/spec/helpers/{layout_helper_spec.rb → blacklight/layout_helper_behavior_spec.rb} +5 -5
  272. data/spec/helpers/{render_constraints_helper_spec.rb → blacklight/render_constraints_helper_behavior_spec.rb} +10 -6
  273. data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +92 -0
  274. data/spec/helpers/{search_history_constraints_helper_spec.rb → blacklight/search_history_constraints_helper_behavior_spec.rb} +29 -30
  275. data/spec/helpers/{suggest_helper_spec.rb → blacklight/suggest_helper_behavior_spec.rb} +9 -2
  276. data/spec/helpers/{url_helper_spec.rb → blacklight/url_helper_behavior_spec.rb} +56 -54
  277. data/spec/helpers/blacklight_helper_spec.rb +65 -150
  278. data/spec/helpers/catalog_helper_spec.rb +80 -96
  279. data/spec/i18n_spec.rb +18 -0
  280. data/spec/integration/generators/blacklight/{solr5_generator_spec.rb → solr_generator_spec.rb} +21 -13
  281. data/spec/lib/blacklight/configuration/facet_field_spec.rb +13 -0
  282. data/spec/lib/blacklight/configuration/field_spec.rb +15 -0
  283. data/spec/lib/blacklight/nested_open_struct_with_hash_access_spec.rb +17 -0
  284. data/spec/lib/blacklight/open_struct_with_hash_access_spec.rb +148 -0
  285. data/spec/lib/blacklight/parameters_spec.rb +4 -2
  286. data/spec/lib/blacklight/search_state_spec.rb +53 -36
  287. data/spec/lib/blacklight_spec.rb +14 -15
  288. data/spec/lib/tasks/blacklight_task_spec.rb +4 -6
  289. data/spec/models/blacklight/configurable_spec.rb +24 -27
  290. data/spec/models/blacklight/configuration/context_spec.rb +9 -10
  291. data/spec/models/blacklight/configuration_spec.rb +248 -223
  292. data/spec/models/blacklight/document/active_model_shim_spec.rb +15 -6
  293. data/spec/models/blacklight/document/cache_key_spec.rb +9 -2
  294. data/spec/models/blacklight/document/dublin_core_spec.rb +17 -20
  295. data/spec/models/blacklight/document/email_spec.rb +10 -10
  296. data/spec/models/blacklight/document/sms_spec.rb +10 -10
  297. data/spec/models/blacklight/document_spec.rb +10 -22
  298. data/spec/models/blacklight/facet_paginator_spec.rb +40 -30
  299. data/spec/models/blacklight/icon_spec.rb +44 -0
  300. data/spec/models/blacklight/search_builder_spec.rb +41 -26
  301. data/spec/models/blacklight/solr/document_spec.rb +224 -216
  302. data/spec/models/blacklight/solr/facet_paginator_spec.rb +6 -4
  303. data/spec/models/blacklight/solr/repository_spec.rb +61 -46
  304. data/spec/models/blacklight/solr/request_spec.rb +17 -18
  305. data/spec/models/blacklight/solr/response/facets_spec.rb +58 -58
  306. data/spec/models/blacklight/solr/response/group_response_spec.rb +16 -22
  307. data/spec/models/blacklight/solr/response/group_spec.rb +18 -25
  308. data/spec/models/blacklight/solr/response_spec.rb +56 -55
  309. data/spec/models/blacklight/solr/search_builder_spec.rb +150 -164
  310. data/spec/models/blacklight/suggest/response_spec.rb +6 -4
  311. data/spec/models/blacklight/suggest_search_spec.rb +9 -16
  312. data/spec/models/blacklight/user_spec.rb +9 -11
  313. data/spec/models/bookmark_spec.rb +7 -6
  314. data/spec/models/record_mailer_spec.rb +23 -21
  315. data/spec/models/search_spec.rb +19 -18
  316. data/spec/models/solr_document_spec.rb +33 -5
  317. data/spec/presenters/blacklight/document_presenter_spec.rb +86 -0
  318. data/spec/presenters/blacklight/index_presenter_spec.rb +186 -0
  319. data/spec/presenters/blacklight/json_presenter_spec.rb +59 -0
  320. data/spec/presenters/blacklight/link_alternate_presenter_spec.rb +3 -0
  321. data/spec/presenters/blacklight/search_bar_presenter_spec.rb +79 -0
  322. data/spec/presenters/blacklight/show_presenter_spec.rb +333 -0
  323. data/spec/presenters/pipeline_spec.rb +18 -11
  324. data/spec/presenters/thumbnail_presenter_spec.rb +174 -0
  325. data/spec/routing/catalog_routing_spec.rb +13 -15
  326. data/spec/services/blacklight/search_service_spec.rb +488 -0
  327. data/spec/spec_helper.rb +20 -19
  328. data/spec/support/features/session_helpers.rb +4 -4
  329. data/spec/support/features.rb +1 -1
  330. data/spec/test_app_templates/Gemfile.extra +2 -4
  331. data/spec/test_app_templates/lib/generators/test_app_generator.rb +12 -13
  332. data/spec/views/catalog/_constraints.html.erb_spec.rb +3 -6
  333. data/spec/views/catalog/_constraints_element.html.erb_spec.rb +17 -13
  334. data/spec/views/catalog/_document.html.erb_spec.rb +11 -11
  335. data/spec/views/catalog/_document_list.html.erb_spec.rb +2 -1
  336. data/spec/views/catalog/_facet_index_navigation.html.erb_spec.rb +5 -5
  337. data/spec/views/catalog/_facet_layout.html.erb_spec.rb +6 -6
  338. data/spec/views/catalog/_facets.html.erb_spec.rb +10 -12
  339. data/spec/views/catalog/{_index_default.erb_spec.rb → _index.html.erb_spec.rb} +14 -15
  340. data/spec/views/catalog/{_index_header_default.html.erb_spec.rb → _index_header.html.erb_spec.rb} +6 -9
  341. data/spec/views/catalog/_paginate_compact.html.erb_spec.rb +7 -30
  342. data/spec/views/catalog/_search_header.erb_spec.rb +1 -3
  343. data/spec/views/catalog/{_show_default.erb_spec.rb → _show.html.erb_spec.rb} +13 -14
  344. data/spec/views/catalog/_show_sidebar.erb_spec.rb +6 -9
  345. data/spec/views/catalog/_show_tools.html.erb_spec.rb +5 -5
  346. data/spec/views/catalog/_sort_and_per_page.html.erb_spec.rb +1 -2
  347. data/spec/views/catalog/_sort_widget.html.erb_spec.rb +3 -1
  348. data/spec/views/catalog/{_thumbnail_default.erb_spec.rb → _thumbnail.html.erb_spec.rb} +7 -9
  349. data/spec/views/catalog/_view_type_group.html.erb_spec.rb +12 -10
  350. data/spec/views/catalog/email_success.html.erb_spec.rb +8 -0
  351. data/spec/views/catalog/facet.html.erb_spec.rb +4 -3
  352. data/spec/views/catalog/facet.json.jbuilder_spec.rb +3 -2
  353. data/spec/views/catalog/index.atom.builder_spec.rb +11 -6
  354. data/spec/views/catalog/index.html.erb_spec.rb +6 -8
  355. data/spec/views/catalog/index.json.jbuilder_spec.rb +119 -26
  356. data/spec/views/catalog/opensearch.xml.builder_spec.rb +1 -1
  357. data/spec/views/catalog/show.html.erb_spec.rb +8 -8
  358. data/spec/views/catalog/show.json.jbuilder_spec.rb +40 -0
  359. data/spec/views/catalog/sms_success.html.erb_spec.rb +8 -0
  360. data/spec/views/{_user_util_links.html.erb_spec.rb → shared/_user_util_links.html.erb_spec.rb} +4 -7
  361. data/tasks/blacklight.rake +10 -8
  362. data/template.demo.rb +3 -11
  363. metadata +188 -189
  364. data/app/assets/javascripts/blacklight/autofocus.js +0 -16
  365. data/app/assets/javascripts/blacklight/bookmark_toggle.js +0 -23
  366. data/app/assets/javascripts/blacklight/checkbox_submit.js +0 -135
  367. data/app/controllers/concerns/blacklight/request_builders.rb +0 -77
  368. data/app/controllers/concerns/blacklight/saved_searches.rb +0 -70
  369. data/app/controllers/concerns/blacklight/search_helper.rb +0 -155
  370. data/app/controllers/concerns/blacklight/suggest.rb +0 -25
  371. data/app/controllers/saved_searches_controller.rb +0 -4
  372. data/app/controllers/suggest_controller.rb +0 -4
  373. data/app/helpers/blacklight/deprecated_url_helper_behavior.rb +0 -57
  374. data/app/helpers/blacklight/render_partials_helper.rb +0 -205
  375. data/app/helpers/blacklight_configuration_helper.rb +0 -4
  376. data/app/helpers/blacklight_url_helper.rb +0 -4
  377. data/app/helpers/component_helper.rb +0 -4
  378. data/app/helpers/facets_helper.rb +0 -4
  379. data/app/helpers/hash_as_hidden_fields_helper.rb +0 -4
  380. data/app/helpers/layout_helper.rb +0 -4
  381. data/app/helpers/render_constraints_helper.rb +0 -4
  382. data/app/helpers/search_history_constraints_helper.rb +0 -4
  383. data/app/helpers/suggest_helper.rb +0 -4
  384. data/app/models/concerns/blacklight/solr/document/more_like_this.rb +0 -6
  385. data/app/views/_user_util_links.html.erb +0 -26
  386. data/app/views/blacklight/nav/_saved_searches.html.erb +0 -1
  387. data/app/views/catalog/_index_default.html.erb +0 -12
  388. data/app/views/catalog/_show_default.html.erb +0 -10
  389. data/app/views/catalog/_thumbnail_default.html.erb +0 -5
  390. data/app/views/saved_searches/index.html.erb +0 -32
  391. data/app/views/shared/_ajax_modal.html.erb +0 -6
  392. data/lib/generators/blacklight/solr4_generator.rb +0 -31
  393. data/lib/generators/blacklight/templates/config/jetty.yml +0 -13
  394. data/solr/conf/schema.xml +0 -629
  395. data/solr/conf/solrconfig.xml +0 -411
  396. data/spec/controllers/blacklight/search_helper_spec.rb +0 -470
  397. data/spec/controllers/saved_searches_controller_spec.rb +0 -32
  398. data/spec/controllers/suggest_controller_spec.rb +0 -17
  399. data/spec/features/saved_searches_spec.rb +0 -47
  400. data/spec/helpers/deprecated_url_helper_behavior_spec.rb +0 -101
  401. data/spec/lib/blacklight/utils_spec.rb +0 -167
  402. data/spec/models/blacklight/solr/document/more_like_this_spec.rb +0 -18
  403. data/spec/presenters/document_presenter_spec.rb +0 -438
  404. data/spec/presenters/index_presenter_spec.rb +0 -173
  405. data/spec/presenters/show_presenter_spec.rb +0 -313
  406. data/spec/support/backport_test.rb +0 -14
  407. /data/app/views/catalog/{_show_header_default.html.erb → _show_header.html.erb} +0 -0
  408. /data/app/views/{_flash_msg.html.erb → shared/_flash_msg.html.erb} +0 -0
  409. /data/{solr → lib/generators/blacklight/templates/solr}/conf/_rest_managed.json +0 -0
  410. /data/{solr → lib/generators/blacklight/templates/solr}/conf/admin-extra.html +0 -0
  411. /data/{solr → lib/generators/blacklight/templates/solr}/conf/elevate.xml +0 -0
  412. /data/{solr → lib/generators/blacklight/templates/solr}/conf/mapping-ISOLatin1Accent.txt +0 -0
  413. /data/{solr → lib/generators/blacklight/templates/solr}/conf/protwords.txt +0 -0
  414. /data/{solr → lib/generators/blacklight/templates/solr}/conf/scripts.conf +0 -0
  415. /data/{solr → lib/generators/blacklight/templates/solr}/conf/spellings.txt +0 -0
  416. /data/{solr → lib/generators/blacklight/templates/solr}/conf/stopwords.txt +0 -0
  417. /data/{solr → lib/generators/blacklight/templates/solr}/conf/stopwords_en.txt +0 -0
  418. /data/{solr → lib/generators/blacklight/templates/solr}/conf/synonyms.txt +0 -0
  419. /data/{solr → lib/generators/blacklight/templates/solr}/conf/xslt/example.xsl +0 -0
  420. /data/{solr → lib/generators/blacklight/templates/solr}/conf/xslt/example_atom.xsl +0 -0
  421. /data/{solr → lib/generators/blacklight/templates/solr}/conf/xslt/example_rss.xsl +0 -0
  422. /data/{solr → lib/generators/blacklight/templates/solr}/conf/xslt/luke.xsl +0 -0
@@ -1,34 +1,34 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- describe "Facets" do
3
+ RSpec.describe "Facets" do
4
4
  it "works without a search term" do
5
5
  visit root_path
6
- within "#facet-language_facet" do
6
+ within "#facet-language_ssim" do
7
7
  click_link "Tibetan"
8
8
  end
9
9
  within "#sortAndPerPage" do
10
10
  expect(page).to have_content "1 - 6 of 6"
11
11
  end
12
12
 
13
- expect(page).to have_selector(".blacklight-language_facet")
14
- expect(page).to have_selector(".blacklight-language_facet.facet_limit-active")
13
+ expect(page).to have_selector(".blacklight-language_ssim")
14
+ expect(page).to have_selector(".blacklight-language_ssim.facet-limit-active")
15
15
 
16
- within "#facet-language_facet" do
17
- expect(page).to have_selector("span.selected", :text => "Tibetan")
18
- expect(page).to have_selector("span.facet-count.selected", :text => "6")
16
+ within "#facet-language_ssim" do
17
+ expect(page).to have_selector("span.selected", text: "Tibetan")
18
+ expect(page).to have_selector("span.facet-count.selected", text: "6")
19
19
  end
20
20
 
21
21
  click_link "India"
22
22
  within ("#sortAndPerPage") do
23
23
  expect(page).to have_content "1 - 2 of 2"
24
24
  end
25
- within "#facet-language_facet" do
26
- expect(page).to have_selector("span.selected", :text => "Tibetan")
27
- expect(page).to have_selector("span.facet-count.selected", :text => "2")
25
+ within "#facet-language_ssim" do
26
+ expect(page).to have_selector("span.selected", text: "Tibetan")
27
+ expect(page).to have_selector("span.facet-count.selected", text: "2")
28
28
  end
29
- within "#facet-subject_geo_facet" do
30
- expect(page).to have_selector("span.selected", :text => "India")
31
- expect(page).to have_selector("span.facet-count.selected", :text => "2")
29
+ within "#facet-subject_geo_ssim" do
30
+ expect(page).to have_selector("span.selected", text: "India")
31
+ expect(page).to have_selector("span.facet-count.selected", text: "2")
32
32
  end
33
33
  end
34
34
 
@@ -37,18 +37,18 @@ describe "Facets" do
37
37
  fill_in "q", with: 'history'
38
38
  click_button 'search'
39
39
  within ("#sortAndPerPage") do
40
- expect(page).to have_content "1 - 9 of 9"
40
+ expect(page).to have_content "1 - 10 of 11"
41
41
  end
42
42
 
43
- within "#facet-language_facet" do
43
+ within "#facet-language_ssim" do
44
44
  click_link "Tibetan"
45
45
  end
46
46
  within ("#sortAndPerPage") do
47
47
  expect(page).to have_content "1 - 2 of 2"
48
48
  end
49
- within "#facet-language_facet" do
50
- expect(page).to have_selector("span.selected", :text => "Tibetan")
51
- expect(page).to have_selector("span.facet-count.selected", :text => "2")
49
+ within "#facet-language_ssim" do
50
+ expect(page).to have_selector("span.selected", text: "Tibetan")
51
+ expect(page).to have_selector("span.facet-count.selected", text: "2")
52
52
  end
53
53
  within "#appliedParams" do
54
54
  expect(page).to have_content "You searched for:"
@@ -60,29 +60,29 @@ describe "Facets" do
60
60
  within ("#sortAndPerPage") do
61
61
  expect(page).to have_content "1 entry found"
62
62
  end
63
- within "#facet-language_facet" do
64
- expect(page).to have_selector("span.selected", :text => "Tibetan")
65
- expect(page).to have_selector("span.facet-count.selected", :text => "1")
63
+ within "#facet-language_ssim" do
64
+ expect(page).to have_selector("span.selected", text: "Tibetan")
65
+ expect(page).to have_selector("span.facet-count.selected", text: "1")
66
66
  end
67
- within(".blacklight-pub_date") do
68
- expect(page).to have_selector("span.selected", :text => "2004")
69
- expect(page).to have_selector("span.facet-count.selected", :text => "1")
67
+ within(".blacklight-pub_date_ssim") do
68
+ expect(page).to have_selector("span.selected", text: "2004")
69
+ expect(page).to have_selector("span.facet-count.selected", text: "1")
70
70
  end
71
71
  end
72
72
 
73
73
  it "allows removing filters" do
74
74
  visit root_path
75
- within "#facet-language_facet" do
75
+ within "#facet-language_ssim" do
76
76
  click_link "Tibetan"
77
77
  end
78
- within "#facet-language_facet" do
79
- expect(page).to have_selector("span.selected", :text => "Tibetan")
80
- expect(page).to have_selector("span.facet-count.selected", :text => "6")
78
+ within "#facet-language_ssim" do
79
+ expect(page).to have_selector("span.selected", text: "Tibetan")
80
+ expect(page).to have_selector("span.facet-count.selected", text: "6")
81
81
  end
82
- within "#facet-language_facet" do
82
+ within "#facet-language_ssim" do
83
83
  click_link 'remove'
84
84
  end
85
- expect(page).to_not have_link 'remove'
85
+ expect(page).not_to have_link 'remove'
86
86
  expect(page).to have_content('Welcome!')
87
87
  end
88
88
 
@@ -90,34 +90,34 @@ describe "Facets" do
90
90
  visit root_path
91
91
  fill_in "q", with: 'history'
92
92
  click_button 'search'
93
- within "#facet-language_facet" do
93
+ within "#facet-language_ssim" do
94
94
  click_link 'Tibetan'
95
95
  end
96
- within "#facet-language_facet" do
97
- expect(page).to have_selector("span.selected", :text => "Tibetan")
98
- expect(page).to have_selector("span.facet-count.selected", :text => "2")
96
+ within "#facet-language_ssim" do
97
+ expect(page).to have_selector("span.selected", text: "Tibetan")
98
+ expect(page).to have_selector("span.facet-count.selected", text: "2")
99
99
  end
100
100
 
101
101
  click_link '2004'
102
102
 
103
- within "#facet-language_facet" do
104
- expect(page).to have_selector("span.selected", :text => "Tibetan")
105
- expect(page).to have_selector("span.facet-count.selected", :text => "1")
103
+ within "#facet-language_ssim" do
104
+ expect(page).to have_selector("span.selected", text: "Tibetan")
105
+ expect(page).to have_selector("span.facet-count.selected", text: "1")
106
106
  end
107
- within(".blacklight-pub_date") do
108
- expect(page).to have_selector("span.selected", :text => "2004")
109
- expect(page).to have_selector("span.facet-count.selected", :text => "1")
107
+ within(".blacklight-pub_date_ssim") do
108
+ expect(page).to have_selector("span.selected", text: "2004")
109
+ expect(page).to have_selector("span.facet-count.selected", text: "1")
110
110
  end
111
111
  fill_in "q", with: 'china'
112
112
  click_button 'search'
113
113
 
114
- within "#facet-language_facet" do
115
- expect(page).to have_selector("span.selected", :text => "Tibetan")
116
- expect(page).to have_selector("span.facet-count.selected", :text => "1")
114
+ within "#facet-language_ssim" do
115
+ expect(page).to have_selector("span.selected", text: "Tibetan")
116
+ expect(page).to have_selector("span.facet-count.selected", text: "1")
117
117
  end
118
- within(".blacklight-pub_date") do
119
- expect(page).to have_selector("span.selected", :text => "2004")
120
- expect(page).to have_selector("span.facet-count.selected", :text => "1")
118
+ within(".blacklight-pub_date_ssim") do
119
+ expect(page).to have_selector("span.selected", text: "2004")
120
+ expect(page).to have_selector("span.facet-count.selected", text: "1")
121
121
  end
122
122
  end
123
123
 
@@ -125,17 +125,17 @@ describe "Facets" do
125
125
  visit root_path
126
126
  fill_in "q", with: 'history'
127
127
  click_button 'search'
128
- within "#facet-language_facet" do
128
+ within "#facet-language_ssim" do
129
129
  click_link 'Tibetan'
130
130
  end
131
- within "#facet-language_facet" do
132
- expect(page).to have_selector("span.selected", :text => "Tibetan")
133
- expect(page).to have_selector("span.facet-count.selected", :text => "2")
131
+ within "#facet-language_ssim" do
132
+ expect(page).to have_selector("span.selected", text: "Tibetan")
133
+ expect(page).to have_selector("span.facet-count.selected", text: "2")
134
134
  end
135
135
  click_link 'title'
136
- within "#facet-language_facet" do
137
- expect(page).to have_selector("span.selected", :text => "Tibetan")
138
- expect(page).to have_selector("span.facet-count.selected", :text => "2")
136
+ within "#facet-language_ssim" do
137
+ expect(page).to have_selector("span.selected", text: "Tibetan")
138
+ expect(page).to have_selector("span.facet-count.selected", text: "2")
139
139
  end
140
140
  within "#appliedParams" do
141
141
  expect(page).to have_content "You searched for:"
@@ -147,62 +147,62 @@ describe "Facets" do
147
147
  visit root_path
148
148
  fill_in "q", with: 'history'
149
149
  click_button 'search'
150
- within "#facet-language_facet" do
150
+ within "#facet-language_ssim" do
151
151
  click_link 'Tibetan'
152
152
  end
153
- within "#facet-language_facet" do
154
- expect(page).to have_selector("span.selected", :text => "Tibetan")
155
- expect(page).to have_selector("span.facet-count.selected", :text => "2")
153
+ within "#facet-language_ssim" do
154
+ expect(page).to have_selector("span.selected", text: "Tibetan")
155
+ expect(page).to have_selector("span.facet-count.selected", text: "2")
156
156
  end
157
157
  within '#per_page-dropdown' do
158
158
  click_link '20'
159
159
  end
160
- within "#facet-language_facet" do
161
- expect(page).to have_selector("span.selected", :text => "Tibetan")
162
- expect(page).to have_selector("span.facet-count.selected", :text => "2")
160
+ within "#facet-language_ssim" do
161
+ expect(page).to have_selector("span.selected", text: "Tibetan")
162
+ expect(page).to have_selector("span.facet-count.selected", text: "2")
163
163
  end
164
164
  within "#appliedParams" do
165
165
  expect(page).to have_content "You searched for:"
166
166
  expect(page).to have_content "history"
167
167
  end
168
168
  end
169
- it "is collapsed when not selected", :js => true do
169
+ it "is collapsed when not selected", js: true do
170
170
  skip("Test passes locally but not on Travis.") if ENV['TRAVIS']
171
171
  visit root_path
172
- within(".blacklight-subject_topic_facet") do
173
- expect(page).not_to have_selector(".panel-collapse", :visible => true)
172
+ within(".blacklight-subject_ssim") do
173
+ expect(page).not_to have_selector(".card-body", visible: true)
174
174
  end
175
175
  end
176
- it "expands when the heading is clicked", :js => true do
176
+ it "expands when the heading is clicked", js: true do
177
177
  skip("Test passes locally but not on Travis.") if ENV['TRAVIS']
178
178
  visit root_path
179
- within(".blacklight-subject_topic_facet") do
180
- expect(page).not_to have_selector(".panel-collapse", :visible => true)
181
- find(".panel-heading").click
182
- expect(page).to have_selector(".panel-collapse", :visible => true)
179
+ within(".blacklight-subject_ssim") do
180
+ expect(page).not_to have_selector(".card-body", visible: true)
181
+ find(".card-header").click
182
+ expect(page).to have_selector(".card-body", visible: true)
183
183
  end
184
184
  end
185
- it "expands when the anchor is clicked", :js => true do
185
+ it "expands when the anchor is clicked", js: true do
186
186
  skip("Test passes locally but not on Travis.") if ENV['TRAVIS']
187
187
  visit root_path
188
- within(".blacklight-subject_topic_facet") do
189
- expect(page).not_to have_selector(".panel-collapse", :visible => true)
190
- find(".panel-heading").click
191
- expect(page).to have_selector(".panel-collapse", :visible => true)
188
+ within(".blacklight-subject_ssim") do
189
+ expect(page).not_to have_selector(".card-body", visible: true)
190
+ find(".card-header").click
191
+ expect(page).to have_selector(".card-body", visible: true)
192
192
  end
193
193
  end
194
- it "keeps selected facets expanded on page load", :js => true do
194
+ it "keeps selected facets expanded on page load", js: true do
195
195
  skip("Test passes locally but not on Travis.") if ENV['TRAVIS']
196
196
  visit root_path
197
- within(".blacklight-subject_topic_facet") do
198
- find(".panel-heading").click
199
- expect(page).to have_selector(".panel-collapse", :visible => true)
197
+ within(".blacklight-subject_ssim") do
198
+ click_link "Topic"
199
+ expect(page).to have_selector(".panel-collapse", visible: true)
200
200
  end
201
- within(".blacklight-subject_topic_facet") do
201
+ within(".blacklight-subject_ssim") do
202
202
  click_link "Japanese drama"
203
203
  end
204
- within(".blacklight-subject_topic_facet") do
205
- expect(page).to have_selector(".panel-collapse", :visible => true)
204
+ within(".blacklight-subject_ssim") do
205
+ expect(page).to have_selector(".panel-collapse", visible: true)
206
206
  end
207
207
  end
208
208
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- describe "Search Formats" do
3
+ RSpec.describe "Search Formats" do
4
4
  it "has an RSS XML response" do
5
5
  visit "/catalog.rss?q="
6
6
  expect(page).to have_content "Blacklight Search Results"
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- describe "Search History Page" do
3
+ RSpec.describe "Search History Page" do
4
4
  describe "navigating from the homepage" do
5
5
  it "has a link to the history page" do
6
6
  visit root_path
@@ -17,10 +17,11 @@ describe "Search History Page" do
17
17
  click_button 'search'
18
18
  click_link 'History'
19
19
  end
20
+
20
21
  it "shows searches" do
21
22
  expect(page).to have_content 'Your recent searches'
22
23
  expect(page).to have_content 'book'
23
- expect(page).to_not have_content 'dang'
24
+ expect(page).not_to have_content 'dang'
24
25
  visit root_path
25
26
  fill_in "q", with: 'dang'
26
27
  click_button 'search'
@@ -39,37 +40,13 @@ describe "Search History Page" do
39
40
  click_button 'search'
40
41
  click_link 'History'
41
42
  end
43
+
42
44
  it "is able to clear the history" do
43
45
  click_link "Clear Search History"
44
46
  expect(page).to have_content 'Cleared your search history.'
45
47
  expect(page).to have_content 'You have no search history'
46
- expect(page).to_not have_content 'book'
47
- expect(page).to_not have_content 'dang'
48
- end
49
- end
50
-
51
- describe "when logged in" do
52
- before do
53
- sign_in 'user1'
54
- fill_in "q", with: 'book'
55
- click_button 'search'
56
- click_link 'History'
57
- end
58
-
59
- it "saves and forget the search" do
60
- click_button 'save'
61
- expect(page).to have_content 'Successfully saved your search.'
62
- click_button 'forget'
63
- expect(page).to have_content 'Successfully removed that saved search.'
64
- expect(page).to have_button 'save'
65
- end
66
-
67
- it "does not show results after logging out" do
68
- click_button 'save'
69
- expect(page).to have_content 'Successfully saved your search.'
70
- click_link 'Log Out'
71
- click_link 'History'
72
- expect(page).to_not have_content 'book'
48
+ expect(page).not_to have_content 'book'
49
+ expect(page).not_to have_content 'dang'
73
50
  end
74
51
  end
75
52
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- describe "Search Pagination" do
3
+ RSpec.describe "Search Pagination" do
4
4
  it "has results with pagination" do
5
5
  visit root_path
6
6
  fill_in "q", with: ''
@@ -13,7 +13,6 @@ describe "Search Pagination" do
13
13
  expect(page).to have_link('50')
14
14
  expect(page).to have_link('100')
15
15
  end
16
-
17
16
  end
18
17
  within '#sortAndPerPage' do
19
18
  click_link "Next »"
@@ -46,14 +45,17 @@ describe "Search Pagination" do
46
45
  describe "when the application is configured for other per page values" do
47
46
  let!(:original_per_page) { CatalogController.blacklight_config[:per_page] }
48
47
  let!(:original_rows) { CatalogController.blacklight_config[:default_solr_params][:rows] }
48
+
49
49
  before do
50
50
  CatalogController.blacklight_config[:per_page] = [15, 30]
51
51
  CatalogController.blacklight_config[:default_solr_params][:rows] = 15
52
52
  end
53
+
53
54
  after do
54
55
  CatalogController.blacklight_config[:per_page] = original_per_page
55
56
  CatalogController.blacklight_config[:default_solr_params][:rows] = original_rows
56
57
  end
58
+
57
59
  it "uses the configured values" do
58
60
  visit root_path
59
61
  fill_in "q", with: ''
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- describe "Search Results" do
3
+ RSpec.describe "Search Results" do
4
4
  it "has for an empty query" do
5
5
  search_for ''
6
6
  expect(number_of_results_from_page(page)).to eq 30
7
- expect(page).to have_xpath("//a[contains(@href, #{2007020969})]")
7
+ expect(page).to have_xpath("//a[contains(@href, 2007020969)]")
8
8
  search_for 'korea'
9
9
  expect(number_of_results_from_page(page)).to eq 4
10
10
  end
@@ -12,7 +12,7 @@ describe "Search Results" do
12
12
  it "finds same result set with or without diacritcs" do
13
13
  search_for 'inmul'
14
14
  expect(number_of_results_from_page(page)).to eq 1
15
- expect(page).to have_xpath("//a[contains(@href, #{77826928})]")
15
+ expect(page).to have_xpath("//a[contains(@href, 77826928)]")
16
16
 
17
17
  search_for 'inmül'
18
18
  expect(number_of_results_from_page(page)).to eq 1
@@ -20,7 +20,7 @@ describe "Search Results" do
20
20
  it "finds same result set for a case-insensitive query" do
21
21
  search_for 'inmul'
22
22
  expect(number_of_results_from_page(page)).to eq 1
23
- expect(page).to have_xpath("//a[contains(@href, #{77826928})]")
23
+ expect(page).to have_xpath("//a[contains(@href, 77826928)]")
24
24
 
25
25
  search_for 'INMUL'
26
26
  expect(number_of_results_from_page(page)).to eq 1
@@ -29,8 +29,7 @@ describe "Search Results" do
29
29
  it "orders by relevancy" do
30
30
  search_for "Korea"
31
31
  expect(position_in_result_page(page, '77826928')).to eq 1
32
- expect(position_in_result_page(page, '94120425')).to eq 2
33
-
32
+ expect(position_in_result_page(page, '94120425')).to eq 4
34
33
  end
35
34
 
36
35
  it "has an opensearch description document" do
@@ -55,11 +54,10 @@ describe "Search Results" do
55
54
  expect(page).to have_content "No results found for your search"
56
55
  expect(page).to have_content "you searched by Author"
57
56
  click_on "try searching everything"
58
- expect(page).to have_xpath("//a[contains(@href, #{77826928})]")
57
+ expect(page).to have_xpath("//a[contains(@href, 77826928)]")
59
58
  end
60
59
  end
61
60
 
62
-
63
61
  def search_for q
64
62
  visit root_path
65
63
  fill_in "q", with: q
@@ -69,14 +67,14 @@ end
69
67
  def position_in_result_page(page, id)
70
68
  i = -1
71
69
  page.all(".index_title a").each_with_index do |link, idx|
72
- i = (idx+1) if link['href'] =~ Regexp.new(Regexp.escape(id) + "$")
70
+ i = (idx + 1) if link['href'] =~ Regexp.new(Regexp.escape(id) + "$")
73
71
  end
74
72
  i.to_i
75
73
  end
76
-
74
+
77
75
  def number_of_results_for_query(query)
78
76
  visit root_path
79
- fill_in "q", :with => query
77
+ fill_in "q", with: query
80
78
  click_button "search"
81
79
  get_number_of_results_from_page(page)
82
80
  end
@@ -84,7 +82,11 @@ end
84
82
  def number_of_results_from_page(page)
85
83
  tmp_value = Capybara.ignore_hidden_elements
86
84
  Capybara.ignore_hidden_elements = false
87
- val = page.find("meta[name=totalResults]")['content'].to_i rescue 0
85
+ val = begin
86
+ page.find("meta[name=totalResults]")['content'].to_i
87
+ rescue StandardError
88
+ 0
89
+ end
88
90
  Capybara.ignore_hidden_elements = tmp_value
89
91
  val
90
92
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- describe "Search Sort" do
3
+ RSpec.describe "Search Sort" do
4
4
  it "sorts on facet results with no search terms" do
5
5
  visit root_path
6
- within "#facet-language_facet" do
6
+ within "#facet-language_ssim" do
7
7
  click_link 'English'
8
8
  end
9
9
  expect(page).to have_content 'Sort by relevance'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- describe "Search Page" do
3
+ RSpec.describe "Search Page" do
4
4
  it "shows welcome" do
5
5
  visit root_path
6
6
  expect(page).to have_selector("input#q")
@@ -11,8 +11,8 @@ describe "Search Page" do
11
11
  expect(page).to have_selector('option', text: 'Subject')
12
12
  end
13
13
  expect(page).to have_selector("button[type='submit'] .submit-search-text")
14
- expect(page).to_not have_selector("#startOverLink")
15
-
14
+ expect(page).not_to have_link "Start Over"
15
+
16
16
  expect(page).to have_content "Welcome!"
17
17
  tmp_value = Capybara.ignore_hidden_elements
18
18
  Capybara.ignore_hidden_elements = false
@@ -25,7 +25,7 @@ describe "Search Page" do
25
25
  fill_in "q", with: 'history'
26
26
  select 'All Fields', from: 'search_field'
27
27
  click_button 'search'
28
-
28
+
29
29
  tmp_value = Capybara.ignore_hidden_elements
30
30
  Capybara.ignore_hidden_elements = false
31
31
  expect(page).to have_selector("link[rel=alternate][type='application/rss+xml']")
@@ -49,7 +49,7 @@ describe "Search Page" do
49
49
 
50
50
  within ("#sortAndPerPage") do
51
51
  expect(page).to have_content "Sort by"
52
- expect(page).to have_content "1 - 9 of 9"
52
+ expect(page).to have_content "1 - 10 of 11"
53
53
  within '#sort-dropdown' do
54
54
  expect(page).to have_link('relevance')
55
55
  expect(page).to have_link('year')
@@ -58,7 +58,7 @@ describe "Search Page" do
58
58
  end
59
59
  end
60
60
  within "#documents" do
61
- expect(page).to have_selector(".document", count: 9)
61
+ expect(page).to have_selector(".document", count: 10)
62
62
  end
63
63
  end
64
64
 
@@ -108,12 +108,11 @@ describe "Search Page" do
108
108
  click_link "Start Over"
109
109
 
110
110
  expect(page).to have_content "Welcome!"
111
- expect(page).to_not have_selector "#q[value='history']"
111
+ expect(page).not_to have_selector "#q[value='history']"
112
112
  end
113
113
 
114
114
  it "handles searches with invalid facet parameters" do
115
- visit root_path f: { missing_s: [1]}
115
+ visit root_path f: { missing_s: [1] }
116
116
  expect(page).to have_content "No results found for your search"
117
117
  end
118
118
  end
119
-
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- feature 'Sitelinks search box' do
4
- scenario 'is home page' do
3
+ describe 'Sitelinks search box' do
4
+ it 'is home page' do
5
5
  visit root_path
6
6
  expect(page).to have_css 'script[type="application/ld+json"]'
7
7
  end
8
- scenario 'on search page' do
8
+ it 'on search page' do
9
9
  visit search_catalog_path q: 'book'
10
- expect(page).to_not have_css 'script[type="application/ld+json"]'
10
+ expect(page).not_to have_css 'script[type="application/ld+json"]'
11
11
  end
12
12
  end