blacklight 8.2.2 → 8.3.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 (122) hide show
  1. checksums.yaml +4 -4
  2. data/.env +1 -1
  3. data/.github/workflows/ruby.yml +56 -62
  4. data/.rubocop.yml +226 -21
  5. data/VERSION +1 -1
  6. data/app/assets/stylesheets/blacklight/_mixins.scss +2 -17
  7. data/app/components/blacklight/facet_item_pivot_component.rb +2 -2
  8. data/app/components/blacklight/system/dropdown_component.rb +1 -1
  9. data/app/helpers/blacklight/catalog_helper_behavior.rb +1 -5
  10. data/app/helpers/blacklight/layout_helper_behavior.rb +3 -3
  11. data/app/views/shared/_flash_messages.html.erb +1 -1
  12. data/lib/blacklight/configuration.rb +1 -0
  13. data/lib/blacklight/nested_open_struct_with_hash_access.rb +2 -2
  14. data/lib/blacklight/solr/request.rb +1 -1
  15. data/lib/blacklight/solr/response/facets.rb +1 -1
  16. data/lib/blacklight/solr/search_builder_behavior.rb +1 -1
  17. data/package.json +1 -1
  18. data/spec/components/blacklight/advanced_search_form_component_spec.rb +2 -2
  19. data/spec/components/blacklight/constraint_layout_component_spec.rb +11 -11
  20. data/spec/components/blacklight/constraints_component_spec.rb +9 -9
  21. data/spec/components/blacklight/document/group_component_spec.rb +3 -3
  22. data/spec/components/blacklight/document/sidebar_component_spec.rb +3 -4
  23. data/spec/components/blacklight/document_component_spec.rb +21 -25
  24. data/spec/components/blacklight/facet_component_spec.rb +2 -2
  25. data/spec/components/blacklight/facet_field_checkboxes_component_spec.rb +5 -5
  26. data/spec/components/blacklight/facet_field_list_component_spec.rb +13 -13
  27. data/spec/components/blacklight/facet_item_component_spec.rb +5 -5
  28. data/spec/components/blacklight/facet_item_pivot_component_spec.rb +6 -6
  29. data/spec/components/blacklight/header_component_spec.rb +1 -2
  30. data/spec/components/blacklight/hidden_search_state_component_spec.rb +6 -6
  31. data/spec/components/blacklight/metadata_field_component_spec.rb +3 -3
  32. data/spec/components/blacklight/response/pagination_component_spec.rb +4 -4
  33. data/spec/components/blacklight/search_context/server_applied_params_component_spec.rb +1 -1
  34. data/spec/components/blacklight/search_context/server_item_pagination_component_spec.rb +1 -3
  35. data/spec/components/blacklight/system/flash_message_component_spec.rb +5 -5
  36. data/spec/controllers/blacklight/catalog_spec.rb +1 -1
  37. data/spec/controllers/blacklight/{catalog/component_configuration_spec.rb → configurable_spec.rb} +1 -1
  38. data/spec/controllers/bookmarks_controller_spec.rb +10 -10
  39. data/spec/controllers/catalog_controller_spec.rb +24 -26
  40. data/spec/features/advanced_search_spec.rb +14 -14
  41. data/spec/features/alternate_controller_spec.rb +9 -9
  42. data/spec/features/axe_spec.rb +4 -4
  43. data/spec/features/bookmarks_spec.rb +19 -19
  44. data/spec/features/citation_spec.rb +1 -1
  45. data/spec/features/did_you_mean_spec.rb +23 -23
  46. data/spec/features/facet_missing_spec.rb +9 -9
  47. data/spec/features/facets_spec.rb +21 -20
  48. data/spec/features/modal_spec.rb +4 -4
  49. data/spec/features/record_view_spec.rb +2 -2
  50. data/spec/features/search_context_spec.rb +6 -6
  51. data/spec/features/search_crawler_spec.rb +5 -5
  52. data/spec/features/search_filters_spec.rb +65 -65
  53. data/spec/features/search_history_spec.rb +12 -12
  54. data/spec/features/search_pagination_spec.rb +10 -10
  55. data/spec/features/search_results_spec.rb +1 -1
  56. data/spec/features/search_sort_spec.rb +4 -4
  57. data/spec/features/search_spec.rb +25 -25
  58. data/spec/features/sitelinks_search_box_spec.rb +2 -2
  59. data/spec/features/sms_spec.rb +1 -1
  60. data/spec/helpers/blacklight/layout_helper_behavior_spec.rb +20 -3
  61. data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +2 -1
  62. data/spec/helpers/blacklight/url_helper_behavior_spec.rb +7 -8
  63. data/spec/helpers/blacklight_helper_spec.rb +13 -15
  64. data/spec/helpers/catalog_helper_spec.rb +3 -6
  65. data/spec/i18n_spec.rb +2 -1
  66. data/spec/lib/blacklight/search_state_spec.rb +4 -4
  67. data/spec/lib/tasks/blacklight_task_spec.rb +2 -1
  68. data/spec/models/blacklight/configurable_spec.rb +1 -1
  69. data/spec/models/blacklight/configuration/context_spec.rb +1 -1
  70. data/spec/models/blacklight/configuration_spec.rb +2 -2
  71. data/spec/models/blacklight/document/active_model_shim_spec.rb +1 -1
  72. data/spec/models/blacklight/document/cache_key_spec.rb +1 -1
  73. data/spec/models/blacklight/document_spec.rb +1 -1
  74. data/spec/models/blacklight/facet_paginator_spec.rb +14 -14
  75. data/spec/models/blacklight/icon_spec.rb +1 -1
  76. data/spec/models/blacklight/search_builder_spec.rb +1 -1
  77. data/spec/models/blacklight/solr/document_spec.rb +1 -1
  78. data/spec/models/blacklight/solr/facet_paginator_spec.rb +1 -1
  79. data/spec/models/blacklight/solr/repository_spec.rb +2 -2
  80. data/spec/models/blacklight/solr/request_spec.rb +1 -1
  81. data/spec/models/blacklight/solr/response/facets_spec.rb +1 -1
  82. data/spec/models/blacklight/solr/response/group_response_spec.rb +1 -1
  83. data/spec/models/blacklight/solr/response/group_spec.rb +1 -1
  84. data/spec/models/blacklight/solr/response_spec.rb +1 -1
  85. data/spec/models/blacklight/solr/{search_builder_spec.rb → search_builder_behavior_spec.rb} +9 -19
  86. data/spec/models/blacklight/suggest/response_spec.rb +1 -1
  87. data/spec/models/blacklight/suggest_search_spec.rb +1 -1
  88. data/spec/models/blacklight/user_spec.rb +1 -1
  89. data/spec/models/solr_document_spec.rb +1 -1
  90. data/spec/presenters/blacklight/document_presenter_spec.rb +1 -2
  91. data/spec/presenters/blacklight/field_presenter_spec.rb +1 -1
  92. data/spec/presenters/blacklight/index_presenter_spec.rb +2 -3
  93. data/spec/presenters/blacklight/json_presenter_spec.rb +1 -1
  94. data/spec/presenters/{pipeline_spec.rb → blacklight/rendering/pipeline_spec.rb} +1 -1
  95. data/spec/presenters/blacklight/show_presenter_spec.rb +5 -6
  96. data/spec/presenters/{thumbnail_presenter_spec.rb → blacklight/thumbnail_presenter_spec.rb} +5 -3
  97. data/spec/routing/catalog_routing_spec.rb +1 -1
  98. data/spec/services/blacklight/field_retriever_spec.rb +1 -1
  99. data/spec/services/blacklight/search_service_spec.rb +9 -9
  100. data/spec/spec_helper.rb +2 -2
  101. data/spec/support/features/search_helpers.rb +2 -2
  102. data/spec/support/features/session_helpers.rb +3 -3
  103. data/spec/test_app_templates/lib/generators/test_app_generator.rb +2 -2
  104. data/spec/views/catalog/_document.html.erb_spec.rb +1 -4
  105. data/spec/views/catalog/_document_list.html.erb_spec.rb +2 -2
  106. data/spec/views/catalog/_facet_index_navigation.html.erb_spec.rb +5 -6
  107. data/spec/views/catalog/_facet_layout.html.erb_spec.rb +7 -7
  108. data/spec/views/catalog/_paginate_compact.html.erb_spec.rb +4 -4
  109. data/spec/views/catalog/_show_sidebar.erb_spec.rb +1 -4
  110. data/spec/views/catalog/_show_tools.html.erb_spec.rb +1 -2
  111. data/spec/views/catalog/_view_type_group.html.erb_spec.rb +7 -7
  112. data/spec/views/catalog/email_success.html.erb_spec.rb +1 -1
  113. data/spec/views/catalog/facet.html.erb_spec.rb +1 -1
  114. data/spec/views/catalog/facet.json.jbuilder_spec.rb +1 -1
  115. data/spec/views/catalog/index.atom.builder_spec.rb +18 -19
  116. data/spec/views/catalog/index.html.erb_spec.rb +2 -4
  117. data/spec/views/catalog/index.json.jbuilder_spec.rb +5 -8
  118. data/spec/views/catalog/show.html.erb_spec.rb +3 -5
  119. data/spec/views/catalog/show.json.jbuilder_spec.rb +1 -2
  120. data/spec/views/catalog/sms_success.html.erb_spec.rb +1 -1
  121. data/spec/views/shared/_user_util_links.html.erb_spec.rb +2 -3
  122. metadata +10 -10
