blacklight 3.1.2 → 3.2.0pre1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +5 -2
- data/README.md +7 -2
- data/VERSION +1 -1
- data/app/assets/images/favicon.ico +0 -0
- data/app/assets/javascripts/blacklight/blacklight.js +23 -1
- data/app/assets/stylesheets/blacklight/_catalog.css.scss +369 -0
- data/app/assets/stylesheets/blacklight/_facets.css.scss +117 -0
- data/app/assets/stylesheets/blacklight/_folder.css.scss +38 -0
- data/app/assets/stylesheets/blacklight/_formatting.css.scss +164 -0
- data/app/assets/stylesheets/blacklight/_header.css.scss +36 -0
- data/app/assets/stylesheets/blacklight/_layout.css.scss +79 -0
- data/app/assets/stylesheets/blacklight/_print.css.scss +54 -0
- data/app/assets/stylesheets/blacklight/_search_history.css.scss +44 -0
- data/app/assets/stylesheets/blacklight/_susy_framework.css.scss +228 -0
- data/app/assets/stylesheets/blacklight/blacklight.css.scss +27 -0
- data/app/assets/stylesheets/blacklight/blacklight_defaults.css.scss +48 -0
- data/app/controllers/bookmarks_controller.rb +2 -1
- data/app/controllers/folder_controller.rb +4 -0
- data/app/controllers/saved_searches_controller.rb +4 -0
- data/app/controllers/search_history_controller.rb +4 -0
- data/app/helpers/blacklight/blacklight_helper_behavior.rb +64 -104
- data/app/helpers/blacklight/catalog_helper_behavior.rb +4 -4
- data/app/helpers/blacklight/facets_helper_behavior.rb +52 -5
- data/app/helpers/blacklight/render_constraints_helper_behavior.rb +14 -59
- data/app/helpers/blacklight/search_history_constraints_helper_behavior.rb +56 -0
- data/app/helpers/search_history_constraints_helper.rb +3 -0
- data/app/models/record_mailer.rb +1 -2
- data/app/views/_flash_msg.html.erb +4 -5
- data/app/views/_user_util_links.html.erb +3 -1
- data/app/views/bookmarks/index.html.erb +2 -2
- data/app/views/catalog/_bookmark_control.html.erb +6 -6
- data/app/views/catalog/_facet_layout.html.erb +4 -0
- data/app/views/catalog/_facet_limit.html.erb +20 -33
- data/app/views/catalog/_facets.html.erb +1 -5
- data/app/views/catalog/_folder_control.html.erb +5 -5
- data/app/views/catalog/_index_default.html.erb +1 -1
- data/app/views/catalog/_search_form.html.erb +4 -3
- data/app/views/catalog/_show_default.html.erb +1 -1
- data/app/views/catalog/_show_tools.html.erb +6 -6
- data/app/views/catalog/_sort_and_per_page.html.erb +1 -1
- data/app/views/catalog/index.atom.builder +2 -2
- data/app/views/catalog/index.rss.builder +1 -1
- data/app/views/catalog/opensearch.xml.builder +10 -0
- data/app/views/catalog/show.html.erb +1 -1
- data/app/views/folder/_tools.html.erb +4 -4
- data/app/views/layouts/blacklight.html.erb +25 -37
- data/app/views/record_mailer/email_record.text.erb +1 -1
- data/app/views/record_mailer/sms_record.text.erb +2 -2
- data/app/views/search_history/index.html.erb +1 -1
- data/blacklight.gemspec +11 -9
- data/lib/{generators/blacklight/templates/SolrMarc.jar → SolrMarc.jar} +0 -0
- data/lib/blacklight.rb +5 -3
- data/lib/blacklight/catalog.rb +3 -4
- data/lib/blacklight/configurable.rb +54 -39
- data/lib/blacklight/configuration.rb +126 -0
- data/lib/blacklight/configuration/fields.rb +142 -0
- data/lib/blacklight/configuration/search_field.rb +12 -0
- data/lib/blacklight/configuration/solr_field.rb +12 -0
- data/lib/blacklight/configuration/sort_field.rb +17 -0
- data/lib/blacklight/controller.rb +16 -14
- data/lib/blacklight/engine.rb +1 -1
- data/lib/blacklight/global_configurable.rb +46 -0
- data/lib/blacklight/search_fields.rb +21 -54
- data/lib/blacklight/solr/document.rb +13 -3
- data/lib/blacklight/solr_helper.rb +88 -52
- data/lib/blacklight/utils.rb +18 -0
- data/lib/generators/blacklight/assets_generator.rb +14 -20
- data/lib/generators/blacklight/blacklight_generator.rb +14 -6
- data/lib/generators/blacklight/jetty_generator.rb +1 -1
- data/lib/generators/blacklight/templates/assets/standard.css.scss +51 -0
- data/lib/generators/blacklight/templates/catalog_controller.rb +148 -0
- data/lib/generators/blacklight/templates/config/blacklight_config.rb +2 -239
- data/lib/generators/blacklight/templates/config/sass.rb +5 -0
- data/lib/generators/blacklight/templates/solr_conf/schema.xml +514 -164
- data/lib/generators/blacklight/templates/solr_conf/solrconfig.xml +1591 -323
- data/lib/generators/blacklight/templates/solr_document.rb +2 -0
- data/lib/railties/all_tests.rake +36 -3
- data/lib/railties/blacklight_cucumber.rake +6 -4
- data/lib/railties/blacklight_rspec.rake +5 -4
- data/test_support/bin/run-tests.sh +2 -13
- data/test_support/bin/test.sh +30 -23
- data/test_support/features/did_you_mean.feature +14 -13
- data/test_support/features/step_definitions/saved_searches_steps.rb +1 -1
- data/test_support/features/step_definitions/search_steps.rb +4 -4
- data/test_support/spec/controllers/application_controller_spec.rb +3 -13
- data/test_support/spec/controllers/catalog_controller_spec.rb +102 -24
- data/test_support/spec/controllers/folder_controller_spec.rb +7 -1
- data/test_support/spec/helpers/blacklight_helper_spec.rb +45 -34
- data/test_support/spec/helpers/facets_helper_spec.rb +68 -0
- data/test_support/spec/helpers/html_head_helper_spec.rb +37 -0
- data/test_support/spec/helpers/{render_constraints_helper_spec.rb → search_history_constraints_helper_spec.rb} +26 -7
- data/test_support/spec/lib/blacklight_configurable_spec.rb +92 -0
- data/test_support/spec/lib/blacklight_configuration_spec.rb +295 -0
- data/test_support/spec/lib/{configurable_spec.rb → global_configurable_spec.rb} +2 -2
- data/test_support/spec/lib/search_fields_spec.rb +26 -29
- data/test_support/spec/{helpers → lib}/solr_helper_spec.rb +268 -287
- data/test_support/spec/lib/tasks/solr_marc_task_spec.rb +1 -1
- data/test_support/spec/lib/utils_spec.rb +58 -0
- data/test_support/spec/models/solr_docment_spec.rb +4 -8
- data/test_support/spec/views/catalog/_facets.html.erb_spec.rb +27 -170
- data/test_support/spec/views/catalog/_index_default.erb_spec.rb +38 -20
- data/test_support/spec/views/catalog/_show_default.erb_spec.rb +38 -19
- data/test_support/spec/views/catalog/index.atom.builder_spec.rb +19 -1
- metadata +148 -145
- data/app/assets/stylesheets/blacklight/blacklight.css +0 -493
- data/app/assets/stylesheets/yui.css +0 -31
- data/app/views/catalog/opensearch.xml.erb +0 -11
- data/doc/Atom-Responses.md +0 -90
- data/doc/CUSTOMIZING.md +0 -121
- data/doc/Extending-blacklight-with-the-document-extension-framework.md +0 -1
- data/doc/Extending-or-Modifying-Blacklight-Search-Behavior.md +0 -131
- data/doc/Features.md +0 -147
- data/doc/Integration-with-Rails-Footnotes.md +0 -20
- data/doc/Pagination.md +0 -38
- data/doc/Quickstart.md +0 -97
- data/doc/Upgrading-Guide.md +0 -98
- data/doc/User-Authentication.md +0 -54
- data/doc/Using-a-custom-solr-uniquekey-field.md +0 -36
- data/lib/blacklight/comma_link_renderer.rb +0 -28
- data/lib/railties/jetty_solr_server.rb +0 -108
- data/test_support/spec/views/catalog/show.html.erb_spec.rb +0 -101
@@ -50,7 +50,7 @@ describe "solr:marc:*" do
|
|
50
50
|
|
51
51
|
java_cmd.should_not be_nil
|
52
52
|
java_cmd.should match "java -Xmx512m"
|
53
|
-
java_cmd.should match
|
53
|
+
java_cmd.should match /-jar .*\/SolrMarc\.jar/
|
54
54
|
java_cmd.should match "#{Rails.root}/config/SolrMarc/config-test.properties dummy.mrc"
|
55
55
|
java_cmd.should match "-Dsolr.hosturl=http://127.0.0.1:[0-9]{4}/solr"
|
56
56
|
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
|
4
|
+
describe 'Blacklight::Utils' do
|
5
|
+
describe Blacklight::OpenStructWithHashAccess do
|
6
|
+
it "should provide hash-like accessors for OpenStruct data" do
|
7
|
+
a = Blacklight::OpenStructWithHashAccess.new :foo => :bar, :baz => 1
|
8
|
+
|
9
|
+
a[:foo].should == :bar
|
10
|
+
a[:baz].should == 1
|
11
|
+
a[:asdf].should be_nil
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should provide hash-like writers for OpenStruct data" do
|
15
|
+
a = Blacklight::OpenStructWithHashAccess.new :foo => :bar, :baz => 1
|
16
|
+
|
17
|
+
a[:asdf] = 'qwerty'
|
18
|
+
a.asdf.should == 'qwerty'
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should treat symbols and strings interchangeably in hash access" do
|
23
|
+
h = Blacklight::OpenStructWithHashAccess.new
|
24
|
+
|
25
|
+
h["string"] = "value"
|
26
|
+
h[:string].should == "value"
|
27
|
+
h.string.should == "value"
|
28
|
+
|
29
|
+
h[:symbol] = "value"
|
30
|
+
h["symbol"].should == "value"
|
31
|
+
h.symbol.should == "value"
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "internal hash table" do
|
35
|
+
before do
|
36
|
+
@h = Blacklight::OpenStructWithHashAccess.new
|
37
|
+
|
38
|
+
@h[:a] = 1
|
39
|
+
@h[:b] = 2
|
40
|
+
|
41
|
+
|
42
|
+
end
|
43
|
+
it "should expose the internal hash table" do
|
44
|
+
@h.to_h.should be_a_kind_of(Hash)
|
45
|
+
@h.to_h[:a].should == 1
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should expose keys" do
|
49
|
+
@h.keys.should include(:a, :b)
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should expose merge" do
|
53
|
+
@h.merge(:a => 'a')[:a].should == 'a'
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -60,6 +60,10 @@ end
|
|
60
60
|
end
|
61
61
|
|
62
62
|
describe "access methods" do
|
63
|
+
|
64
|
+
it "should have the right value for title_display" do
|
65
|
+
@solrdoc[:title_display].should_not be_nil
|
66
|
+
end
|
63
67
|
|
64
68
|
it "should have the right value for format" do
|
65
69
|
@solrdoc[:format][0].should == 'Book'
|
@@ -68,14 +72,6 @@ end
|
|
68
72
|
it "should provide the item's solr id" do
|
69
73
|
@solrdoc.id.should == '00282214'
|
70
74
|
end
|
71
|
-
|
72
|
-
it "should have access methods for all special function fields named in initializer" do
|
73
|
-
# the fields specified in Blacklight.config[:show] that
|
74
|
-
Blacklight.config[:show].each_key do |function|
|
75
|
-
@solrdoc[Blacklight.config[:show][function]].should_not be_nil
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
75
|
end
|
80
76
|
|
81
77
|
describe "ruby marc creation" do
|
@@ -1,183 +1,40 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
1
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
3
2
|
|
4
|
-
describe "
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
# create mock facets to be retrieved from the response
|
9
|
-
@solr_item00 = stub("solr_item00")
|
10
|
-
@solr_item00.stub!(:value).and_return("val_0_0")
|
11
|
-
@solr_item00.stub!(:hits).and_return("90")
|
12
|
-
@solr_item01 = stub("solr_item01")
|
13
|
-
@solr_item01.stub!(:value).and_return("val_0_1")
|
14
|
-
@solr_item01.stub!(:hits).and_return("91")
|
15
|
-
@facet0 = stub("facet0")
|
16
|
-
@solr_fname0 = Blacklight.config[:facet][:field_names].last
|
17
|
-
@facet0.stub!(:name).and_return(@solr_fname0);
|
18
|
-
@solr_items0 = [@solr_item00, @solr_item01]
|
19
|
-
@facet0.stub!(:items).and_return(@solr_items0);
|
20
|
-
|
21
|
-
@solr_item10 = stub("solr_item10")
|
22
|
-
@solr_item10.stub!(:value).and_return("val_1_0")
|
23
|
-
@solr_item10.stub!(:hits).and_return("10")
|
24
|
-
@solr_item11 = stub("solr_item11")
|
25
|
-
@solr_item11.stub!(:value).and_return("val_1_1")
|
26
|
-
@solr_item11.stub!(:hits).and_return("11")
|
27
|
-
@facet1 = stub("facet1")
|
28
|
-
@solr_fname1 = Blacklight.config[:facet][:field_names][1]
|
29
|
-
@facet1.stub!(:name).and_return(@solr_fname1);
|
30
|
-
@solr_items1 = [@solr_item10, @solr_item11]
|
31
|
-
@facet1.stub!(:items).and_return(@solr_items1);
|
32
|
-
|
33
|
-
@solr_item20 = stub("solr_item20")
|
34
|
-
@solr_item20.stub!(:value).and_return("val_2_0")
|
35
|
-
@solr_item20.stub!(:hits).and_return("20")
|
36
|
-
@solr_item21 = stub("solr_item21")
|
37
|
-
@solr_item21.stub!(:value).and_return("val_2_1")
|
38
|
-
@solr_item21.stub!(:hits).and_return("21")
|
39
|
-
@facet2 = stub("facet2")
|
40
|
-
@solr_fname2 = Blacklight.config[:facet][:field_names][0]
|
41
|
-
@facet2.stub!(:name).and_return(@solr_fname2);
|
42
|
-
@solr_items2 = [@solr_item20, @solr_item21]
|
43
|
-
@facet2.stub!(:items).and_return(@solr_items2);
|
44
|
-
|
45
|
-
@solr_item30 = stub("solr_item30")
|
46
|
-
@solr_item30.stub!(:value).and_return("val_3_0")
|
47
|
-
@solr_item30.stub!(:hits).and_return("30")
|
48
|
-
@solr_item31 = stub("solr_item31")
|
49
|
-
@solr_item31.stub!(:value).and_return("val_3_1")
|
50
|
-
@solr_item31.stub!(:hits).and_return("31")
|
51
|
-
@facet3 = stub("facet3")
|
52
|
-
@solr_fname3 = "solr_field_not_in_initializer_facet"
|
53
|
-
@facet3.stub!(:name).and_return(@solr_fname3);
|
54
|
-
@solr_items3 = [@solr_item30, @solr_item31]
|
55
|
-
@facet3.stub!(:items).and_return(@solr_items3);
|
56
|
-
|
57
|
-
@facets = [@facet0, @facet1, @facet2, @facet3]
|
58
|
-
@response.stub!(:facets).and_return(@facets)
|
59
|
-
|
60
|
-
# one facet is selected
|
61
|
-
selected_facet = {@solr_fname1 => [@solr_item10.value]}
|
62
|
-
params[:f] = selected_facet
|
63
|
-
|
64
|
-
assigns[:response] = @response
|
65
|
-
|
66
|
-
render :partial => 'catalog/facets'
|
67
|
-
end
|
68
|
-
|
69
|
-
# There is a problem with link_to and rspec-rails. See:
|
70
|
-
# http://www.nabble.com/Rails:-View-specs-and-implicit-parameters-in-link_to()-td20011051.html
|
71
|
-
# This spec will run cleanly if the implicit routes are added to the plugin
|
72
|
-
# level routes.rb file: (at the bottom of the file)
|
73
|
-
#
|
74
|
-
# map.connect ':controller/:action/:id'
|
75
|
-
# map.connect ':controller/:action/:id.:format'
|
76
|
-
|
77
|
-
# If someone can find a better workaround, that would be mega-spiffy.
|
78
|
-
#
|
79
|
-
# For now, I am commenting out this spec because I'm not sure if adding those
|
80
|
-
# routes will affect anything else. Similar comments are in routes.rb
|
81
|
-
# - Naomi 2009-04-19
|
82
|
-
|
83
|
-
=begin
|
84
|
-
|
85
|
-
it "should have div tag with id=facets" do
|
86
|
-
response.should have_selector('div[id=facets]')
|
87
|
-
end
|
88
|
-
|
89
|
-
it "should not have facets that aren't specified in initializer" do
|
90
|
-
response.should_not include_text(@solr_fname3)
|
3
|
+
describe "catalog/_facets.html.erb" do
|
4
|
+
before do
|
5
|
+
@mock_config = Blacklight::Configuration.new
|
6
|
+
view.stub(:blacklight_config => @mock_config)
|
91
7
|
end
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
response.should_not include_text(label)
|
8
|
+
it "should have a header" do
|
9
|
+
view.stub(:render_facet_partials => '')
|
10
|
+
render
|
11
|
+
rendered.should have_selector('h2')
|
97
12
|
end
|
98
13
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
14
|
+
describe "facet display" do
|
15
|
+
before do
|
16
|
+
@mock_field_1 = mock(:field => 'facet_field_1',
|
17
|
+
:label => 'label')
|
18
|
+
@mock_display_facet_1 = mock(:name => 'facet_field_1', :items => [mock(:value => 'Value', :hits => 1234)])
|
19
|
+
view.stub(:facet_field_names => [:facet_field_1],
|
20
|
+
:facet_limit_for => 10 )
|
105
21
|
|
106
|
-
|
107
|
-
|
108
|
-
end
|
22
|
+
@response = mock()
|
23
|
+
@response.should_receive(:facet_by_field_name).with(:facet_field_1) { @mock_display_facet_1 }
|
109
24
|
|
110
|
-
|
111
|
-
label1 = Blacklight.config[:facet][:labels][@solr_fname0]
|
112
|
-
response.should include_text(label1)
|
113
|
-
|
114
|
-
label2 = Blacklight.config[:facet][:labels][@solr_fname1]
|
115
|
-
response.should include_text(label2)
|
116
|
-
|
117
|
-
label3 = Blacklight.config[:facet][:labels][@solr_fname2]
|
118
|
-
response.should include_text(label3)
|
119
|
-
end
|
120
|
-
|
121
|
-
# TODO: check the display order of the facets. Naomi can't figure this out
|
122
|
-
# it "should display the facets in the order specified in the initializer" do
|
123
|
-
# pending
|
124
|
-
# end
|
125
|
-
#
|
126
|
-
# output is:
|
127
|
-
# <div id="facets">
|
128
|
-
# <div>
|
129
|
-
# <h3>Format</h3>
|
130
|
-
# <ul>
|
131
|
-
# <li>Book</li>
|
132
|
-
# <li>Online</li>
|
133
|
-
# </ul>
|
134
|
-
# </div>
|
135
|
-
# <div>
|
136
|
-
# <h3>Language</h3>
|
137
|
-
# <ul>
|
138
|
-
# <li>English</li>
|
139
|
-
# <li>Urdu/li>
|
140
|
-
# </ul>
|
141
|
-
# </div>
|
142
|
-
# </div>
|
143
|
-
#
|
144
|
-
# can't test for ordering of h3 contents:
|
145
|
-
# they are not immediate children of <div id="facets">
|
146
|
-
#
|
147
|
-
# perhaps use Cucumber?
|
25
|
+
end
|
148
26
|
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
with_tag("a", @solr_item00.value)
|
153
|
-
with_tag("a", @solr_item01.value)
|
154
|
-
# with_tag("a", @solr_item10.value) # this facet is selected
|
155
|
-
with_tag("a", @solr_item11.value)
|
156
|
-
with_tag("a", @solr_item20.value)
|
157
|
-
with_tag("a", @solr_item21.value)
|
27
|
+
it "should have a header" do
|
28
|
+
render
|
29
|
+
rendered.should have_selector('h3')
|
158
30
|
end
|
159
|
-
end
|
160
31
|
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
response.should include_text(@solr_item20.hits)
|
167
|
-
response.should include_text(@solr_item21.hits)
|
168
|
-
end
|
169
|
-
|
170
|
-
it "should have links to include facet values in solr query" do
|
171
|
-
response.should have_selector("a", :text => @solr_item00.value)
|
172
|
-
response.should include_text("f%5B"+@solr_fname0 + "%5D%5B%5D=" + @solr_item00.value)
|
173
|
-
response.should have_selector("a", :text => @solr_item11.value)
|
174
|
-
response.should include_text("f%5B"+@solr_fname1 + "%5D%5B%5D=" + @solr_item11.value)
|
175
|
-
end
|
32
|
+
it "should list values" do
|
33
|
+
render
|
34
|
+
rendered.should have_selector('a.label')
|
35
|
+
rendered.should have_selector('.count')
|
36
|
+
end
|
176
37
|
|
177
|
-
it "should display selected facets properly" do
|
178
|
-
response.should have_selector("span[class=selected]", :text => /#{@solr_item10.value}/)
|
179
38
|
end
|
180
|
-
|
181
|
-
=end
|
182
|
-
|
183
39
|
end
|
40
|
+
|
@@ -5,15 +5,32 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
|
5
5
|
# in catalog INDEX view
|
6
6
|
|
7
7
|
describe "/catalog/_index_default.erb" do
|
8
|
-
|
9
8
|
include BlacklightHelper
|
10
9
|
include CatalogHelper
|
11
|
-
|
10
|
+
|
12
11
|
before(:each) do
|
13
|
-
@
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
@config = Blacklight::Configuration.from_legacy_configuration({
|
13
|
+
:show => {
|
14
|
+
:display_type => 'asdf'
|
15
|
+
},
|
16
|
+
:index_fields => {
|
17
|
+
:field_names => [
|
18
|
+
'one_field',
|
19
|
+
'empty_field',
|
20
|
+
'four_field'
|
21
|
+
],
|
22
|
+
:labels => {
|
23
|
+
'one_field' => 'One:',
|
24
|
+
'empty_field' => 'Three:',
|
25
|
+
'four_field' => 'Four:'
|
26
|
+
}
|
27
|
+
}
|
28
|
+
})
|
29
|
+
|
30
|
+
@fname_1 = "one_field"
|
31
|
+
@fname_2 = "solr_field_not_in_config"
|
32
|
+
@fname_3 = "empty_field"
|
33
|
+
@fname_4 = "four_field"
|
17
34
|
|
18
35
|
@document = mock("solr_doc")
|
19
36
|
@document.should_receive(:get).with(@fname_1, hash_including(:sep => nil)).any_number_of_times.and_return("val_1")
|
@@ -31,30 +48,31 @@ describe "/catalog/_index_default.erb" do
|
|
31
48
|
@document.should_receive(:get).with(anything(), hash_including(:sep => nil)).any_number_of_times.and_return("bleah")
|
32
49
|
@document.should_receive(:[]).any_number_of_times
|
33
50
|
|
34
|
-
@flabel_1 =
|
35
|
-
@flabel_3 =
|
36
|
-
@flabel_4 =
|
51
|
+
@flabel_1 = "One:"
|
52
|
+
@flabel_3 = "Three:"
|
53
|
+
@flabel_4 = "Four:"
|
37
54
|
|
55
|
+
view.stub!(:blacklight_config).and_return(@config)
|
38
56
|
assigns[:document] = @document
|
39
|
-
render_document_partial @document, :index
|
57
|
+
@rendered = view.render_document_partial @document, :index
|
40
58
|
end
|
41
59
|
|
42
60
|
it "should only display fields listed in the initializer" do
|
43
|
-
rendered.should_not include_text("val_2")
|
44
|
-
rendered.should_not include_text(@fname_2)
|
61
|
+
@rendered.should_not include_text("val_2")
|
62
|
+
@rendered.should_not include_text(@fname_2)
|
45
63
|
end
|
46
64
|
|
47
65
|
it "should skip over fields listed in initializer that are not in solr response" do
|
48
|
-
rendered.should_not include_text(@fname_3)
|
66
|
+
@rendered.should_not include_text(@fname_3)
|
49
67
|
end
|
50
68
|
|
51
69
|
it "should display field labels from initializer and raw solr field names in the class" do
|
52
70
|
# labels
|
53
|
-
rendered.should include_text(@flabel_1)
|
54
|
-
rendered.should include_text(@flabel_4)
|
71
|
+
@rendered.should include_text(@flabel_1)
|
72
|
+
@rendered.should include_text(@flabel_4)
|
55
73
|
# classes
|
56
|
-
rendered.should include_text("blacklight-#{@fname_1}")
|
57
|
-
rendered.should include_text("blacklight-#{@fname_4}")
|
74
|
+
@rendered.should include_text("blacklight-#{@fname_1}")
|
75
|
+
@rendered.should include_text("blacklight-#{@fname_4}")
|
58
76
|
end
|
59
77
|
|
60
78
|
# this test probably belongs in a Cucumber feature
|
@@ -63,9 +81,9 @@ describe "/catalog/_index_default.erb" do
|
|
63
81
|
# end
|
64
82
|
|
65
83
|
it "should have values for displayed fields" do
|
66
|
-
rendered.should include_text("val_1")
|
67
|
-
rendered.should include_text("val_4")
|
68
|
-
rendered.should_not include_text("val_2")
|
84
|
+
@rendered.should include_text("val_1")
|
85
|
+
@rendered.should include_text("val_4")
|
86
|
+
@rendered.should_not include_text("val_2")
|
69
87
|
end
|
70
88
|
|
71
89
|
end
|
@@ -8,12 +8,30 @@ describe "/catalog/_show_default.html.erb" do
|
|
8
8
|
|
9
9
|
include BlacklightHelper
|
10
10
|
include CatalogHelper
|
11
|
-
|
11
|
+
|
12
|
+
|
12
13
|
before(:each) do
|
13
|
-
@
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
@config = Blacklight::Configuration.from_legacy_configuration({
|
15
|
+
:show => {
|
16
|
+
:display_type => 'asdf'
|
17
|
+
},
|
18
|
+
:show_fields => {
|
19
|
+
:field_names => [
|
20
|
+
'one_field',
|
21
|
+
'empty_field',
|
22
|
+
'four_field'
|
23
|
+
],
|
24
|
+
:labels => {
|
25
|
+
'one_field' => 'One:',
|
26
|
+
'empty_field' => 'Three:',
|
27
|
+
'four_field' => 'Four:'
|
28
|
+
}
|
29
|
+
}
|
30
|
+
})
|
31
|
+
@fname_1 = "one_field"
|
32
|
+
@fname_2 = "solr_field_not_in_config"
|
33
|
+
@fname_3 = "empty_field"
|
34
|
+
@fname_4 = "four_field"
|
17
35
|
|
18
36
|
@document = mock("solr_doc")
|
19
37
|
@document.should_receive(:get).with(@fname_1, hash_including(:sep => nil)).any_number_of_times.and_return("val_1")
|
@@ -31,30 +49,31 @@ describe "/catalog/_show_default.html.erb" do
|
|
31
49
|
@document.should_receive(:get).with(any_args()).any_number_of_times.and_return("bleah")
|
32
50
|
@document.should_receive(:[]).any_number_of_times
|
33
51
|
|
34
|
-
@flabel_1 =
|
35
|
-
@flabel_3 =
|
36
|
-
@flabel_4 =
|
52
|
+
@flabel_1 = "One:"
|
53
|
+
@flabel_3 = "Two:"
|
54
|
+
@flabel_4 = "Four:"
|
37
55
|
|
56
|
+
view.stub!(:blacklight_config).and_return(@config)
|
38
57
|
assigns[:document] = @document
|
39
|
-
render_document_partial @document, :show
|
58
|
+
@rendered = view.render_document_partial @document, :show
|
40
59
|
end
|
41
60
|
|
42
61
|
it "should only display fields listed in the initializer" do
|
43
|
-
rendered.should_not include_text("val_2")
|
44
|
-
rendered.should_not include_text(@fname_2)
|
62
|
+
@rendered.should_not include_text("val_2")
|
63
|
+
@rendered.should_not include_text(@fname_2)
|
45
64
|
end
|
46
65
|
|
47
66
|
it "should skip over fields listed in initializer that are not in solr response" do
|
48
|
-
rendered.should_not include_text(@fname_3)
|
67
|
+
@rendered.should_not include_text(@fname_3)
|
49
68
|
end
|
50
69
|
|
51
70
|
it "should display field labels from initializer and raw solr field names in the class" do
|
52
71
|
# labels
|
53
|
-
rendered.should include_text(@flabel_1)
|
54
|
-
rendered.should include_text(@flabel_4)
|
72
|
+
@rendered.should include_text(@flabel_1)
|
73
|
+
@rendered.should include_text(@flabel_4)
|
55
74
|
# classes
|
56
|
-
rendered.should include_text("blacklight-#{@fname_1}")
|
57
|
-
rendered.should include_text("blacklight-#{@fname_4}")
|
75
|
+
@rendered.should include_text("blacklight-#{@fname_1}")
|
76
|
+
@rendered.should include_text("blacklight-#{@fname_4}")
|
58
77
|
end
|
59
78
|
|
60
79
|
# this test probably belongs in a Cucumber feature
|
@@ -63,9 +82,9 @@ describe "/catalog/_show_default.html.erb" do
|
|
63
82
|
# end
|
64
83
|
|
65
84
|
it "should have values for displayed fields" do
|
66
|
-
rendered.should include_text("val_1")
|
67
|
-
rendered.should include_text("val_4")
|
68
|
-
rendered.should_not include_text("val_2")
|
85
|
+
@rendered.should include_text("val_1")
|
86
|
+
@rendered.should include_text("val_4")
|
87
|
+
@rendered.should_not include_text("val_2")
|
69
88
|
end
|
70
89
|
|
71
90
|
end
|