hydra-head 3.3.0 → 4.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -0
- data/Gemfile.lock +155 -181
- data/HISTORY.textile +5 -0
- data/INSTALL_PREREQ.textile +6 -3
- data/README.textile +8 -4
- data/{assets → app/assets}/images/hydra/powered_by_hydra.png +0 -0
- data/{assets → app/assets}/images/hydra/search-button.png +0 -0
- data/{assets → app/assets}/javascripts/date-picker/booking/index.html +0 -0
- data/{assets → app/assets}/javascripts/date-picker/calendarHTML.txt +0 -0
- data/{assets → app/assets}/javascripts/date-picker/css/datepicker.css +0 -0
- data/{assets → app/assets}/javascripts/date-picker/css/demo.css +0 -0
- data/{assets → app/assets}/javascripts/date-picker/index.html +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/datepicker.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/datepicker.packed.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/ar.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/cs.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/da.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/de.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/en.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/eo.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/es.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/et.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/fi.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/fr.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/he.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/hu.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/id.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/it.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/kr.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/lt.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/lv.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/nl.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/no.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/pl.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/pt-br.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/pt.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/ru.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/se.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/si.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/js/lang/tr.js +0 -0
- data/{assets → app/assets}/javascripts/date-picker/language/index.html +0 -0
- data/{assets → app/assets}/javascripts/date-picker/media/Thumbs.db +0 -0
- data/{assets → app/assets}/javascripts/date-picker/media/backstripes.gif +0 -0
- data/{assets → app/assets}/javascripts/date-picker/media/bg_header.jpg +0 -0
- data/{assets → app/assets}/javascripts/date-picker/media/bullet1.gif +0 -0
- data/{assets → app/assets}/javascripts/date-picker/media/bullet2.gif +0 -0
- data/{assets → app/assets}/javascripts/date-picker/media/cal-grey.gif +0 -0
- data/{assets → app/assets}/javascripts/date-picker/media/cal.gif +0 -0
- data/{assets → app/assets}/javascripts/date-picker/media/gradient-e5e5e5-ffffff.gif +0 -0
- data/{assets → app/assets}/javascripts/hydra/hydra-head.js +0 -0
- data/{assets → app/assets}/javascripts/hydra/mediashelf.datepicker.js +0 -0
- data/{assets → app/assets}/javascripts/hydra/mediashelf.placeholder.js +0 -0
- data/{assets → app/assets}/javascripts/jquery.form.js +0 -0
- data/{assets → app/assets}/javascripts/jquery.ui.datepicker.js +0 -0
- data/{assets → app/assets}/javascripts/spin.min.js +0 -0
- data/{assets → app/assets}/stylesheets/hydra/html_refactor.css +2 -2
- data/{assets → app/assets}/stylesheets/hydra/hydrangea-split-button.css +0 -0
- data/{assets → app/assets}/stylesheets/hydra/hydrangea.css +0 -0
- data/{assets → app/assets}/stylesheets/hydra/ie-styles.css +0 -0
- data/{assets → app/assets}/stylesheets/hydra/styles.css +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-icons_217bc0_256x240.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-icons_469bdd_256x240.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
- data/{assets → app/assets}/stylesheets/redmond/jquery-ui-1.8.5.custom.css +0 -0
- data/app/controllers/downloads_controller.rb +0 -16
- data/app/controllers/hydra/assets_controller.rb +3 -0
- data/app/controllers/{contributors_controller.rb → hydra/contributors_controller.rb} +11 -16
- data/app/controllers/hydra/file_assets_controller.rb +3 -0
- data/app/controllers/hydra/permissions_controller.rb +104 -0
- data/app/helpers/hydra/blacklight_helper_behavior.rb +13 -51
- data/app/helpers/hydra/downloads_helper_behavior.rb +1 -1
- data/app/helpers/hydra/hydra_assets_helper_behavior.rb +5 -6
- data/app/helpers/hydra/hydra_fedora_metadata_helper_behavior.rb +0 -1
- data/app/helpers/hydra/hydra_helper_behavior.rb +1 -1
- data/app/helpers/hydra/hydra_uploader_helper_behavior.rb +1 -1
- data/app/models/mods_asset.rb +4 -0
- data/app/models/role_mapper.rb +2 -2
- data/app/views/catalog/_document_list.html.erb +2 -2
- data/app/views/catalog/_edit_partials/_default.html.erb +1 -1
- data/app/views/catalog/_edit_partials/_default_details.html.erb +1 -1
- data/app/views/catalog/_index_partials/_default.html.erb +1 -1
- data/app/views/catalog/_show_partials/_default.html.erb +1 -1
- data/app/views/contributors/_add_contributor_split_button.html.erb +4 -4
- data/app/views/contributors/_edit_conference.html.erb +1 -1
- data/app/views/contributors/_edit_organization.html.erb +1 -1
- data/app/views/contributors/_edit_person.html.erb +1 -1
- data/app/views/contributors/_index.html.erb +2 -2
- data/app/views/contributors/_show_organization.html.erb +2 -2
- data/app/views/contributors/new.html.erb +4 -4
- data/app/views/generic_content_objects/_description_form.html.erb +2 -2
- data/app/views/generic_contents/_index.html.erb +1 -1
- data/app/views/generic_images/_edit.html.erb +2 -2
- data/app/views/generic_images/_index.html.erb +1 -1
- data/app/views/{file_assets → hydra/file_assets}/_asset_saved_flash.html.erb +0 -0
- data/app/views/{file_assets → hydra/file_assets}/_deletable_result.html.erb +0 -0
- data/app/views/{file_assets → hydra/file_assets}/_file_assets_form.html.erb +3 -3
- data/app/views/{file_assets → hydra/file_assets}/_index.html.erb +3 -3
- data/app/views/{file_assets → hydra/file_assets}/_new.html.erb +0 -0
- data/app/views/{file_assets → hydra/file_assets}/_result.html.erb +1 -1
- data/app/views/{file_assets → hydra/file_assets}/index.html.erb +1 -1
- data/app/views/{permissions → hydra/permissions}/_edit_person_permissions.html.erb +0 -0
- data/app/views/{permissions → hydra/permissions}/_index.html.erb +1 -1
- data/app/views/{permissions → hydra/permissions}/_new.html.erb +0 -0
- data/app/views/{permissions → hydra/permissions}/_permissions_form.html.erb +5 -6
- data/app/views/{permissions → hydra/permissions}/index.html.erb +0 -0
- data/app/views/{permissions → hydra/permissions}/new.html.erb +0 -0
- data/app/views/layouts/application.html.erb +1 -1
- data/app/views/layouts/hydra-head.html.erb +1 -1
- data/app/views/mods_assets/_additional_info_form.html.erb +2 -2
- data/app/views/mods_assets/_contributor_form.html.erb +1 -1
- data/app/views/mods_assets/_edit_description.html.erb +1 -1
- data/app/views/mods_assets/_progress_box.html.erb +2 -2
- data/app/views/mods_assets/_publication_form.html.erb +1 -1
- data/app/views/mods_assets/_show.html.erb +2 -2
- data/app/views/mods_assets/_show_description.html.erb +1 -0
- data/app/views/mods_assets/_show_file_assets.html.erb +3 -3
- data/app/views/shared/_delete_asset_confirmation.html.erb +1 -1
- data/config/fedora.yml +9 -3
- data/hydra-head.gemspec +12 -42
- data/lib/application_controller.rb +6 -7
- data/lib/generators/hydra/head_generator.rb +18 -18
- data/lib/generators/hydra/templates/catalog_controller.rb +162 -0
- data/lib/generators/hydra/templates/config/fedora.yml +9 -3
- data/lib/generators/hydra/templates/config/initializers/hydra_config.rb +4 -4
- data/lib/hydra-head.rb +0 -1
- data/lib/hydra-head/controller.rb +10 -11
- data/lib/hydra-head/routes.rb +20 -22
- data/lib/hydra-head/version.rb +1 -1
- data/lib/hydra.rb +2 -4
- data/lib/hydra/assets.rb +16 -26
- data/lib/hydra/controller.rb +5 -14
- data/lib/hydra/file_assets.rb +36 -33
- data/lib/hydra/generic_content.rb +3 -3
- data/lib/hydra/image.rb +2 -2
- data/lib/hydra/repository_controller.rb +22 -6
- data/lib/hydra/rights_metadata.rb +1 -1
- data/lib/hydra/submission_workflow.rb +4 -3
- data/lib/railties/hydra-fixtures.rake +2 -97
- data/tasks/hydra-head-fixtures.rake +0 -34
- data/tasks/hydra-head.rake +4 -3
- data/test_support/etc/Gemfile +15 -10
- data/test_support/etc/rvmrc +1 -1
- data/test_support/features/mods_asset_edit.feature +1 -1
- data/test_support/features/step_definitions/create_asset_steps.rb +0 -4
- data/test_support/features/support/env.rb +1 -1
- data/test_support/features/support/paths.rb +13 -13
- data/test_support/spec/controllers/contributors_controller_spec.rb +2 -2
- data/test_support/spec/controllers/file_assets_controller_spec.rb +22 -24
- data/test_support/spec/controllers/{assets_controller_spec.rb → hydra-assets_controller_spec.rb} +26 -11
- data/test_support/spec/controllers/hydra_controller_spec.rb +2 -3
- data/test_support/spec/controllers/permissions_controller_spec.rb +9 -53
- data/test_support/spec/controllers/user_sessions_controller_spec.rb +3 -3
- data/test_support/spec/factories.rb +11 -0
- data/test_support/spec/helpers/blacklight_helper_spec.rb +6 -13
- data/test_support/spec/helpers/hydra-repository_controller_spec.rb +37 -1
- data/test_support/spec/helpers/hydra_assets_helper_spec.rb +58 -70
- data/test_support/spec/helpers/hydra_helper_spec.rb +2 -2
- data/test_support/spec/helpers/hydra_model_methods_spec.rb +4 -4
- data/test_support/spec/helpers/hydra_uploader_helper_spec.rb +3 -3
- data/test_support/spec/integration/file_asset_spec.rb +5 -4
- data/test_support/spec/models/hydra_rights_metadata_spec.rb +7 -1
- data/test_support/spec/spec_helper.rb +5 -4
- data/vendor/cache/RedCloth-4.2.9.gem +0 -0
- data/vendor/cache/actionmailer-3.2.2.gem +0 -0
- data/vendor/cache/actionpack-3.2.2.gem +0 -0
- data/vendor/cache/{active-fedora-3.3.0.gem → active-fedora-4.0.0.rc13.gem} +0 -0
- data/vendor/cache/activemodel-3.2.2.gem +0 -0
- data/vendor/cache/activerecord-3.2.2.gem +0 -0
- data/vendor/cache/activeresource-3.2.2.gem +0 -0
- data/vendor/cache/activesupport-3.2.2.gem +0 -0
- data/vendor/cache/{addressable-2.2.6.gem → addressable-2.2.7.gem} +0 -0
- data/vendor/cache/arel-3.0.2.gem +0 -0
- data/vendor/cache/builder-3.0.0.gem +0 -0
- data/vendor/cache/childprocess-0.3.1.gem +0 -0
- data/vendor/cache/chunky_png-1.2.5.gem +0 -0
- data/vendor/cache/compass-0.12.rc.1.gem +0 -0
- data/vendor/cache/cucumber-1.1.9.gem +0 -0
- data/vendor/cache/{cucumber-rails-1.2.1.gem → cucumber-rails-1.3.0.gem} +0 -0
- data/vendor/cache/daemons-1.1.8.gem +0 -0
- data/vendor/cache/devise-2.0.4.gem +0 -0
- data/vendor/cache/erubis-2.7.0.gem +0 -0
- data/vendor/cache/factory_girl-2.6.1.gem +0 -0
- data/vendor/cache/fssm-0.2.8.1.gem +0 -0
- data/vendor/cache/gherkin-2.9.0.gem +0 -0
- data/vendor/cache/hike-1.2.1.gem +0 -0
- data/vendor/cache/httpi-0.9.6.gem +0 -0
- data/vendor/cache/i18n-0.6.0.gem +0 -0
- data/vendor/cache/journey-1.0.3.gem +0 -0
- data/vendor/cache/mail-2.4.3.gem +0 -0
- data/vendor/cache/marc-0.4.4.gem +0 -0
- data/vendor/cache/mediashelf-loggable-0.4.9.gem +0 -0
- data/vendor/cache/mocha-0.10.5.gem +0 -0
- data/vendor/cache/multi_json-1.1.0.gem +0 -0
- data/vendor/cache/nori-1.1.0.gem +0 -0
- data/vendor/cache/om-1.5.3.gem +0 -0
- data/vendor/cache/rack-1.4.1.gem +0 -0
- data/vendor/cache/rack-cache-1.1.gem +0 -0
- data/vendor/cache/rack-ssl-1.3.2.gem +0 -0
- data/vendor/cache/rack-test-0.6.1.gem +0 -0
- data/vendor/cache/{rails-3.0.11.gem → rails-3.2.2.gem} +0 -0
- data/vendor/cache/railties-3.2.2.gem +0 -0
- data/vendor/cache/rdf-0.3.5.1.gem +0 -0
- data/vendor/cache/rsolr-1.0.6.gem +0 -0
- data/vendor/cache/rspec-2.6.0.gem +0 -0
- data/vendor/cache/rspec-core-2.6.4.gem +0 -0
- data/vendor/cache/rspec-expectations-2.6.0.gem +0 -0
- data/vendor/cache/rspec-mocks-2.6.0.gem +0 -0
- data/vendor/cache/rspec-rails-2.6.1.gem +0 -0
- data/vendor/cache/rubydora-0.5.7.gem +0 -0
- data/vendor/cache/rubyzip-0.9.6.1.gem +0 -0
- data/vendor/cache/sass-3.1.15.gem +0 -0
- data/vendor/cache/sass-rails-3.2.4.gem +0 -0
- data/vendor/cache/savon-0.9.9.gem +0 -0
- data/vendor/cache/selenium-webdriver-2.20.0.gem +0 -0
- data/vendor/cache/solrizer-fedora-1.2.5.gem +0 -0
- data/vendor/cache/sprockets-2.1.2.gem +0 -0
- data/vendor/cache/sqlite3-1.3.5.gem +0 -0
- data/vendor/cache/sqlite3-ruby-1.3.3.gem +0 -0
- data/vendor/cache/stomp-1.2.1.gem +0 -0
- data/vendor/cache/tilt-1.3.3.gem +0 -0
- data/vendor/cache/tzinfo-0.3.32.gem +0 -0
- data/vendor/cache/unicode-0.4.2.gem +0 -0
- data/vendor/cache/warden-1.1.1.gem +0 -0
- data/vendor/cache/wasabi-2.1.0.gem +0 -0
- data/vendor/cache/yard-0.7.5.gem +0 -0
- metadata +298 -843
- data/app/controllers/assets_controller.rb +0 -3
- data/app/controllers/file_assets_controller.rb +0 -3
- data/app/controllers/permissions_controller.rb +0 -152
- data/app/views/generic_contents/_edit.html.erb_ +0 -39
- data/app/views/mods_assets/_edit.html.erb_ +0 -63
- data/lib/generators/hydra/templates/config/initializers/blacklight_config.rb +0 -253
- data/lib/hydra-head/railtie.rb +0 -11
- data/lib/mediashelf/active_fedora_helper.rb +0 -68
- data/test_support/spec/lib/active_fedora_helper_spec.rb +0 -56
- data/vendor/cache/RedCloth-4.2.3.gem +0 -0
- data/vendor/cache/abstract-1.0.0.gem +0 -0
- data/vendor/cache/actionmailer-3.0.11.gem +0 -0
- data/vendor/cache/actionpack-3.0.11.gem +0 -0
- data/vendor/cache/activemodel-3.0.11.gem +0 -0
- data/vendor/cache/activerecord-3.0.11.gem +0 -0
- data/vendor/cache/activeresource-3.0.11.gem +0 -0
- data/vendor/cache/activesupport-3.0.11.gem +0 -0
- data/vendor/cache/arel-2.0.10.gem +0 -0
- data/vendor/cache/blacklight-3.1.2.gem +0 -0
- data/vendor/cache/builder-2.1.2.gem +0 -0
- data/vendor/cache/childprocess-0.3.0.gem +0 -0
- data/vendor/cache/columnize-0.3.6.gem +0 -0
- data/vendor/cache/crack-0.3.1.gem +0 -0
- data/vendor/cache/cucumber-1.1.4.gem +0 -0
- data/vendor/cache/curb-0.7.15.gem +0 -0
- data/vendor/cache/daemons-1.1.6.gem +0 -0
- data/vendor/cache/database_cleaner-0.7.1.gem +0 -0
- data/vendor/cache/devise-1.5.3.gem +0 -0
- data/vendor/cache/erubis-2.6.6.gem +0 -0
- data/vendor/cache/facets-2.8.4.gem +0 -0
- data/vendor/cache/factory_girl-2.5.0.gem +0 -0
- data/vendor/cache/gherkin-2.7.6.gem +0 -0
- data/vendor/cache/haml-3.1.4.gem +0 -0
- data/vendor/cache/httparty-0.8.1.gem +0 -0
- data/vendor/cache/httpi-0.9.5.gem +0 -0
- data/vendor/cache/i18n-0.5.0.gem +0 -0
- data/vendor/cache/json_pure-1.6.5.gem +0 -0
- data/vendor/cache/launchy-2.0.5.gem +0 -0
- data/vendor/cache/linecache-0.46.gem +0 -0
- data/vendor/cache/mail-2.2.19.gem +0 -0
- data/vendor/cache/marc-0.4.3.gem +0 -0
- data/vendor/cache/mediashelf-loggable-0.4.7.gem +0 -0
- data/vendor/cache/mocha-0.10.3.gem +0 -0
- data/vendor/cache/multi_json-1.0.4.gem +0 -0
- data/vendor/cache/multi_xml-0.4.1.gem +0 -0
- data/vendor/cache/nori-1.0.2.gem +0 -0
- data/vendor/cache/om-1.5.1.gem +0 -0
- data/vendor/cache/rack-1.2.5.gem +0 -0
- data/vendor/cache/rack-mount-0.6.14.gem +0 -0
- data/vendor/cache/rack-test-0.5.7.gem +0 -0
- data/vendor/cache/railties-3.0.11.gem +0 -0
- data/vendor/cache/rbx-require-relative-0.0.5.gem +0 -0
- data/vendor/cache/rdf-0.3.4.1.gem +0 -0
- data/vendor/cache/rsolr-1.0.2.gem +0 -0
- data/vendor/cache/rspec-2.8.0.gem +0 -0
- data/vendor/cache/rspec-core-2.8.0.gem +0 -0
- data/vendor/cache/rspec-expectations-2.8.0.gem +0 -0
- data/vendor/cache/rspec-mocks-2.8.0.gem +0 -0
- data/vendor/cache/rspec-rails-2.8.1.gem +0 -0
- data/vendor/cache/ruby-debug-0.10.4.gem +0 -0
- data/vendor/cache/ruby-debug-base-0.10.4.gem +0 -0
- data/vendor/cache/rubydora-0.5.1.gem +0 -0
- data/vendor/cache/rubyzip-0.9.5.gem +0 -0
- data/vendor/cache/savon-0.9.7.gem +0 -0
- data/vendor/cache/selenium-webdriver-2.18.0.gem +0 -0
- data/vendor/cache/solrizer-fedora-1.2.3.gem +0 -0
- data/vendor/cache/sqlite3-ruby-1.2.5.gem +0 -0
- data/vendor/cache/stomp-1.2.0.gem +0 -0
- data/vendor/cache/trollop-1.16.2.gem +0 -0
- data/vendor/cache/tzinfo-0.3.31.gem +0 -0
- data/vendor/cache/unicode-0.4.0.gem +0 -0
- data/vendor/cache/warden-1.1.0.gem +0 -0
- data/vendor/cache/wasabi-2.0.0.gem +0 -0
- data/vendor/cache/will_paginate-3.0.2.gem +0 -0
- data/vendor/cache/yard-0.7.4.gem +0 -0
@@ -1,33 +1,27 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
2
|
|
3
|
-
describe FileAssetsController do
|
3
|
+
describe Hydra::FileAssetsController do
|
4
4
|
include Devise::TestHelpers
|
5
5
|
|
6
6
|
before do
|
7
7
|
session[:user]='bob'
|
8
8
|
end
|
9
9
|
|
10
|
-
## Plugin Tests
|
11
|
-
it "should use FileAssetsController" do
|
12
|
-
controller.should be_an_instance_of(FileAssetsController)
|
13
|
-
end
|
14
10
|
it "should be restful" do
|
15
|
-
{ :get => "/file_assets" }.should route_to(:controller=>'file_assets', :action=>'index')
|
16
|
-
{ :get => "/file_assets/3" }.should route_to(:controller=>'file_assets', :action=>'show', :id=>"3")
|
17
|
-
{ :delete=> "/file_assets/3" }.should route_to(:controller=>'file_assets', :action=>'destroy', :id=>"3")
|
18
|
-
{ :put=>"/file_assets/3" }.should route_to(:controller=>'file_assets', :action=>'update', :id=>"3")
|
19
|
-
{ :get => "/file_assets/3/edit" }.should route_to(:controller=>'file_assets', :action=>'edit', :id=>"3")
|
20
|
-
{ :get =>"/file_assets/new" }.should route_to(:controller=>'file_assets', :action=>'new')
|
21
|
-
{ :post => "/file_assets" }.should route_to(:controller=>'file_assets', :action=>'create')
|
11
|
+
{ :get => "/hydra/file_assets" }.should route_to(:controller=>'hydra/file_assets', :action=>'index')
|
12
|
+
{ :get => "/hydra/file_assets/3" }.should route_to(:controller=>'hydra/file_assets', :action=>'show', :id=>"3")
|
13
|
+
{ :delete=> "/hydra/file_assets/3" }.should route_to(:controller=>'hydra/file_assets', :action=>'destroy', :id=>"3")
|
14
|
+
{ :put=>"/hydra/file_assets/3" }.should route_to(:controller=>'hydra/file_assets', :action=>'update', :id=>"3")
|
15
|
+
{ :get => "/hydra/file_assets/3/edit" }.should route_to(:controller=>'hydra/file_assets', :action=>'edit', :id=>"3")
|
16
|
+
{ :get =>"/hydra/file_assets/new" }.should route_to(:controller=>'hydra/file_assets', :action=>'new')
|
17
|
+
{ :post => "/hydra/file_assets" }.should route_to(:controller=>'hydra/file_assets', :action=>'create')
|
22
18
|
|
23
19
|
end
|
24
20
|
|
25
21
|
describe "index" do
|
26
22
|
|
27
23
|
it "should find all file assets in the repo if no container_id is provided" do
|
28
|
-
|
29
|
-
# Solr::Connection.any_instance.expects(:query).with('conforms_to_field:info\:fedora/afmodel\:FileAsset', {}).returns("solr result")
|
30
|
-
Solr::Connection.any_instance.expects(:query).with('active_fedora_model_s:FileAsset', {}).returns("solr result")
|
24
|
+
ActiveFedora::SolrService.expects(:query).with('active_fedora_model_s:FileAsset', {}).returns("solr result")
|
31
25
|
controller.stubs(:load_permissions_from_solr)
|
32
26
|
ActiveFedora::Base.expects(:new).never
|
33
27
|
xhr :get, :index
|
@@ -40,7 +34,7 @@ describe FileAssetsController do
|
|
40
34
|
controller.expects(:get_solr_response_for_doc_id).with('_PID_').returns(["container solr response","container solr doc"])
|
41
35
|
controller.stubs(:load_permissions_from_solr)
|
42
36
|
|
43
|
-
ActiveFedora::Base.expects(:
|
37
|
+
ActiveFedora::Base.expects(:find).with("_PID_").returns(mock_container)
|
44
38
|
xhr :get, :index, :asset_id=>"_PID_"
|
45
39
|
assigns[:response].should == "assets solr response"
|
46
40
|
assigns[:document_list].should == "assets solr list"
|
@@ -57,7 +51,7 @@ describe FileAssetsController do
|
|
57
51
|
mock_solr_hash = {"has_collection_member_field"=>["info:fedora/foo:id"]}
|
58
52
|
mock_container = mock("container")
|
59
53
|
mock_container.expects(:collection_members).with(:response_format=>:solr).returns("solr result")
|
60
|
-
ActiveFedora::Base.expects(:
|
54
|
+
ActiveFedora::Base.expects(:find).with("_PID_").returns(mock_container)
|
61
55
|
xhr :get, :index, :asset_id=>"_PID_"
|
62
56
|
assigns[:solr_result].should == "solr result"
|
63
57
|
assigns[:container].should == mock_container
|
@@ -106,7 +100,7 @@ describe FileAssetsController do
|
|
106
100
|
it "should redirect back to edit view if no Filedata is provided but container_id is provided" do
|
107
101
|
controller.expects(:model_config).at_least_once.returns(controller.workflow_config[:mods_assets])
|
108
102
|
xhr :post, :create, :container_id=>"_PID_", :wf_step=>"files"
|
109
|
-
response.should redirect_to(
|
103
|
+
response.should redirect_to edit_catalog_path("_PID_", :wf_step=>"permissions")
|
110
104
|
request.flash[:notice].should == "You must specify a file to upload."
|
111
105
|
end
|
112
106
|
it "should display a message that you need to select a file to upload if no Filedata is provided" do
|
@@ -119,7 +113,7 @@ describe FileAssetsController do
|
|
119
113
|
describe "destroy" do
|
120
114
|
it "should delete the asset identified by pid" do
|
121
115
|
mock_obj = mock("asset", :delete)
|
122
|
-
ActiveFedora::Base.expects(:
|
116
|
+
ActiveFedora::Base.expects(:find).with("__PID__").returns(mock_obj)
|
123
117
|
delete(:destroy, :id => "__PID__")
|
124
118
|
end
|
125
119
|
it "should remove container relationship and perform proper garbage collection" do
|
@@ -127,15 +121,19 @@ describe FileAssetsController do
|
|
127
121
|
mock_container = mock("asset")
|
128
122
|
mock_container.expects(:file_objects_remove).with("_file_asset_pid_")
|
129
123
|
FileAsset.expects(:garbage_collect).with("_file_asset_pid_")
|
130
|
-
ActiveFedora::Base.expects(:
|
124
|
+
ActiveFedora::Base.expects(:find).with("_container_pid_").returns(mock_container)
|
131
125
|
delete(:destroy, :id => "_file_asset_pid_", :asset_id=>"_container_pid_")
|
132
126
|
end
|
133
127
|
end
|
134
128
|
|
135
129
|
describe "integration tests - " do
|
136
130
|
before(:all) do
|
131
|
+
class TestObj < ActiveFedora::Base
|
132
|
+
include ActiveFedora::FileManagement
|
133
|
+
end
|
134
|
+
|
137
135
|
ActiveFedora::SolrService.register(ActiveFedora.solr_config[:url])
|
138
|
-
@test_container =
|
136
|
+
@test_container = TestObj.new
|
139
137
|
@test_container.add_relationship(:is_member_of, "info:fedora/foo:1")
|
140
138
|
@test_container.add_relationship(:has_collection_member, "info:fedora/foo:2")
|
141
139
|
@test_container.save
|
@@ -148,6 +146,7 @@ describe FileAssetsController do
|
|
148
146
|
after(:all) do
|
149
147
|
@test_container.delete
|
150
148
|
@test_fa.delete
|
149
|
+
Object.send(:remove_const, :TestObj)
|
151
150
|
end
|
152
151
|
|
153
152
|
describe "index" do
|
@@ -172,12 +171,11 @@ describe FileAssetsController do
|
|
172
171
|
end
|
173
172
|
|
174
173
|
it "should set is_part_of relationship on the new File Asset pointing back at the container" do
|
175
|
-
test_file =
|
174
|
+
test_file = fixture_file_upload('/small_file.txt', 'text/plain')
|
176
175
|
filename = "My File Name"
|
177
|
-
test_file.expects(:original_filename).twice.returns("My File Name")
|
178
176
|
post :create, {:Filedata=>[test_file], :Filename=>filename, :container_id=>@test_container.pid}
|
179
177
|
assigns(:file_asset).ids_for_outbound(:is_part_of).should == [@test_container.pid]
|
180
|
-
retrieved_fa = FileAsset.
|
178
|
+
retrieved_fa = FileAsset.find(@test_fa.pid).ids_for_outbound(:is_part_of).should == [@test_container.pid]
|
181
179
|
end
|
182
180
|
end
|
183
181
|
end
|
data/test_support/spec/controllers/{assets_controller_spec.rb → hydra-assets_controller_spec.rb}
RENAMED
@@ -8,19 +8,34 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
8
8
|
# or
|
9
9
|
# rake cucumber
|
10
10
|
|
11
|
-
describe AssetsController do
|
11
|
+
describe Hydra::AssetsController do
|
12
12
|
|
13
13
|
before do
|
14
14
|
request.env['WEBAUTH_USER']='bob'
|
15
15
|
end
|
16
16
|
|
17
17
|
it "should use DocumentController" do
|
18
|
-
controller.should be_an_instance_of(AssetsController)
|
18
|
+
controller.should be_an_instance_of(Hydra::AssetsController)
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "new" do
|
22
|
+
before do
|
23
|
+
@user = FactoryGirl.create(:user)
|
24
|
+
sign_in @user
|
25
|
+
@asset = ModsAsset.new
|
26
|
+
ModsAsset.stubs(:new).returns(@asset)
|
27
|
+
end
|
28
|
+
it "should create and redirect with a flash message" do
|
29
|
+
get :new, :content_type=>'mods_asset'
|
30
|
+
response.should redirect_to edit_catalog_path(@asset, :new_asset=>true)
|
31
|
+
flash[:notice].should == "Created a Mods Asset with pid #{@asset.pid}. Now it's ready to be edited."
|
32
|
+
end
|
19
33
|
end
|
20
34
|
|
21
35
|
describe "update" do
|
22
36
|
it "should update the object with the attributes provided" do
|
23
|
-
mock_document =
|
37
|
+
mock_document = ModsAsset.new
|
38
|
+
mock_document.stubs(:pid => '_PID_')
|
24
39
|
mock_document.stubs(:update_from_computing_id).returns(nil)
|
25
40
|
controller.expects(:check_embargo_date_format).returns(nil)
|
26
41
|
|
@@ -37,10 +52,14 @@ describe AssetsController do
|
|
37
52
|
mock_document.expects(:save)
|
38
53
|
controller.stubs(:display_release_status_notice)
|
39
54
|
put :update, {:id=>"_PID_"}.merge(simple_request_params)
|
55
|
+
|
56
|
+
response.should redirect_to catalog_path(mock_document.pid, :viewing_context=>"browse")
|
57
|
+
|
40
58
|
end
|
41
59
|
|
42
60
|
it "should support updating OM::XML datastreams" do
|
43
|
-
mock_document =
|
61
|
+
mock_document = ModsAsset.new
|
62
|
+
mock_document.stubs(:pid => '_PID_')
|
44
63
|
mock_document.stubs(:update_from_computing_id).returns(nil)
|
45
64
|
ModsAsset.expects(:find).with("_PID_").returns(mock_document)
|
46
65
|
|
@@ -66,6 +85,7 @@ describe AssetsController do
|
|
66
85
|
controller.stubs(:display_release_status_notice)
|
67
86
|
put :update, nokogiri_request_params
|
68
87
|
# put :update, :id=>"_PID_", "content_type"=>"mods_asset", "datastream"=>"descMetadata", "field_name"=>"person_0_last_name","parent_select"=>[{":person"=>"0"}, ":last_name"], "child_index"=>"0", "value"=>"Sample New Value"
|
88
|
+
response.should redirect_to edit_catalog_path(mock_document.pid, :wf_step=>"publication")
|
69
89
|
end
|
70
90
|
|
71
91
|
it "should handle complete updates of many fields in many datastreams" do
|
@@ -88,9 +108,7 @@ describe AssetsController do
|
|
88
108
|
it "should delete the asset identified by pid" do
|
89
109
|
mock_obj = mock("asset", :delete)
|
90
110
|
mock_obj.expects(:destroy_child_assets).returns([])
|
91
|
-
ActiveFedora::Base.expects(:
|
92
|
-
ActiveFedora::ContentModel.expects(:known_models_for).at_least_once.with(mock_obj).returns([ModsAsset])
|
93
|
-
ModsAsset.expects(:load_instance_from_solr).with("__PID__").returns(mock_obj)
|
111
|
+
ActiveFedora::Base.expects(:find).with("__PID__").returns(mock_obj)
|
94
112
|
delete(:destroy, :id => "__PID__")
|
95
113
|
end
|
96
114
|
end
|
@@ -101,10 +119,7 @@ describe AssetsController do
|
|
101
119
|
it "should withdraw the asset identified by pid" do
|
102
120
|
mock_obj = mock("asset", :delete)
|
103
121
|
mock_obj.expects(:destroy_child_assets).returns([])
|
104
|
-
ActiveFedora::Base.expects(:
|
105
|
-
ActiveFedora::Base
|
106
|
-
ActiveFedora::ContentModel.expects(:known_models_for).at_least_once.with(mock_obj).returns([ModsAsset])
|
107
|
-
ModsAsset.expects(:load_instance_from_solr).with("__PID__").returns(mock_obj)
|
122
|
+
ActiveFedora::Base.expects(:find).with("__PID__").returns(mock_obj)
|
108
123
|
delete(:withdraw, :id => "__PID__")
|
109
124
|
end
|
110
125
|
end
|
@@ -25,9 +25,8 @@ describe HydraControllerTest do
|
|
25
25
|
|
26
26
|
assigns[:document_fedora].class.should == ModsAsset
|
27
27
|
assigns[:document_fedora].pid.should == 'hydrangea:fixture_mods_article1'
|
28
|
-
assigns[:file_assets].
|
29
|
-
assigns[:file_assets].
|
30
|
-
assigns[:file_assets].hits.first["id"].should == "hydrangea:fixture_uploaded_svg1"
|
28
|
+
assigns[:file_assets].size.should == 1
|
29
|
+
assigns[:file_assets].first["id"].should == "hydrangea:fixture_uploaded_svg1"
|
31
30
|
end
|
32
31
|
end
|
33
32
|
end
|
@@ -1,64 +1,20 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
2
|
|
3
|
-
|
4
|
-
# See cucumber tests (ie. /features/edit_document.feature) for more tests, including ones that test the edit method & view
|
5
|
-
# You can run the cucumber tests with
|
6
|
-
#
|
7
|
-
# cucumber --tags @edit
|
8
|
-
# or
|
9
|
-
# rake cucumber
|
10
|
-
|
11
|
-
describe PermissionsController do
|
3
|
+
describe Hydra::PermissionsController do
|
12
4
|
describe "create" do
|
13
5
|
it "should create a new permissions entry" do
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
Hydra::RightsMetadata.stubs(:from_xml)
|
18
|
-
Hydra::RightsMetadata.stubs(:new).returns(mock_ds)
|
19
|
-
mock_ds.expects(:permissions).with({"person" => "_person_id_"}, "read")
|
20
|
-
mock_ds.stubs(:content)
|
21
|
-
mock_ds.stubs(:pid=)
|
22
|
-
mock_ds.stubs(:dsid=)
|
23
|
-
mock_ds.stubs(:save)
|
24
|
-
mock_ds.stubs(:serialize!)
|
25
|
-
mock_object = mock("object")
|
26
|
-
mock_object.stubs(:datastreams).returns({"rightsMetadata"=>mock_ds})
|
27
|
-
mock_inner = mock('Mock Inner')
|
28
|
-
mock_object.stubs(:inner_object).returns(mock_inner)
|
29
|
-
|
30
|
-
ActiveFedora::Base.expects(:load_instance).with("_pid_").returns(mock_object)
|
31
|
-
|
32
|
-
post :create, :asset_id=>"_pid_", :permission => {"actor_id"=>"_person_id_","actor_type"=>"person","access_level"=>"read"}
|
6
|
+
@asset = ModsAsset.create
|
7
|
+
post :create, :asset_id=>@asset.pid, :permission => {"actor_id"=>"_person_id_","actor_type"=>"person","access_level"=>"read"}
|
8
|
+
ModsAsset.find(@asset.pid).rightsMetadata.individuals.should == {"_person_id_" => "read"}
|
33
9
|
end
|
34
10
|
end
|
35
11
|
describe "update" do
|
36
12
|
it "should call Hydra::RightsMetadata properties setter" do
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
mock_ds.expects(:update_permissions).with({"group" => {"_group_id_"=>"discover"}})
|
43
|
-
mock_ds.stubs(:content)
|
44
|
-
mock_ds.stubs(:pid=)
|
45
|
-
mock_ds.stubs(:dsid=)
|
46
|
-
mock_ds.stubs(:serialize!)
|
47
|
-
mock_ds.stubs(:save)
|
48
|
-
mock_object = mock("object")
|
49
|
-
mock_object.stubs(:datastreams).returns({"rightsMetadata"=>mock_ds})
|
50
|
-
mock_inner = mock('Mock Inner')
|
51
|
-
mock_object.stubs(:inner_object).returns(mock_inner)
|
52
|
-
|
53
|
-
ActiveFedora::Base.expects(:load_instance).with("_pid_").returns(mock_object)
|
54
|
-
# must define new routes that can handle url like this
|
55
|
-
# /assets/_pid_/permissions/group/_group_id_
|
56
|
-
# /assets/:asset_id/permissions/:actor_type/:actor_id
|
57
|
-
|
58
|
-
# this is what currently works
|
59
|
-
# post :update, :asset_id=>"_pid_", :actor_type=>"group", :actor_id=>"_group_id_", :permission => {"group"=>"_group_id_","level"=>"discover"}
|
60
|
-
|
61
|
-
post :update, :asset_id=>"_pid_", :permission => {"group"=>{"_group_id_"=>"discover"}}
|
13
|
+
@asset = ModsAsset.new
|
14
|
+
@asset.rightsMetadata.permissions({:group=>"students"})
|
15
|
+
@asset.save
|
16
|
+
post :update, :asset_id=>@asset.pid, :permission => {"group"=>{"_group_id_"=>"discover"}}
|
17
|
+
ModsAsset.find(@asset.pid).rightsMetadata.groups.should == {"_group_id_" => "discover"}
|
62
18
|
end
|
63
19
|
end
|
64
20
|
end
|
@@ -27,9 +27,9 @@ describe UserSessionsController do
|
|
27
27
|
|
28
28
|
it "should redirect to the referer" do
|
29
29
|
controller.stubs(:current_user).returns(@user)
|
30
|
-
request.env["HTTP_REFERER"] =
|
30
|
+
request.env["HTTP_REFERER"] = hydra_file_assets_path
|
31
31
|
get :superuser
|
32
|
-
response.should redirect_to(
|
32
|
+
response.should redirect_to(hydra_file_assets_path)
|
33
33
|
end
|
34
34
|
|
35
|
-
end
|
35
|
+
end
|
@@ -13,7 +13,12 @@ describe BlacklightHelper do
|
|
13
13
|
|
14
14
|
describe "Overridden blacklight methods" do
|
15
15
|
describe "document_partial_name" do
|
16
|
+
|
16
17
|
it "Should lop off everything before the first colin after the slash" do
|
18
|
+
@config = Blacklight::Configuration.new.configure do |config|
|
19
|
+
config.show.display_type = 'has_model_s'
|
20
|
+
end
|
21
|
+
helper.stubs(:blacklight_config).returns(@config)
|
17
22
|
helper.document_partial_name('has_model_s' => ["info:fedora/afmodel:Presentation"]).should == "presentations"
|
18
23
|
helper.document_partial_name('has_model_s' => ["info:fedora/hull-cModel:genericContent"]).should == "generic_contents"
|
19
24
|
end
|
@@ -23,7 +28,7 @@ describe BlacklightHelper do
|
|
23
28
|
item = stub("item", :value=>'two', :hits=>9)
|
24
29
|
|
25
30
|
ret_val = helper.render_selected_facet_value("one", item)
|
26
|
-
ret_val.should == "<span class=\"selected\">two (9)</span>"
|
31
|
+
ret_val.should == "<span class=\"selected label\">two <span class=\"count\">(9)</span></span>"
|
27
32
|
ret_val.should be_html_safe
|
28
33
|
end
|
29
34
|
end
|
@@ -37,18 +42,6 @@ describe BlacklightHelper do
|
|
37
42
|
helper.render_head_content.should == "Something extraMy added content"
|
38
43
|
end
|
39
44
|
end
|
40
|
-
describe "link_to_document" do
|
41
|
-
before(:each)do
|
42
|
-
@mock_doc = mock('mock doc')
|
43
|
-
@mock_doc.expects(:[]).with(:id).returns("123456")
|
44
|
-
end
|
45
|
-
it "passes on the title attribute to the link_to_with_data method" do
|
46
|
-
helper.link_to_document(@mock_doc,:label=>"Some crazy long label...",:title=>"Some crazy longer label").should match(/title=\"Some crazy longer label\"/)
|
47
|
-
end
|
48
|
-
it "doesn't add an erroneous title attribute if one isn't provided" do
|
49
|
-
helper.link_to_document(@mock_doc,:label=>"Some crazy long label...").should_not match(/title=/)
|
50
|
-
end
|
51
|
-
end
|
52
45
|
|
53
46
|
describe "link back to catalog" do
|
54
47
|
it "should return the view parameter in the link back to catalog method if there is one in the users previous search session" do
|
@@ -27,6 +27,42 @@ describe Hydra::RepositoryController do
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
+
describe "retrieve_af_model" do
|
31
|
+
it "should return a Model class if the named model has been defined" do
|
32
|
+
result = helper.retrieve_af_model("file_asset")
|
33
|
+
result.should == FileAsset
|
34
|
+
result.superclass.should == ActiveFedora::Base
|
35
|
+
result.included_modules.should include(ActiveFedora::Model)
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should accept camel cased OR underscored model name" do
|
39
|
+
result = helper.retrieve_af_model("generic_content")
|
40
|
+
result.should == GenericContent
|
41
|
+
|
42
|
+
result = helper.retrieve_af_model("GenericContent")
|
43
|
+
result.should == GenericContent
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should return false if the name is not a real class" do
|
48
|
+
result = helper.retrieve_af_model("foo_foo_class_class")
|
49
|
+
result.should be_false
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
describe "load_af_instance_from_solr" do
|
55
|
+
it "should return an ActiveFedora object given a valid solr doc same as loading from Fedora" do
|
56
|
+
pid = "hydrangea:fixture_mods_article1"
|
57
|
+
result = ActiveFedora::Base.find_by_solr(pid)
|
58
|
+
solr_doc = result.first
|
59
|
+
solr_af_obj = helper.load_af_instance_from_solr(solr_doc)
|
60
|
+
fed_af_obj = ActiveFedora::Base.find(pid)
|
61
|
+
#check both inbound and outbound match
|
62
|
+
fed_af_obj.outbound_relationships.to_hash.should == solr_af_obj.outbound_relationships.to_hash
|
63
|
+
fed_af_obj.inbound_relationships.should == solr_af_obj.inbound_relationships
|
64
|
+
end
|
65
|
+
end
|
30
66
|
|
31
67
|
|
32
|
-
end
|
68
|
+
end
|
@@ -6,14 +6,14 @@ describe HydraAssetsHelper do
|
|
6
6
|
describe "link_to_create_asset" do
|
7
7
|
it "should generate login links with redirect params if user is not logged in" do
|
8
8
|
helper.expects(:current_user).returns User.new
|
9
|
-
helper.link_to_create_asset("Create a foo", "foo_model").should == "<a href=\"/assets/new?content_type=foo_model\" class=\"create_asset\">Create a foo</a>"
|
9
|
+
helper.link_to_create_asset("Create a foo", "foo_model").should == "<a href=\"/hydra/assets/new?content_type=foo_model\" class=\"create_asset\">Create a foo</a>"
|
10
10
|
end
|
11
11
|
it "should generate login links with redirect params if user is not logged in" do
|
12
12
|
helper.expects(:current_user).returns false
|
13
13
|
# rails 3.1.x
|
14
14
|
# helper.link_to_create_asset("Create a foo", "foo_model").should == "<a href=\"/users/sign_in?redirect_params%5Baction%5D=new&redirect_params%5Bcontent_type%5D=foo_model&redirect_params%5Bcontroller%5D=assets\" class=\"create_asset\">Create a foo</a>"
|
15
15
|
# rails 3.0.x
|
16
|
-
helper.link_to_create_asset("Create a foo", "foo_model").should == "<a href=\"/users/sign_in?redirect_params
|
16
|
+
helper.link_to_create_asset("Create a foo", "foo_model").should == "<a href=\"/users/sign_in?redirect_params%5Baction%5D=new&redirect_params%5Bcontent_type%5D=foo_model&redirect_params%5Bcontroller%5D=assets\" class=\"create_asset\">Create a foo</a>"
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -61,86 +61,74 @@ describe HydraAssetsHelper do
|
|
61
61
|
end
|
62
62
|
|
63
63
|
describe "get_file_asset_count" do
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
@asset_object4.add_relationship(:has_part,@file_object1)
|
81
|
-
@asset_object5.save
|
82
|
-
@asset_object5.add_relationship(:has_part,@file_object1)
|
83
|
-
@file_object2.part_of_append(@asset_object5)
|
84
|
-
@asset_object6.save
|
85
|
-
@file_object1.part_of_append(@asset_object6)
|
86
|
-
|
87
|
-
@file_object1.save
|
88
|
-
@file_object2.save
|
89
|
-
@asset_object4.save
|
90
|
-
@asset_object5.save
|
91
|
-
@asset_object6.save
|
92
|
-
@asset_object7.save
|
64
|
+
describe "with outbound has_part" do
|
65
|
+
before do
|
66
|
+
@asset_object4 =ActiveFedora::Base.new
|
67
|
+
@file_object1 = ActiveFedora::Base.create
|
68
|
+
@asset_object4.add_relationship(:has_part,@file_object1)
|
69
|
+
@asset_object4.save
|
70
|
+
end
|
71
|
+
after do
|
72
|
+
@asset_object4.delete
|
73
|
+
@file_object1.delete
|
74
|
+
end
|
75
|
+
it "should find one" do
|
76
|
+
#outbound has_part
|
77
|
+
doc = ActiveFedora::Base.find_by_solr(@asset_object4.pid).first
|
78
|
+
get_file_asset_count(doc).should == 1
|
79
|
+
end
|
93
80
|
end
|
94
81
|
|
95
|
-
|
96
|
-
|
97
|
-
@
|
98
|
-
|
82
|
+
describe "with has_part and inbound is_part_of" do
|
83
|
+
before do
|
84
|
+
@asset_object5 =ActiveFedora::Base.create
|
85
|
+
@file_object1 = ActiveFedora::Base.create
|
86
|
+
@file_object2 = ActiveFedora::Base.create
|
87
|
+
@file_object2.part_of_append(@asset_object5)
|
88
|
+
@asset_object5.add_relationship(:has_part,@file_object1)
|
89
|
+
@asset_object5.save
|
90
|
+
@file_object2.save
|
99
91
|
end
|
100
|
-
|
92
|
+
after do
|
101
93
|
@asset_object5.delete
|
102
|
-
|
94
|
+
@file_object1.delete
|
95
|
+
@file_object2.delete
|
103
96
|
end
|
104
|
-
|
105
|
-
@
|
106
|
-
|
97
|
+
it "should find two" do
|
98
|
+
doc = ActiveFedora::Base.find_by_solr(@asset_object5.pid).first
|
99
|
+
get_file_asset_count(doc).should == 2
|
107
100
|
end
|
108
|
-
|
109
|
-
|
110
|
-
|
101
|
+
end
|
102
|
+
|
103
|
+
describe "with inbound is_part_of" do
|
104
|
+
before do
|
105
|
+
@asset_object6 =ActiveFedora::Base.create
|
106
|
+
@file_object1 = ActiveFedora::Base.create
|
107
|
+
@file_object1.part_of_append(@asset_object6)
|
108
|
+
@asset_object6.save
|
109
|
+
@file_object1.save
|
111
110
|
end
|
112
|
-
|
111
|
+
after do
|
112
|
+
@asset_object6.delete
|
113
113
|
@file_object1.delete
|
114
|
-
rescue
|
115
114
|
end
|
116
|
-
|
117
|
-
@
|
118
|
-
|
115
|
+
it "should find one" do
|
116
|
+
doc = ActiveFedora::Base.find_by_solr(@asset_object6.pid).first
|
117
|
+
get_file_asset_count(doc).should == 1
|
119
118
|
end
|
120
119
|
end
|
121
120
|
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
get_file_asset_count(doc).should == 1
|
134
|
-
result = ActiveFedora::Base.find_by_solr(@asset_object5.pid)
|
135
|
-
doc = result.hits.first
|
136
|
-
get_file_asset_count(doc).should == 2
|
137
|
-
result = ActiveFedora::Base.find_by_solr(@asset_object6.pid)
|
138
|
-
doc = result.hits.first
|
139
|
-
get_file_asset_count(doc).should == 1
|
140
|
-
|
141
|
-
result = ActiveFedora::Base.find_by_solr(@asset_object7.pid)
|
142
|
-
doc = result.hits.first
|
143
|
-
get_file_asset_count(doc).should == 0
|
121
|
+
describe "with inbound is_part_of" do
|
122
|
+
before do
|
123
|
+
@asset_object7 =ActiveFedora::Base.create
|
124
|
+
end
|
125
|
+
after do
|
126
|
+
@asset_object7.delete
|
127
|
+
end
|
128
|
+
it "should find zero" do
|
129
|
+
doc = ActiveFedora::Base.find_by_solr(@asset_object7.pid).first
|
130
|
+
get_file_asset_count(doc).should == 0
|
131
|
+
end
|
144
132
|
end
|
145
133
|
end
|
146
134
|
|