@@ -14,12 +14,12 @@ RSpec.describe "Facet missing" do
14
14
  visit root_path
15
15
 
16
16
  within "#facet-subject_geo_ssim" do
17
- click_link "[Missing]"
17
+ click_on "[Missing]"
18
18
  end
19
19
 
20
20
  within "#facet-subject_geo_ssim" do
21
- expect(page).to have_selector("span.selected", text: "[Missing")
22
- expect(page).to have_selector("span.facet-count.selected", text: "13")
21
+ expect(page).to have_css("span.selected", text: "[Missing")
22
+ expect(page).to have_css("span.facet-count.selected", text: "13")
23
23
  end
24
24
 
25
25
  within "#sortAndPerPage" do
@@ -36,14 +36,14 @@ RSpec.describe "Facet missing" do
36
36
  visit root_path
37
37
 
38
38
  within "#facet-subject_geo_ssim" do
39
- click_link "[Missing]"
39
+ click_on "[Missing]"
40
40
  end
41
41
 
42
42
  within "#facet-subject_geo_ssim" do
43
- click_link "remove"
43
+ click_on "remove"
44
44
  end
45
45
 
46
- expect(page).not_to have_link "remove"
46
+ expect(page).to have_no_link "remove"
47
47
  expect(page).to have_content("Welcome!")
