spec/lib/sufia/breadcrumbs_spec.rb in sufia-6.0.0.beta1 vs spec/lib/sufia/breadcrumbs_spec.rb in sufia-6.0.0.rc1
- old
+ new
@@ -52,28 +52,66 @@
end
specify "the trail goes back to the search" do
expect(crumbs.trail_from_referer).to eql([[I18n.t('sufia.bread_crumb.search_results'), referer]])
end
end
- context "when coming from the dashboard" do
+ context "when coming places other than the catalog" do
before do
- allow(crumbs.request).to receive(:referer).and_return("http://...dashboard/")
+ allow(crumbs.request).to receive(:referer).and_return("http://...blargh/")
allow(crumbs).to receive(:user_signed_in?) { true }
+ allow(crumbs).to receive(:action_name).and_return("view")
end
specify "the trail goes back to the user's files" do
allow(crumbs).to receive(:controller_name).and_return("my/files")
- expect(crumbs.trail_from_referer.first).to eql([I18n.t('sufia.dashboard.title'), sufia.dashboard_index_path])
- expect(crumbs.trail_from_referer.last).to eql([I18n.t('sufia.dashboard.my.files'), sufia.dashboard_files_path])
+ crumbs.trail_from_referer
+ expect(crumbs.trail.first).to eql([I18n.t('sufia.dashboard.title'), sufia.dashboard_index_path])
+ expect(crumbs.trail.last).to eql([I18n.t('sufia.dashboard.my.files'), sufia.dashboard_files_path])
end
specify "the trail goes back to the user's collections" do
allow(crumbs).to receive(:controller_name).and_return("my/collections")
- expect(crumbs.trail_from_referer.first).to eql([I18n.t('sufia.dashboard.title'), sufia.dashboard_index_path])
- expect(crumbs.trail_from_referer.last).to eql([I18n.t('sufia.dashboard.my.collections'), sufia.dashboard_collections_path])
+ crumbs.trail_from_referer
+ expect(crumbs.trail.first).to eql([I18n.t('sufia.dashboard.title'), sufia.dashboard_index_path])
+ expect(crumbs.trail.last).to eql([I18n.t('sufia.dashboard.my.collections'), sufia.dashboard_collections_path])
end
specify "the trail goes back to the user's files when on the batch edit page" do
allow(crumbs).to receive(:controller_name).and_return("batch_edit")
- expect(crumbs.trail_from_referer.first).to eql([I18n.t('sufia.dashboard.title'), sufia.dashboard_index_path])
- expect(crumbs.trail_from_referer.last).to eql([I18n.t('sufia.dashboard.my.files'), sufia.dashboard_files_path])
+ crumbs.trail_from_referer
+ expect(crumbs.trail.first).to eql([I18n.t('sufia.dashboard.title'), sufia.dashboard_index_path])
+ expect(crumbs.trail.last).to eql([I18n.t('sufia.dashboard.my.files'), sufia.dashboard_files_path])
+ end
+ end
+
+ context "when editing a file" do
+ before do
+ allow(crumbs.request).to receive(:referer).and_return("http://...blargh/")
+ allow(crumbs).to receive(:user_signed_in?) { true }
+ allow(crumbs).to receive(:action_name).and_return("edit")
+ allow(crumbs).to receive(:params).and_return({"id" => "abc123"})
+ allow(crumbs).to receive(:controller_name).and_return("generic_files")
+ end
+
+ specify "the trail goes back to the user's files and the browse view" do
+ crumbs.trail_from_referer
+ expect(crumbs.trail.first).to eql([I18n.t('sufia.dashboard.title'), sufia.dashboard_index_path])
+ expect(crumbs.trail[1]).to eql([I18n.t('sufia.dashboard.my.files'), sufia.dashboard_files_path])
+ expect(crumbs.trail.last).to eql([I18n.t('sufia.generic_file.browse_view'), sufia.generic_file_path("abc123")])
+ end
+ end
+
+ context "when viewing file statistics" do
+ before do
+ allow(crumbs.request).to receive(:referer).and_return("http://...blargh/")
+ allow(crumbs).to receive(:user_signed_in?) { true }
+ allow(crumbs).to receive(:action_name).and_return("stats")
+ allow(crumbs).to receive(:params).and_return({"id" => "abc123"})
+ allow(crumbs).to receive(:controller_name).and_return("generic_files")
+ end
+
+ specify "the trail goes back to the user's files and the browse view" do
+ crumbs.trail_from_referer
+ expect(crumbs.trail.first).to eql([I18n.t('sufia.dashboard.title'), sufia.dashboard_index_path])
+ expect(crumbs.trail[1]).to eql([I18n.t('sufia.dashboard.my.files'), sufia.dashboard_files_path])
+ expect(crumbs.trail.last).to eql([I18n.t('sufia.generic_file.browse_view'), sufia.generic_file_path("abc123")])
end
end
end
end