blacklight 8.2.2 → 8.4.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.
- checksums.yaml +4 -4
- data/.env +1 -1
- data/.github/workflows/ruby.yml +60 -62
- data/.rubocop.yml +229 -21
- data/.rubocop_todo.yml +22 -55
- data/Gemfile +2 -10
- data/README.md +2 -2
- data/VERSION +1 -1
- data/app/assets/javascripts/blacklight/blacklight.esm.js +5 -1
- data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -1
- data/app/assets/javascripts/blacklight/blacklight.js +5 -1
- data/app/assets/javascripts/blacklight/blacklight.js.map +1 -1
- data/app/assets/stylesheets/blacklight/_balanced_list.scss +1 -1
- data/app/assets/stylesheets/blacklight/_bookmark.scss +30 -0
- data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +0 -4
- data/app/assets/stylesheets/blacklight/_constraints.scss +15 -9
- data/app/assets/stylesheets/blacklight/_controls.scss +0 -1
- data/app/assets/stylesheets/blacklight/_facets.scss +33 -37
- data/app/assets/stylesheets/blacklight/_header.scss +2 -35
- data/app/assets/stylesheets/blacklight/_icons.scss +3 -2
- data/app/assets/stylesheets/blacklight/_layout.scss +3 -0
- data/app/assets/stylesheets/blacklight/_mixins.scss +6 -21
- data/app/assets/stylesheets/blacklight/_search_form.scss +3 -8
- data/app/assets/stylesheets/blacklight/_search_history.scss +5 -5
- data/app/assets/stylesheets/blacklight/_search_results.scss +5 -2
- data/app/assets/stylesheets/blacklight/blacklight_defaults.scss +16 -10
- data/app/components/blacklight/advanced_search_form_component.html.erb +1 -1
- data/app/components/blacklight/advanced_search_form_component.rb +6 -0
- data/app/components/blacklight/constraint_layout_component.html.erb +2 -9
- data/app/components/blacklight/constraint_layout_component.rb +8 -0
- data/app/components/blacklight/constraints_component.rb +3 -3
- data/app/components/blacklight/document/action_component.rb +2 -1
- data/app/components/blacklight/document/bookmark_component.html.erb +2 -1
- data/app/components/blacklight/document/bookmark_component.rb +6 -0
- data/app/components/blacklight/document/page_header_component.html.erb +7 -0
- data/app/components/blacklight/document/page_header_component.rb +85 -0
- data/app/components/blacklight/document_component.rb +1 -1
- data/app/components/blacklight/facet_component.rb +1 -1
- data/app/components/blacklight/facet_field_checkboxes_component.html.erb +1 -1
- data/app/components/blacklight/facet_field_checkboxes_component.rb +1 -1
- data/app/components/blacklight/facet_field_inclusive_constraint_component.html.erb +1 -1
- data/app/components/blacklight/facet_field_list_component.html.erb +1 -1
- data/app/components/blacklight/facet_item_component.rb +1 -1
- data/app/components/blacklight/facet_item_pivot_component.rb +2 -2
- data/app/components/blacklight/icons/bookmark_icon_component.rb +17 -0
- data/app/components/blacklight/icons/icon_component.rb +9 -4
- data/app/components/blacklight/icons/remove_component.rb +16 -0
- data/app/components/blacklight/metadata_field_component.html.erb +1 -1
- data/app/components/blacklight/metadata_field_component.rb +5 -0
- data/app/components/blacklight/response/facet_group_component.rb +1 -1
- data/app/components/blacklight/response/pagination_component.html.erb +1 -1
- data/app/components/blacklight/response/sort_component.html.erb +1 -6
- data/app/components/blacklight/response/sort_component.rb +15 -0
- data/app/components/blacklight/search/per_page_component.html.erb +2 -0
- data/app/components/blacklight/search/per_page_component.rb +50 -0
- data/app/components/blacklight/search_bar_component.html.erb +1 -1
- data/app/components/blacklight/search_context/server_item_pagination_component.html.erb +4 -7
- data/app/components/blacklight/skip_link_component.html.erb +7 -0
- data/app/components/blacklight/skip_link_component.rb +17 -0
- data/app/components/blacklight/system/dropdown_button_component.rb +18 -0
- data/app/components/blacklight/system/dropdown_component.rb +4 -7
- data/app/components/blacklight/system/flash_message_component.html.erb +1 -1
- data/app/components/blacklight/top_navbar_component.html.erb +2 -2
- data/app/components/blacklight/top_navbar_component.rb +4 -0
- data/app/helpers/blacklight/catalog_helper_behavior.rb +3 -5
- data/app/helpers/blacklight/component_helper_behavior.rb +4 -4
- data/app/helpers/blacklight/configuration_helper_behavior.rb +2 -0
- data/app/helpers/blacklight/layout_helper_behavior.rb +3 -3
- data/app/javascript/blacklight/checkbox_submit.js +5 -1
- data/app/models/concerns/blacklight/document/semantic_fields.rb +1 -1
- data/app/presenters/blacklight/facet_checkbox_item_presenter.rb +11 -0
- data/app/presenters/blacklight/facet_field_presenter.rb +9 -1
- data/app/services/blacklight/search_service.rb +9 -1
- data/app/views/catalog/_per_page_widget.html.erb +1 -10
- data/app/views/catalog/_search_results.html.erb +1 -1
- data/app/views/catalog/_show_main_content.html.erb +1 -1
- data/app/views/catalog/show.html.erb +0 -2
- data/app/views/catalog/suggest.html.erb +1 -1
- data/app/views/kaminari/blacklight/_page.html.erb +14 -8
- data/app/views/layouts/blacklight/base.html.erb +3 -4
- data/app/views/shared/_flash_messages.html.erb +1 -1
- data/blacklight.gemspec +4 -0
- data/{docker-compose.yml → compose.yaml} +1 -1
- data/config/locales/blacklight.ar.yml +3 -0
- data/config/locales/blacklight.de.yml +3 -0
- data/config/locales/blacklight.en.yml +216 -229
- data/config/locales/blacklight.es.yml +3 -0
- data/config/locales/blacklight.fr.yml +3 -0
- data/config/locales/blacklight.hu.yml +3 -0
- data/config/locales/blacklight.it.yml +3 -0
- data/config/locales/blacklight.nl.yml +3 -0
- data/config/locales/blacklight.pt-BR.yml +3 -0
- data/config/locales/blacklight.sq.yml +3 -0
- data/config/locales/blacklight.zh.yml +3 -0
- data/lib/blacklight/abstract_repository.rb +6 -0
- data/lib/blacklight/configuration.rb +33 -19
- data/lib/blacklight/nested_open_struct_with_hash_access.rb +2 -2
- data/lib/blacklight/parameters.rb +1 -1
- data/lib/blacklight/solr/repository.rb +11 -4
- data/lib/blacklight/solr/request.rb +1 -1
- data/lib/blacklight/solr/response/facets.rb +1 -1
- data/lib/blacklight/solr/response/params.rb +1 -1
- data/lib/blacklight/solr/response.rb +0 -12
- data/lib/blacklight/solr/search_builder_behavior.rb +2 -2
- data/lib/blacklight/solr.rb +0 -6
- data/lib/blacklight.rb +4 -14
- data/lib/generators/blacklight/assets/propshaft_generator.rb +2 -2
- data/lib/generators/blacklight/models_generator.rb +1 -1
- data/package.json +1 -1
- data/spec/components/blacklight/advanced_search_form_component_spec.rb +2 -2
- data/spec/components/blacklight/constraint_layout_component_spec.rb +11 -11
- data/spec/components/blacklight/constraints_component_spec.rb +9 -9
- data/spec/components/blacklight/document/action_component_spec.rb +1 -1
- data/spec/components/blacklight/document/group_component_spec.rb +3 -3
- data/spec/components/blacklight/document/page_header_component_spec.rb +92 -0
- data/spec/components/blacklight/document/sidebar_component_spec.rb +3 -4
- data/spec/components/blacklight/document_component_spec.rb +41 -25
- data/spec/components/blacklight/facet_component_spec.rb +2 -2
- data/spec/components/blacklight/facet_field_checkboxes_component_spec.rb +5 -5
- data/spec/components/blacklight/facet_field_list_component_spec.rb +13 -13
- data/spec/components/blacklight/facet_item_component_spec.rb +5 -5
- data/spec/components/blacklight/facet_item_pivot_component_spec.rb +6 -6
- data/spec/components/blacklight/header_component_spec.rb +1 -2
- data/spec/components/blacklight/hidden_search_state_component_spec.rb +6 -6
- data/spec/components/blacklight/icons/icon_component_spec.rb +42 -0
- data/spec/components/blacklight/metadata_field_component_spec.rb +3 -3
- data/spec/components/blacklight/response/pagination_component_spec.rb +4 -4
- data/spec/components/blacklight/search_context/server_applied_params_component_spec.rb +1 -1
- data/spec/components/blacklight/search_context/server_item_pagination_component_spec.rb +2 -4
- data/spec/components/blacklight/system/flash_message_component_spec.rb +5 -5
- data/spec/controllers/blacklight/catalog_spec.rb +2 -2
- data/spec/controllers/blacklight/{catalog/component_configuration_spec.rb → configurable_spec.rb} +1 -1
- data/spec/controllers/bookmarks_controller_spec.rb +10 -10
- data/spec/controllers/catalog_controller_spec.rb +29 -31
- data/spec/features/advanced_search_spec.rb +30 -16
- data/spec/features/alternate_controller_spec.rb +9 -9
- data/spec/features/axe_spec.rb +4 -4
- data/spec/features/bookmarks_spec.rb +34 -19
- data/spec/features/citation_spec.rb +1 -1
- data/spec/features/did_you_mean_spec.rb +23 -23
- data/spec/features/facet_missing_spec.rb +9 -9
- data/spec/features/facets_spec.rb +21 -20
- data/spec/features/modal_spec.rb +4 -4
- data/spec/features/record_view_spec.rb +2 -2
- data/spec/features/search_context_spec.rb +6 -6
- data/spec/features/search_crawler_spec.rb +5 -5
- data/spec/features/search_filters_spec.rb +65 -65
- data/spec/features/search_history_spec.rb +12 -12
- data/spec/features/search_pagination_spec.rb +10 -10
- data/spec/features/search_results_spec.rb +1 -1
- data/spec/features/search_sort_spec.rb +4 -4
- data/spec/features/search_spec.rb +25 -25
- data/spec/features/sitelinks_search_box_spec.rb +2 -2
- data/spec/features/sms_spec.rb +1 -1
- data/spec/helpers/blacklight/facets_helper_behavior_spec.rb +2 -2
- data/spec/helpers/blacklight/layout_helper_behavior_spec.rb +20 -3
- data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +2 -1
- data/spec/helpers/blacklight/url_helper_behavior_spec.rb +7 -8
- data/spec/helpers/blacklight_helper_spec.rb +13 -15
- data/spec/helpers/catalog_helper_spec.rb +3 -6
- data/spec/i18n_spec.rb +2 -1
- data/spec/lib/blacklight/nested_open_struct_with_hash_access_spec.rb +1 -1
- data/spec/lib/blacklight/open_struct_with_hash_access_spec.rb +1 -1
- data/spec/lib/blacklight/search_state_spec.rb +4 -4
- data/spec/lib/tasks/blacklight_task_spec.rb +2 -1
- data/spec/models/blacklight/configurable_spec.rb +1 -1
- data/spec/models/blacklight/configuration/context_spec.rb +1 -1
- data/spec/models/blacklight/configuration_spec.rb +14 -14
- data/spec/models/blacklight/document/active_model_shim_spec.rb +1 -1
- data/spec/models/blacklight/document/cache_key_spec.rb +1 -1
- data/spec/models/blacklight/document_spec.rb +1 -1
- data/spec/models/blacklight/facet_paginator_spec.rb +14 -14
- data/spec/models/blacklight/icon_spec.rb +1 -1
- data/spec/models/blacklight/search_builder_spec.rb +1 -1
- data/spec/models/blacklight/solr/document_spec.rb +3 -3
- data/spec/models/blacklight/solr/facet_paginator_spec.rb +1 -1
- data/spec/models/blacklight/solr/repository_spec.rb +33 -15
- data/spec/models/blacklight/solr/request_spec.rb +1 -1
- data/spec/models/blacklight/solr/response/facets_spec.rb +3 -3
- data/spec/models/blacklight/solr/response/group_response_spec.rb +1 -1
- data/spec/models/blacklight/solr/response/group_spec.rb +2 -2
- data/spec/models/blacklight/solr/response_spec.rb +3 -3
- data/spec/models/blacklight/solr/{search_builder_spec.rb → search_builder_behavior_spec.rb} +10 -20
- data/spec/models/blacklight/suggest/response_spec.rb +1 -1
- data/spec/models/blacklight/suggest_search_spec.rb +1 -1
- data/spec/models/blacklight/user_spec.rb +1 -1
- data/spec/models/bookmark_spec.rb +1 -1
- data/spec/models/solr_document_spec.rb +1 -1
- data/spec/presenters/blacklight/document_presenter_spec.rb +3 -4
- data/spec/presenters/blacklight/facet_checkbox_item_presenter_spec.rb +42 -0
- data/spec/presenters/blacklight/facet_field_presenter_spec.rb +14 -0
- data/spec/presenters/blacklight/field_presenter_spec.rb +1 -1
- data/spec/presenters/blacklight/index_presenter_spec.rb +2 -3
- data/spec/presenters/blacklight/json_presenter_spec.rb +1 -1
- data/spec/presenters/{pipeline_spec.rb → blacklight/rendering/pipeline_spec.rb} +1 -1
- data/spec/presenters/blacklight/show_presenter_spec.rb +5 -6
- data/spec/presenters/{thumbnail_presenter_spec.rb → blacklight/thumbnail_presenter_spec.rb} +5 -3
- data/spec/requests/load_suggestions_spec.rb +5 -5
- data/spec/routing/catalog_routing_spec.rb +1 -1
- data/spec/services/blacklight/field_retriever_spec.rb +1 -1
- data/spec/services/blacklight/search_service_spec.rb +11 -11
- data/spec/spec_helper.rb +2 -2
- data/spec/support/features/search_helpers.rb +2 -2
- data/spec/support/features/session_helpers.rb +3 -3
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +3 -3
- data/spec/views/catalog/_document.html.erb_spec.rb +1 -4
- data/spec/views/catalog/_document_list.html.erb_spec.rb +2 -2
- data/spec/views/catalog/_facet_index_navigation.html.erb_spec.rb +5 -6
- data/spec/views/catalog/_facet_layout.html.erb_spec.rb +7 -7
- data/spec/views/catalog/_paginate_compact.html.erb_spec.rb +4 -4
- data/spec/views/catalog/_show_sidebar.erb_spec.rb +1 -4
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +1 -2
- data/spec/views/catalog/_view_type_group.html.erb_spec.rb +7 -7
- data/spec/views/catalog/email_success.html.erb_spec.rb +1 -1
- data/spec/views/catalog/facet.html.erb_spec.rb +1 -1
- data/spec/views/catalog/facet.json.jbuilder_spec.rb +1 -1
- data/spec/views/catalog/index.atom.builder_spec.rb +18 -19
- data/spec/views/catalog/index.html.erb_spec.rb +2 -4
- data/spec/views/catalog/index.json.jbuilder_spec.rb +5 -8
- data/spec/views/catalog/show.html.erb_spec.rb +3 -5
- data/spec/views/catalog/show.json.jbuilder_spec.rb +1 -2
- data/spec/views/catalog/sms_success.html.erb_spec.rb +1 -1
- data/spec/views/shared/_user_util_links.html.erb_spec.rb +2 -3
- data/tasks/blacklight.rake +5 -5
- metadata +84 -12
@@ -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
|
-
|
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
|
14
|
-
expect(page).to
|
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
|
18
|
-
expect(page).to
|
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
|
-
|
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
|
27
|
-
expect(page).to
|
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
|
31
|
-
expect(page).to
|
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
|
-
|
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
|
-
|
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
|
51
|
-
expect(page).to
|
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
|
-
|
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
|
65
|
-
expect(page).to
|
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
|
69
|
-
expect(page).to
|
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
|
-
|
76
|
+
click_on "Tibetan"
|
77
77
|
end
|
78
78
|
within "#facet-language_ssim" do
|
79
|
-
expect(page).to
|
80
|
-
expect(page).to
|
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
|
-
|
83
|
+
click_on 'remove'
|
84
84
|
end
|
85
|
-
expect(page).
|
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
|
-
|
92
|
+
click_on 'search'
|
93
93
|
within "#facet-language_ssim" do
|
94
|
-
|
94
|
+
click_on 'Tibetan'
|
95
95
|
end
|
96
96
|
within "#facet-language_ssim" do
|
97
|
-
expect(page).to
|
98
|
-
expect(page).to
|
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
|
-
|
101
|
+
click_on '2004'
|
102
102
|
|
103
103
|
within "#facet-language_ssim" do
|
104
|
-
expect(page).to
|
105
|
-
expect(page).to
|
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
|
109
|
-
expect(page).to
|
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
|
-
|
112
|
+
click_on 'search'
|
113
113
|
|
114
114
|
within "#facet-language_ssim" do
|
115
|
-
expect(page).to
|
116
|
-
expect(page).to
|
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
|
120
|
-
expect(page).to
|
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
|
-
|
127
|
+
click_on 'search'
|
128
128
|
within "#facet-language_ssim" do
|
129
|
-
|
129
|
+
click_on 'Tibetan'
|
130
130
|
end
|
131
131
|
within "#facet-language_ssim" do
|
132
|
-
expect(page).to
|
133
|
-
expect(page).to
|
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
|
-
|
135
|
+
click_on 'title'
|
136
136
|
within "#facet-language_ssim" do
|
137
|
-
expect(page).to
|
138
|
-
expect(page).to
|
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
|
-
|
149
|
+
click_on 'search'
|
150
150
|
within "#facet-language_ssim" do
|
151
|
-
|
151
|
+
click_on 'Tibetan'
|
152
152
|
end
|
153
153
|
within "#facet-language_ssim" do
|
154
|
-
expect(page).to
|
155
|
-
expect(page).to
|
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
|
-
|
158
|
+
click_on '20'
|
159
159
|
end
|
160
160
|
within "#facet-language_ssim" do
|
161
|
-
expect(page).to
|
162
|
-
expect(page).to
|
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
|
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).
|
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
|
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).
|
183
|
-
|
184
|
-
expect(page).to
|
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
|
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).
|
192
|
+
expect(page).to have_no_css(".card-body", visible: true)
|
193
193
|
find(".card-header").click
|
194
|
-
expect(page).to
|
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
|
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
|
203
|
+
expect(page).to have_css(".panel-collapse", visible: true)
|
204
204
|
end
|
205
205
|
within(".blacklight-subject_ssim") do
|
206
|
-
|
206
|
+
click_on "Japanese drama"
|
207
207
|
end
|
208
208
|
within(".blacklight-subject_ssim") do
|
209
|
-
expect(page).to
|
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
|
-
|
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
|
-
|
18
|
-
|
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).
|
24
|
+
expect(page).to have_no_content 'dang'
|
25
25
|
visit root_path
|
26
26
|
fill_in "q", with: 'dang'
|
27
|
-
|
28
|
-
|
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
|
-
|
38
|
+
click_on 'search'
|
39
39
|
fill_in "q", with: 'dang'
|
40
|
-
|
41
|
-
|
40
|
+
click_on 'search'
|
41
|
+
click_on 'History'
|
42
42
|
end
|
43
43
|
|
44
44
|
it "is able to clear the history" do
|
45
|
-
|
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).
|
49
|
-
expect(page).
|
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
|
@@ -4,7 +4,7 @@ RSpec.describe "Search Pagination" do
|
|
4
4
|
it "has results with pagination" do
|
5
5
|
visit root_path
|
6
6
|
fill_in "q", with: ''
|
7
|
-
|
7
|
+
click_on 'search'
|
8
8
|
within ("#sortAndPerPage") do
|
9
9
|
expect(page).to have_content "1 - 10 of "
|
10
10
|
within '#per_page-dropdown' do
|
@@ -15,11 +15,11 @@ RSpec.describe "Search Pagination" do
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
within '#sortAndPerPage' do
|
18
|
-
|
18
|
+
click_on "Next »"
|
19
19
|
end
|
20
20
|
within "#sortAndPerPage" do
|
21
21
|
expect(page).to have_content "11 - 20 of "
|
22
|
-
|
22
|
+
click_on "« Previous"
|
23
23
|
end
|
24
24
|
within "#sortAndPerPage" do
|
25
25
|
expect(page).to have_content "1 - 10 of "
|
@@ -29,13 +29,13 @@ RSpec.describe "Search Pagination" do
|
|
29
29
|
it "is able to change the number of items per page" do
|
30
30
|
visit root_path
|
31
31
|
fill_in "q", with: ''
|
32
|
-
|
32
|
+
click_on 'search'
|
33
33
|
within ("#sortAndPerPage") do
|
34
34
|
expect(page).to have_content "1 - 10 of "
|
35
35
|
end
|
36
36
|
|
37
37
|
within ("#per_page-dropdown") do
|
38
|
-
|
38
|
+
click_on '20'
|
39
39
|
end
|
40
40
|
within ("#sortAndPerPage") do
|
41
41
|
expect(page).to have_content "1 - 20 of "
|
@@ -59,7 +59,7 @@ RSpec.describe "Search Pagination" do
|
|
59
59
|
it "uses the configured values" do
|
60
60
|
visit root_path
|
61
61
|
fill_in "q", with: ''
|
62
|
-
|
62
|
+
click_on 'search'
|
63
63
|
within ("#sortAndPerPage") do
|
64
64
|
expect(page).to have_content "1 - 15 of "
|
65
65
|
within '#per_page-dropdown' do
|
@@ -68,7 +68,7 @@ RSpec.describe "Search Pagination" do
|
|
68
68
|
end
|
69
69
|
end
|
70
70
|
within ("#per_page-dropdown") do
|
71
|
-
|
71
|
+
click_on '30'
|
72
72
|
end
|
73
73
|
within ("#sortAndPerPage") do
|
74
74
|
expect(page).to have_content "1 - 30 of "
|
@@ -79,15 +79,15 @@ RSpec.describe "Search Pagination" do
|
|
79
79
|
it "resets the page offset to 1 when changing per page" do
|
80
80
|
visit root_path
|
81
81
|
fill_in "q", with: ''
|
82
|
-
|
82
|
+
click_on 'search'
|
83
83
|
within "#sortAndPerPage" do
|
84
|
-
|
84
|
+
click_on "Next »"
|
85
85
|
end
|
86
86
|
within "#sortAndPerPage" do
|
87
87
|
expect(page).to have_content "11 - 20 of "
|
88
88
|
end
|
89
89
|
within ("#per_page-dropdown") do
|
90
|
-
|
90
|
+
click_on '20'
|
91
91
|
end
|
92
92
|
within "#sortAndPerPage" do
|
93
93
|
expect(page).to have_content "1 - 20 of "
|
@@ -51,7 +51,7 @@ RSpec.describe "Search Results" do
|
|
51
51
|
visit root_path
|
52
52
|
fill_in "q", with: "inmul"
|
53
53
|
select "Author", from: "search_field"
|
54
|
-
|
54
|
+
click_on 'search'
|
55
55
|
expect(page).to have_content "No results found for your search"
|
56
56
|
expect(page).to have_content "you searched by Author"
|
57
57
|
click_on "try searching everything"
|
@@ -4,19 +4,19 @@ RSpec.describe "Search Sort" do
|
|
4
4
|
it "sorts on facet results with no search terms" do
|
5
5
|
visit root_path
|
6
6
|
within "#facet-language_ssim" do
|
7
|
-
|
7
|
+
click_on 'English'
|
8
8
|
end
|
9
9
|
expect(page).to have_content 'Sort by relevance'
|
10
|
-
|
10
|
+
click_on 'title'
|
11
11
|
expect(page).to have_content 'Sort by title'
|
12
12
|
end
|
13
13
|
|
14
14
|
it "sorts on search" do
|
15
15
|
visit root_path
|
16
16
|
fill_in "q", with: 'bod'
|
17
|
-
|
17
|
+
click_on 'search'
|
18
18
|
expect(page).to have_content 'Sort by relevance'
|
19
|
-
|
19
|
+
click_on 'title'
|
20
20
|
expect(page).to have_content 'Sort by title'
|
21
21
|
end
|
22
22
|
end
|
@@ -3,25 +3,25 @@
|
|
3
3
|
RSpec.describe "Search Page" do
|
4
4
|
it 'declares the page language in the html lang attribute' do
|
5
5
|
visit root_path
|
6
|
-
expect(page).to
|
6
|
+
expect(page).to have_css('html[lang=en]')
|
7
7
|
end
|
8
8
|
|
9
9
|
it "shows welcome" do
|
10
10
|
visit root_path
|
11
|
-
expect(page).to
|
11
|
+
expect(page).to have_field("search for")
|
12
12
|
within ("select#search_field") do
|
13
|
-
expect(page).to
|
14
|
-
expect(page).to
|
15
|
-
expect(page).to
|
16
|
-
expect(page).to
|
13
|
+
expect(page).to have_css('option', text: 'All Fields')
|
14
|
+
expect(page).to have_css('option', text: 'Title')
|
15
|
+
expect(page).to have_css('option', text: 'Author')
|
16
|
+
expect(page).to have_css('option', text: 'Subject')
|
17
17
|
end
|
18
|
-
expect(page).to
|
19
|
-
expect(page).
|
18
|
+
expect(page).to have_css("button[type='submit'] .submit-search-text")
|
19
|
+
expect(page).to have_no_link "Start Over"
|
20
20
|
|
21
21
|
expect(page).to have_content "Welcome!"
|
22
22
|
tmp_value = Capybara.ignore_hidden_elements
|
23
23
|
Capybara.ignore_hidden_elements = false
|
24
|
-
expect(page).to
|
24
|
+
expect(page).to have_css("link[rel=stylesheet]")
|
25
25
|
Capybara.ignore_hidden_elements = tmp_value
|
26
26
|
end
|
27
27
|
|
@@ -29,18 +29,18 @@ RSpec.describe "Search Page" do
|
|
29
29
|
visit root_path
|
30
30
|
fill_in "q", with: 'history'
|
31
31
|
select 'All Fields', from: 'search_field'
|
32
|
-
|
32
|
+
click_on 'search'
|
33
33
|
|
34
34
|
tmp_value = Capybara.ignore_hidden_elements
|
35
35
|
Capybara.ignore_hidden_elements = false
|
36
|
-
expect(page).to
|
37
|
-
expect(page).to
|
38
|
-
expect(page).to
|
36
|
+
expect(page).to have_css("link[rel=alternate][type='application/rss+xml']")
|
37
|
+
expect(page).to have_css("link[rel=alternate][type='application/atom+xml']")
|
38
|
+
expect(page).to have_css("link[rel=alternate][type='application/json']")
|
39
39
|
|
40
40
|
# opensearch
|
41
|
-
expect(page).to
|
42
|
-
expect(page).to
|
43
|
-
expect(page).to
|
41
|
+
expect(page).to have_css("meta[name=totalResults]")
|
42
|
+
expect(page).to have_css("meta[name=startIndex]")
|
43
|
+
expect(page).to have_css("meta[name=itemsPerPage]")
|
44
44
|
Capybara.ignore_hidden_elements = tmp_value
|
45
45
|
|
46
46
|
within "#appliedParams" do
|
@@ -49,7 +49,7 @@ RSpec.describe "Search Page" do
|
|
49
49
|
end
|
50
50
|
|
51
51
|
within ("select#search_field") do
|
52
|
-
expect(page).to
|
52
|
+
expect(page).to have_css("option[selected]", text: "All Fields")
|
53
53
|
end
|
54
54
|
|
55
55
|
within ("#sortAndPerPage") do
|
@@ -63,7 +63,7 @@ RSpec.describe "Search Page" do
|
|
63
63
|
end
|
64
64
|
end
|
65
65
|
within "#documents" do
|
66
|
-
expect(page).to
|
66
|
+
expect(page).to have_css(".document", count: 10)
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
@@ -71,7 +71,7 @@ RSpec.describe "Search Page" do
|
|
71
71
|
visit root_path
|
72
72
|
fill_in "q", with: 'inmul'
|
73
73
|
select 'Title', from: 'search_field'
|
74
|
-
|
74
|
+
click_on 'search'
|
75
75
|
|
76
76
|
within "#appliedParams" do
|
77
77
|
expect(page).to have_content "You searched for:"
|
@@ -79,7 +79,7 @@ RSpec.describe "Search Page" do
|
|
79
79
|
expect(page).to have_content "inmul"
|
80
80
|
end
|
81
81
|
within ("select#search_field") do
|
82
|
-
expect(page).to
|
82
|
+
expect(page).to have_css("option[selected]", text: "Title")
|
83
83
|
end
|
84
84
|
within(".index_title") do
|
85
85
|
expect(page).to have_content "1."
|
@@ -92,7 +92,7 @@ RSpec.describe "Search Page" do
|
|
92
92
|
it "shows vernacular (Linked 880) and call number" do
|
93
93
|
visit root_path
|
94
94
|
fill_in "q", with: 'history'
|
95
|
-
|
95
|
+
click_on 'search'
|
96
96
|
within "#documents" do
|
97
97
|
expect(page).to have_content "次按驟變"
|
98
98
|
expect(page).to have_content "DK861.K3 V5"
|
@@ -102,17 +102,17 @@ RSpec.describe "Search Page" do
|
|
102
102
|
it "allows you to clear the search" do
|
103
103
|
visit root_path
|
104
104
|
fill_in "q", with: 'history'
|
105
|
-
|
105
|
+
click_on 'search'
|
106
106
|
within "#appliedParams" do
|
107
107
|
expect(page).to have_content "You searched for:"
|
108
108
|
expect(page).to have_content "history"
|
109
109
|
end
|
110
110
|
|
111
|
-
expect(page).to
|
111
|
+
expect(page).to have_css "#q[value='history']"
|
112
112
|
|
113
|
-
|
113
|
+
click_on "Start Over"
|
114
114
|
|
115
115
|
expect(page).to have_content "Welcome!"
|
116
|
-
expect(page).
|
116
|
+
expect(page).to have_no_css "#q[value='history']"
|
117
117
|
end
|
118
118
|
end
|
@@ -3,11 +3,11 @@
|
|
3
3
|
RSpec.describe 'Sitelinks search box' do
|
4
4
|
it 'is home page' do
|
5
5
|
visit root_path
|
6
|
-
expect(page).to
|
6
|
+
expect(page).to have_css 'script[type="application/ld+json"]', visible: :hidden
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'on search page' do
|
10
10
|
visit search_catalog_path q: 'book'
|
11
|
-
expect(page).
|
11
|
+
expect(page).to have_no_css 'script[type="application/ld+json"]', visible: :hidden
|
12
12
|
end
|
13
13
|
end
|
data/spec/features/sms_spec.rb
CHANGED
@@ -4,7 +4,7 @@ RSpec.describe 'SMS functionality' do
|
|
4
4
|
before { visit solr_document_path('2007020969') }
|
5
5
|
|
6
6
|
it 'displays SMS modal with form' do
|
7
|
-
|
7
|
+
click_on 'SMS'
|
8
8
|
expect(find('div.modal-header')).to have_text 'SMS This'
|
9
9
|
fill_in 'Phone Number:', with: '555-555-5555'
|
10
10
|
select 'Verizon', from: 'Carrier'
|
@@ -13,7 +13,7 @@ RSpec.describe Blacklight::FacetsHelperBehavior do
|
|
13
13
|
|
14
14
|
it 'wraps the facet data in a presenter' do
|
15
15
|
presenter = helper.facet_field_presenter(facet_config, display_facet)
|
16
|
-
expect(presenter).to
|
16
|
+
expect(presenter).to be_a Blacklight::FacetFieldPresenter
|
17
17
|
expect(presenter.facet_field).to eq facet_config
|
18
18
|
expect(presenter.display_facet).to eq display_facet
|
19
19
|
expect(presenter.view_context).to eq helper
|
@@ -23,7 +23,7 @@ RSpec.describe Blacklight::FacetsHelperBehavior do
|
|
23
23
|
stub_const('SomePresenter', Class.new(Blacklight::FacetFieldPresenter))
|
24
24
|
facet_config.presenter = SomePresenter
|
25
25
|
presenter = helper.facet_field_presenter(facet_config, display_facet)
|
26
|
-
expect(presenter).to
|
26
|
+
expect(presenter).to be_a SomePresenter
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
@@ -30,9 +30,26 @@ RSpec.describe Blacklight::LayoutHelperBehavior do
|
|
30
30
|
end
|
31
31
|
|
32
32
|
describe '#container_classes' do
|
33
|
-
|
34
|
-
|
35
|
-
|
33
|
+
before do
|
34
|
+
allow(view).to receive(:blacklight_config).and_return(config)
|
35
|
+
end
|
36
|
+
|
37
|
+
context 'when not full-width' do
|
38
|
+
let(:config) { Blacklight::Configuration.new }
|
39
|
+
|
40
|
+
it 'returns a string of classe(s)' do
|
41
|
+
expect(helper.container_classes).to be_an String
|
42
|
+
expect(helper.container_classes).to eq 'container'
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context 'when full-width' do
|
47
|
+
let(:config) { Blacklight::Configuration.new(full_width_layout: true) }
|
48
|
+
|
49
|
+
it 'returns a string of classe(s)' do
|
50
|
+
expect(helper.container_classes).to be_an String
|
51
|
+
expect(helper.container_classes).to eq 'container-fluid'
|
52
|
+
end
|
36
53
|
end
|
37
54
|
end
|
38
55
|
|
@@ -40,8 +40,9 @@ RSpec.describe Blacklight::RenderPartialsHelperBehavior do
|
|
40
40
|
end
|
41
41
|
|
42
42
|
it "gets the document format from document_partial_name" do
|
43
|
-
allow(helper).to receive(:document_partial_name)
|
43
|
+
allow(helper).to receive(:document_partial_name)
|
44
44
|
helper.render_document_partial(doc, :xyz)
|
45
|
+
expect(helper).to have_received(:document_partial_name).with(doc, :xyz)
|
45
46
|
end
|
46
47
|
end
|
47
48
|
|