48
48
  end
49
49
  end
@@ -53,14 +53,14 @@ RSpec.describe "Facet missing" do
53
53
  visit root_path
54
54
 
55
55
  within "#facet-subject_geo_ssim" do
56
- click_link "[Missing]"
56
+ click_on "[Missing]"
57
57
  end
58
58
 
59
59
  within ".filter-subject_geo_ssim" do
60
- click_link "Remove constraint Region: [Missing]"
60
+ click_on "Remove constraint Region: [Missing]"
61
61
  end
62
62
 
63
- expect(page).not_to have_link "remove"
63
+ expect(page).to have_no_link "remove"
64
64
  expect(page).to have_content("Welcome!")
65
65
  end
66
66
  end
@@ -3,31 +3,31 @@
3
3
  RSpec.describe "Facets" do
4
4
  it "shows a single facet's values" do
5
5
  visit facet_catalog_path("language_ssim")
6
- expect(page).to have_selector ".modal-title", text: "Language"
7
- expect(page).to have_selector ".facet-select", text: "Tibetan"
6
+ expect(page).to have_css ".modal-title", text: "Language"
7
+ expect(page).to have_css ".facet-select", text: "Tibetan"
8
8
  end
9
9
 
10
10
  it "paginates through a facet's values" do
11
11
  visit facet_catalog_path("subject_ssim")
12
- expect(page).to have_selector '.facet-values li:first', text: "Japanese drama"
12
+ expect(page).to have_css '.facet-values li:first', text: "Japanese drama"
13
13
  expect(page).to have_link "A-Z Sort"
