blacklight-spotlight 0.15.0 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spotlight/check_user_existence.js +16 -9
  3. data/app/assets/javascripts/spotlight/tabs.js +6 -0
  4. data/app/assets/javascripts/spotlight/users.js +1 -1
  5. data/app/assets/stylesheets/spotlight/_upload.scss +0 -5
  6. data/app/controllers/spotlight/admin_users_controller.rb +49 -0
  7. data/app/controllers/spotlight/catalog_controller.rb +0 -7
  8. data/app/controllers/spotlight/concerns/user_existable.rb +24 -0
  9. data/app/controllers/spotlight/concerns/user_invitable.rb +30 -0
  10. data/app/controllers/spotlight/exhibits_controller.rb +3 -0
  11. data/app/controllers/spotlight/resources/csv_upload_controller.rb +42 -0
  12. data/app/controllers/spotlight/resources/upload_controller.rb +2 -27
  13. data/app/controllers/spotlight/resources_controller.rb +7 -24
  14. data/app/controllers/spotlight/roles_controller.rb +2 -29
  15. data/app/models/spotlight/exhibit.rb +2 -0
  16. data/app/models/spotlight/resource.rb +0 -14
  17. data/app/views/devise/mailer/invitation_instructions.html.erb +11 -4
  18. data/app/views/shared/_site_sidebar.html.erb +2 -1
  19. data/app/views/spotlight/admin_users/index.html.erb +57 -0
  20. data/app/views/spotlight/catalog/_admin_header.html.erb +3 -9
  21. data/app/views/spotlight/exhibits/_tags.html.erb +11 -0
  22. data/app/views/spotlight/exhibits/index.html.erb +12 -3
  23. data/app/views/spotlight/home_pages/_empty.html.erb +2 -2
  24. data/app/views/spotlight/resources/_external_resources_form.html.erb +20 -0
  25. data/app/views/spotlight/resources/_missing_external_resources_partials.html.erb +5 -0
  26. data/app/views/spotlight/resources/{upload/_multi_item_form.html.erb → csv_upload/_form.html.erb} +1 -1
  27. data/app/views/spotlight/resources/new.html.erb +18 -3
  28. data/app/views/spotlight/resources/upload/{_single_item_form.html.erb → _form.html.erb} +0 -0
  29. data/config/locales/spotlight.en.yml +40 -12
  30. data/config/routes.rb +18 -6
  31. data/lib/spotlight/engine.rb +2 -3
  32. data/lib/spotlight/version.rb +1 -1
  33. data/spec/controllers/spotlight/admin_users_controller_spec.rb +83 -0
  34. data/spec/controllers/spotlight/catalog_controller_spec.rb +0 -11
  35. data/spec/controllers/spotlight/resources/csv_upload_controller_spec.rb +59 -0
  36. data/spec/controllers/spotlight/resources/upload_controller_spec.rb +1 -51
  37. data/spec/controllers/spotlight/resources_controller_spec.rb +0 -12
  38. data/spec/controllers/spotlight/roles_controller_spec.rb +1 -1
  39. data/spec/features/{upload_non_repository_item_spec.rb → add_items_spec.rb} +28 -16
  40. data/spec/features/exhibits_index_spec.rb +31 -0
  41. data/spec/features/site_admin_management_spec.rb +67 -0
  42. data/spec/models/spotlight/resource_spec.rb +0 -9
  43. data/spec/views/spotlight/catalog/admin.html.erb_spec.rb +7 -8
  44. data/spec/views/spotlight/exhibits/index.html.erb_spec.rb +47 -1
  45. data/spec/views/spotlight/home_pages/_empty.html.erb_spec.rb +4 -3
  46. data/spec/views/spotlight/resources/_external_resources_form.html.erb_spec.rb +23 -0
  47. data/spec/views/spotlight/{catalog → resources}/new.html.erb_spec.rb +2 -2
  48. metadata +26 -19
  49. data/app/models/spotlight/resource_provider.rb +0 -24
  50. data/app/views/layouts/spotlight/popup.html.erb +0 -52
  51. data/app/views/spotlight/catalog/new.html.erb +0 -7
  52. data/app/views/spotlight/resources/_bookmarklet.html.erb +0 -5
  53. data/app/views/spotlight/resources/_form.html.erb +0 -23
  54. data/app/views/spotlight/resources/upload/new.html.erb +0 -22
  55. data/spec/features/add_item_bookmarklet_spec.rb +0 -33
  56. data/spec/models/spotlight/resource_provider_spec.rb +0 -27
@@ -1,27 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spotlight::ResourceProvider do
4
- describe '.for_resource' do
5
- let(:thing) { double }
6
- let(:type_a) { double('TypeA', weight: 10) }
7
- let(:type_b) { double('TypeB', weight: 5) }
8
- let(:providers) { [type_a, type_b] }
9
- subject { described_class.for_resource(thing) }
10
-
11
- before do
12
- allow(described_class).to receive_messages(providers: providers)
13
- end
14
-
15
- it 'returns a class that can provide indexing for the resource' do
16
- expect(type_a).to receive(:can_provide?).with(thing).and_return(true)
17
- expect(type_b).to receive(:can_provide?).with(thing).and_return(false)
18
- expect(subject).to eq type_a
19
- end
20
-
21
- it 'returns the lowest weighted class that can provide indexing for the resource' do
22
- expect(type_a).to receive(:can_provide?).with(thing).and_return(true)
23
- expect(type_b).to receive(:can_provide?).with(thing).and_return(true)
24
- expect(subject).to eq type_b
25
- end
26
- end
27
- end