14
- expect(page).to have_selector '.sort-options .active', text: "Numerical Sort"
14
+ expect(page).to have_css '.sort-options .active', text: "Numerical Sort"
15
15
  within ".modal-footer" do
16
16
  click_on "Next »"
17
17
  end
18
- expect(page).to have_selector '.facet-values li:first', text: "Jewish law"
18
+ expect(page).to have_css '.facet-values li:first', text: "Jewish law"
19
19
  expect(page).to have_link "« Previous"
20
20
  end
21
21
 
22
22
  it "is able to change the facet sort" do
23
23
  visit facet_catalog_path("subject_ssim")
24
- expect(page).to have_selector '.facet-values li:first', text: "Japanese drama"
24
+ expect(page).to have_css '.facet-values li:first', text: "Japanese drama"
25
25
  within ".modal-footer" do
26
26
  click_on "A-Z Sort"
27
27
  end
28
- expect(page).to have_selector '.facet-values li:first', text: "Accident insurance"
28
+ expect(page).to have_css '.facet-values li:first', text: "Accident insurance"
29
29
  expect(page).to have_link "Numerical Sort"
30
- expect(page).to have_selector '.sort-options .active', text: "A-Z Sort"
30
+ expect(page).to have_css '.sort-options .active', text: "A-Z Sort"
31
31
  end
32
32
 
33
33
  it "is able to sort more facet window by letter" do
@@ -35,44 +35,44 @@ RSpec.describe "Facets" do
35
35
  within ".modal-footer" do
36
36
  click_on "A-Z Sort"
37
37
  end
38
- expect(page).to have_selector '.facet-values li:first', text: "Accident insurance"
38
+ expect(page).to have_css '.facet-values li:first', text: "Accident insurance"
39
39
  expect(page).to have_css '.facet-values li', count: 20
40
40
  click_on 'B'
41
- expect(page).to have_selector '.facet-values li:first', text: "Buddhism"
41
+ expect(page).to have_css '.facet-values li:first', text: "Buddhism"
42
42
  expect(page).to have_css '.facet-values li', count: 1
43
43
  click_on 'T'
44
- expect(page).to have_selector '.facet-values li:first', text: "Teaching"
44
+ expect(page).to have_css '.facet-values li:first', text: "Teaching"
45
45
  expect(page).to have_css '.facet-values li', count: 4
46
46
  click_on 'All'
47
- expect(page).to have_selector '.facet-values li:first', text: "Accident insurance"
47
+ expect(page).to have_css '.facet-values li:first', text: "Accident insurance"
48
48
  expect(page).to have_css '.facet-values li', count: 20
49
49
  find(:css, ".facet-pagination.bottom").click_on "Numerical Sort"
50
- expect(page).to have_selector '.facet-values li:first', text: "Japanese drama"
50
+ expect(page).to have_css '.facet-values li:first', text: "Japanese drama"
51
51
  expect(page).to have_css '.facet-values li', count: 20
52
52
  end
53
53
 
54
- it 'is able to expand facets when javascript is enabled', js: true do
54
+ it 'is able to expand facets when javascript is enabled', :js do
55
55
  visit root_path
56
56
 
57
57
  expect(page).to have_css('#facet-format', visible: false)
58
58
 
59
- page.find('h3.facet-field-heading button', text: 'Format').click
59
+ click_on 'Format'
60
60
 
61
61
  sleep(1) # let facet animation finish and wait for it to potentially re-collapse
62
62
 
63
63
  expect(page).to have_css('#facet-format', visible: true) # assert that it didn't re-collapse
64
64
  end
65
65
 
66
- it 'is able to expand pivot facets when javascript is enabled', js: true do
66
+ it 'is able to expand pivot facets when javascript is enabled', :js do
67
67
  visit root_path
68
68
 
69
- page.find('h3.facet-field-heading button', text: 'Pivot Field').click
69
+ click_on 'Pivot Field'
70
70
 
71
71
  within '#facet-example_pivot_field' do
72
72
  expect(page).to have_css('.facet-leaf-node', text: "Book 30", normalize_ws: true)
73
- expect(page).not_to have_css('.facet-select', text: 'Tibetan')
73
+ expect(page).to have_no_css('.facet-select', text: 'Tibetan')
74
74
  page.find('.facet-toggle-handle').click
75
- click_link 'Tibetan'
75
+ click_on 'Tibetan'
76
76
  end
77
77
 
78
78
  expect(page).to have_css('.constraint-value', text: 'Format Book')
@@ -83,7 +83,8 @@ RSpec.describe "Facets" do
83
83
  it 'changes to the button on button click in Firefox' do
84
84
  pending 'Capybara::NotSupportedByDriverError: Capybara::Driver::Base#evaluate_script'
85
85
  visit root_path
86
- page.find('h3.facet-field-heading button', text: 'Format').click
86
+ click_on 'Format'
87
+
87
88
  focused_element_data_target = page.evaluate_script("document.activeElement")['data-bs-target']
88
89
  expect(focused_element_data_target).to eq '#facet-format'
89
90
  end
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe 'Modal' do
4
- it 'can open and dismiss the email modal', js: true do
4
+ it 'can open and dismiss the email modal', :js do
5
5
  visit solr_document_path('2007020969')
6
6
  expect(page).to have_no_selector 'dialog#blacklight-modal'
7
- click_link 'Email'
8
- expect(page).to have_selector 'dialog#blacklight-modal'
9
- click_button '×'
7
+ click_on 'Email'
8
+ expect(page).to have_css 'dialog#blacklight-modal'
9
+ click_on '×'
10
10
  expect(page).to have_no_selector 'dialog#blacklight-modal'
11
11
  end
12
12
  end
@@ -15,13 +15,13 @@ RSpec.describe "Record View" do
15
15
  expect(page).to have_content "E99.D2 H437 2008"
16
16
  tmp_value = Capybara.ignore_hidden_elements
17
17
  Capybara.ignore_hidden_elements = false
18
- expect(page).to have_selector("link[rel=alternate]")
18
+ expect(page).to have_css("link[rel=alternate]")
19
19
  Capybara.ignore_hidden_elements = tmp_value
20
20
  end
21
21
 
22
22
  it "does not display blank titles" do
23
23
  visit solr_document_path('2008305903')
24
- expect(page).not_to have_content "More Information:"
24
+ expect(page).to have_no_content "More Information:"
25
25
  end
26
26
 
27
27
  it "does not display vernacular records" do
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe "Search Results context" do
4
- it "passes the current search id through", js: true do
4
+ it "passes the current search id through", :js do
5
5
  search_for ''
6
6
  click_on 'Pluvial nectar of blessings'
7
7
  search_id = Search.last.id.to_s
@@ -16,11 +16,11 @@ RSpec.describe "Search Results context" do
16
16
  expect(prev['data-context-href']).to eq "/catalog/2004310986/track?counter=8&document_id=2004310986&search_id=#{search_id}"
17
17
  end
18
18
 
19
- it "redirects context urls to the original url", js: true do
19
+ it "redirects context urls to the original url", :js do
20
20
  search_for ''
21
21
  first('.index_title a').click
22
22
  expect(page).to have_content "« Previous | 1 of 30 | Next »"
23
- expect(page.current_url).not_to have_content "/track"
23
+ expect(page.current_url).to have_no_content "/track"
24
24
  end
25
25
 
26
26
  it 'shows "Back to Search" and "Start Over links"' do
@@ -38,12 +38,12 @@ RSpec.describe "Search Results context" do
38
38
 
39
39
  # Go to the number 9 result separately
40
40
  visit '/catalog/2003546302'
41
- expect(page).not_to have_selector '.page-links'
42
- expect(page).not_to have_content "« Previous | 10 of 30 | Next »"
41
+ expect(page).to have_no_css '.page-links'
42
+ expect(page).to have_no_content "« Previous | 10 of 30 | Next »"
43
43
  end
44
44
 
45
45
  context "navigating between search results using context pagination" do
46
- it "updates the back to search link with the current search pagination context", js: true do
46
+ it "updates the back to search link with the current search pagination context", :js do
47
47
  search_for ''
48
48
  expect(page).to have_content "1 - 10"
49
49
  find_all('.index_title a').last.click
@@ -2,27 +2,27 @@
2
2
 
3
3
  RSpec.describe "Search History Page" do
4
4
  describe "crawler search" do
5
- let(:original_proc) { ::CatalogController.blacklight_config.crawler_detector }
5
+ let(:original_proc) { CatalogController.blacklight_config.crawler_detector }
6
6
 
7
7
  before do
8
- ::CatalogController.blacklight_config.crawler_detector = ->(req) { req.env['HTTP_USER_AGENT'] =~ /Googlebot/ }
8
+ CatalogController.blacklight_config.crawler_detector = ->(req) { req.env['HTTP_USER_AGENT'] =~ /Googlebot/ }
9
9
  end
10
10
 
11
11
  after do
12
- ::CatalogController.blacklight_config.crawler_detector = original_proc
12
+ CatalogController.blacklight_config.crawler_detector = original_proc
13
13
  end
14
14
 
15
15
  it "remembers human searches" do
16
16
  visit root_path
17
17
  fill_in "q", with: 'chicken'
18
- expect { click_button 'search' }.to change(Search, :count).by(1)
18
+ expect { click_on 'search' }.to change(Search, :count).by(1)
19
19
  end
20
20
 
21
21
  it "doesn't remember bot searches" do
22
22
  page.driver.header('User-Agent', 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)')
23
23
  visit root_path
24
24
  fill_in "q", with: 'chicken'
25
- expect { click_button 'search' }.not_to change(Search, :count)
25
+ expect { click_on 'search' }.not_to change(Search, :count)
26
26
  end
27
27
  end
28
28
  end
@@ -4,138 +4,138 @@ RSpec.describe "Facets" do
4
4
  it "works without a search term" do
5
5
  visit root_path
6
6
  within "#facet-language_ssim" do
7
- click_link "Tibetan"
7
+ click_on "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_ssim")
14
- expect(page).to have_selector(".blacklight-language_ssim.facet-limit-active")
13
+ expect(page).to have_css(".blacklight-language_ssim")
14
+ expect(page).to have_css(".blacklight-language_ssim.facet-limit-active")
15
15
 
16
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")
17
+ expect(page).to have_css("span.selected", text: "Tibetan")
18
+ expect(page).to have_css("span.facet-count.selected", text: "6")
19
19
  end
20
20
 
21
- click_link "India"
21
+ click_on "India"
22
22
  within ("#sortAndPerPage") do
23
23
  expect(page).to have_content "1 - 2 of 2"
24
24
  end
25
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")
26
+ expect(page).to have_css("span.selected", text: "Tibetan")
27
+ expect(page).to have_css("span.facet-count.selected", text: "2")
28
28
  end
29
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")
30
+ expect(page).to have_css("span.selected", text: "India")
31
+ expect(page).to have_css("span.facet-count.selected", text: "2")
32
32
  end
33
33
  end
34
34
 
35
35
  it "works in conjunction with a search term" do
36
36
  visit root_path
37
37
  fill_in "q", with: 'history'
38
- click_button 'search'
38
+ click_on 'search'
39
39
  within ("#sortAndPerPage") do
40
40
  expect(page).to have_content "1 - 10 of 11"
41
41
  end
42
42
 
43
43
  within "#facet-language_ssim" do
44
- click_link "Tibetan"
44
+ click_on "Tibetan"
45
45
  end
46
46
  within ("#sortAndPerPage") do
47
47
  expect(page).to have_content "1 - 2 of 2"
48
48
  end
49
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")
50
+ expect(page).to have_css("span.selected", text: "Tibetan")
51
+ expect(page).to have_css("span.facet-count.selected", text: "2")
52
52
  end
53
53
  within "#appliedParams" do
54
54
  expect(page).to have_content "You searched for:"
55
55
  expect(page).to have_content "history"
56
56
  end
57
57
 
58
- click_link "2004"
58
+ click_on "2004"
59
59
 
60
60
  within ("#sortAndPerPage") do
61
61
  expect(page).to have_content "1 entry found"
62
62
  end
63
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")
64
+ expect(page).to have_css("span.selected", text: "Tibetan")
65
+ expect(page).to have_css("span.facet-count.selected", text: "1")
66
66
  end
67
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")
68
+ expect(page).to have_css("span.selected", text: "2004")
69
+ expect(page).to have_css("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
75
  within "#facet-language_ssim" do
76
- click_link "Tibetan"
76
+ click_on "Tibetan"
77
77
  end
78
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")
79
+ expect(page).to have_css("span.selected", text: "Tibetan")
80
+ expect(page).to have_css("span.facet-count.selected", text: "6")
81
81
  end
82
82
  within "#facet-language_ssim" do
83
- click_link 'remove'
83
+ click_on 'remove'
84
84
  end
85
- expect(page).not_to have_link 'remove'
85
+ expect(page).to have_no_link 'remove'
86
86
  expect(page).to have_content('Welcome!')
87
87
  end
88
88
 
89
89
  it "retains filters when you change the search term" do
90
90
  visit root_path
91
91
  fill_in "q", with: 'history'
92
- click_button 'search'
92
+ click_on 'search'
93
93
  within "#facet-language_ssim" do
94
- click_link 'Tibetan'
94
+ click_on 'Tibetan'
95
95
  end
96
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")
97
+ expect(page).to have_css("span.selected", text: "Tibetan")
98
+ expect(page).to have_css("span.facet-count.selected", text: "2")
99
99
  end
100
100
 
101
- click_link '2004'
101
+ click_on '2004'
102
102
 
103
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")
104
+ expect(page).to have_css("span.selected", text: "Tibetan")
105
+ expect(page).to have_css("span.facet-count.selected", text: "1")
106
106
  end
107
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")
108
+ expect(page).to have_css("span.selected", text: "2004")
109
+ expect(page).to have_css("span.facet-count.selected", text: "1")
110
110
  end
111
111
  fill_in "q", with: 'china'
112
- click_button 'search'
112
+ click_on 'search'
113
113
 
114
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")
115
+ expect(page).to have_css("span.selected", text: "Tibetan")
116
+ expect(page).to have_css("span.facet-count.selected", text: "1")
117
117
  end
118
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")
119
+ expect(page).to have_css("span.selected", text: "2004")
120
+ expect(page).to have_css("span.facet-count.selected", text: "1")
121
121
  end
122
122
  end
123
123
 
124
124
  it "retains the filters when we change sort" do
125
125
  visit root_path
126
126
  fill_in "q", with: 'history'
127
- click_button 'search'
127
+ click_on 'search'
128
128
  within "#facet-language_ssim" do
129
- click_link 'Tibetan'
129
+ click_on 'Tibetan'
130
130
  end
131
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")
132
+ expect(page).to have_css("span.selected", text: "Tibetan")
133
+ expect(page).to have_css("span.facet-count.selected", text: "2")
134
134
  end
135
- click_link 'title'
135
+ click_on 'title'
136
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")
137
+ expect(page).to have_css("span.selected", text: "Tibetan")
138
+ expect(page).to have_css("span.facet-count.selected", text: "2")
139
139
  end
140
140
  within "#appliedParams" do
141
141
  expect(page).to have_content "You searched for:"
@@ -146,20 +146,20 @@ RSpec.describe "Facets" do
146
146
  it "retains the filters when we change per page number" do
147
147
  visit root_path
148
148
  fill_in "q", with: 'history'
149
- click_button 'search'
149
+ click_on 'search'
150
150
  within "#facet-language_ssim" do
151
- click_link 'Tibetan'
151
+ click_on 'Tibetan'
152
152
  end
153
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")
154
+ expect(page).to have_css("span.selected", text: "Tibetan")
155
+ expect(page).to have_css("span.facet-count.selected", text: "2")
156
156
  end
157
157
  within '#per_page-dropdown' do
158
- click_link '20'
158
+ click_on '20'
159
159
  end
160
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")
161
+ expect(page).to have_css("span.selected", text: "Tibetan")
162
+ expect(page).to have_css("span.facet-count.selected", text: "2")
163
163
  end
164
164
  within "#appliedParams" do
165
165
  expect(page).to have_content "You searched for:"
@@ -167,46 +167,46 @@ RSpec.describe "Facets" do
167
167
  end
168
168
  end
169
169
 
170
- it "is collapsed when not selected", js: true do
170
+ it "is collapsed when not selected", :js do
171
171
  visit root_path
172
172
 
173
173
  within(".blacklight-subject_ssim") do
174
- expect(page).not_to have_selector(".card-body", visible: true)
174
+ expect(page).to have_no_css(".card-body", visible: true)
175
175
  end
176
176
  end
177
177
 
178
- it "expands when the heading button is clicked", js: true do
178
+ it "expands when the heading button is clicked", :js do
179
179
  visit root_path
180
180
 
181
181
  within(".blacklight-subject_ssim") do
182
- expect(page).not_to have_selector(".card-body", visible: true)
183
- find(".card-header button").click
184
- expect(page).to have_selector(".card-body", visible: true)
182
+ expect(page).to have_no_css(".card-body", visible: true)
183
+ click_on 'Topic'
184
+ expect(page).to have_css(".card-body", visible: true)
185
185
  end
186
186
  end
187
187
 
188
- it "expands when the button is clicked", js: true do
188
+ it "expands when the button is clicked", :js do
189
189
  visit root_path
190
190
 
191
191
  within(".blacklight-subject_ssim") do
192
- expect(page).not_to have_selector(".card-body", visible: true)
192
+ expect(page).to have_no_css(".card-body", visible: true)
193
193
  find(".card-header").click
194
- expect(page).to have_selector(".card-body", visible: true)
194
+ expect(page).to have_css(".card-body", visible: true)
195
195
  end
196
196
  end
197
197
 
198
- it "keeps selected facets expanded on page load", js: true do
198
+ it "keeps selected facets expanded on page load", :js do
199
199
  visit root_path
200
200
 
201
201
  within(".blacklight-subject_ssim") do
202
202
  page.find('h3.facet-field-heading', text: 'Topic').click
203
- expect(page).to have_selector(".panel-collapse", visible: true)
203
+ expect(page).to have_css(".panel-collapse", visible: true)
204
204
  end
205
205
  within(".blacklight-subject_ssim") do
206
- click_link "Japanese drama"
206
+ click_on "Japanese drama"
207
207
  end
208
208
  within(".blacklight-subject_ssim") do
209
- expect(page).to have_selector(".panel-collapse", visible: true)
209
+ expect(page).to have_css(".panel-collapse", visible: true)
210
210
  end
211
211
  end
212
212
  end
@@ -4,7 +4,7 @@ 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
7
- click_link 'History'
7
+ click_on 'History'
8
8
  expect(page).to have_content 'Search History'
9
9
  expect(page).to have_content 'You have no search history'
10
10
  end
@@ -14,18 +14,18 @@ RSpec.describe "Search History Page" do
14
14
  before do
15
15
  visit root_path
16
16
  fill_in "q", with: 'book'
17
- click_button 'search'
18
- click_link 'History'
17
+ click_on 'search'
18
+ click_on 'History'
19
19
  end
20
20
 
21
21
  it "shows searches" do
22
22
  expect(page).to have_content 'Your recent searches'
23
23
  expect(page).to have_content 'book'
24
- expect(page).not_to have_content 'dang'
24
+ expect(page).to have_no_content 'dang'
25
25
  visit root_path
26
26
  fill_in "q", with: 'dang'
27
- click_button 'search'
28
- click_link 'History'
27
+ click_on 'search'
28
+ click_on 'History'
29
29
  expect(page).to have_content 'book'
30
30
  expect(page).to have_content 'dang'
31
31
  end
@@ -35,18 +35,18 @@ RSpec.describe "Search History Page" do
35
35
  before do
36
36
  visit root_path
37
37
  fill_in "q", with: 'book'
38
- click_button 'search'
38
+ click_on 'search'
39
39
  fill_in "q", with: 'dang'
40
- click_button 'search'
41
- click_link 'History'
40
+ click_on 'search'
41
+ click_on 'History'
42
42
  end
43
43
 
44
44
  it "is able to clear the history" do
45
- click_link "Clear Search History"
45
+ click_on "Clear Search History"
46
46
  expect(page).to have_content 'Cleared your search history.'
47
47
  expect(page).to have_content 'You have no search history'
48
- expect(page).not_to have_content 'book'
49
- expect(page).not_to have_content 'dang'
48
+ expect(page).to have_no_content 'book'
49
+ expect(page).to have_no_content 'dang'
50
50
  end
51
51
  end
52
52
  end