diff --git a/spec/features/batch_spec.rb b/spec/features/batch_spec.rb index ddce281b..0d01871f 100644 --- a/spec/features/batch_spec.rb +++ b/spec/features/batch_spec.rb @@ -1,5 +1,4 @@ require 'rails_helper' -require 'tufts/workflow_setup' include Warden::Test::Helpers RSpec.feature 'Create a Batch', :clean, js: true do @@ -9,8 +8,6 @@ let(:user) { create(:admin) } before do - Tufts::WorkflowSetup.setup - objects.each do |obj| obj.visibility = 'open' obj.save! diff --git a/spec/features/contribute/undergrad_honors_thesis_spec.rb b/spec/features/contribute/undergrad_honors_thesis_spec.rb index 2ba77349..a31a4ad2 100644 --- a/spec/features/contribute/undergrad_honors_thesis_spec.rb +++ b/spec/features/contribute/undergrad_honors_thesis_spec.rb @@ -7,10 +7,12 @@ let(:csv_path) { Rails.root.join('config', 'deposit_type_seed.csv').to_s } let(:importer) { DepositTypeImporter.new(csv_path) } let(:pdf_path) { Rails.root.join('spec', 'fixtures', 'hello.pdf') } + before do login_as user importer.import_from_csv end + scenario do visit '/contribute' find('#deposit_type').find(:xpath, 'option[10]').select_option diff --git a/spec/features/create_audio_spec.rb b/spec/features/create_audio_spec.rb index 0ce1bc18..ccf70620 100644 --- a/spec/features/create_audio_spec.rb +++ b/spec/features/create_audio_spec.rb @@ -1,7 +1,6 @@ # Generated via # `rails generate hyrax:work Audio` require 'rails_helper' -require 'tufts/workflow_setup' include Warden::Test::Helpers # NOTE: If you generated more than one work, you have to set "js: true" @@ -9,10 +8,7 @@ context 'a logged in admin user' do let(:user) { FactoryGirl.create(:admin) } - before do - Tufts::WorkflowSetup.setup - login_as user - end + before { login_as user } scenario do visit '/dashboard' diff --git a/spec/features/create_ead_spec.rb b/spec/features/create_ead_spec.rb index b4d15183..b2ae5f42 100644 --- a/spec/features/create_ead_spec.rb +++ b/spec/features/create_ead_spec.rb @@ -1,7 +1,6 @@ # Generated via # `rails generate hyrax:work Ead` require 'rails_helper' -require 'tufts/workflow_setup' include Warden::Test::Helpers # NOTE: If you generated more than one work, you have to set "js: true" @@ -9,10 +8,7 @@ context 'a logged in admin user' do let(:user) { FactoryGirl.create(:admin) } - before do - Tufts::WorkflowSetup.setup - login_as user - end + before { login_as user } scenario do visit '/dashboard' diff --git a/spec/features/create_generic_object_spec.rb b/spec/features/create_generic_object_spec.rb index 7f4dcfec..b04dc2bc 100644 --- a/spec/features/create_generic_object_spec.rb +++ b/spec/features/create_generic_object_spec.rb @@ -1,7 +1,6 @@ # Generated via # `rails generate hyrax:work GenericObject` require 'rails_helper' -require 'tufts/workflow_setup' include Warden::Test::Helpers # NOTE: If you generated more than one work, you have to set "js: true" @@ -9,10 +8,7 @@ context 'a logged in admin user' do let(:user) { FactoryGirl.create(:admin) } - before do - Tufts::WorkflowSetup.setup - login_as user - end + before { login_as user } scenario do visit '/dashboard' diff --git a/spec/features/create_image_spec.rb b/spec/features/create_image_spec.rb index 72297196..35baa95c 100644 --- a/spec/features/create_image_spec.rb +++ b/spec/features/create_image_spec.rb @@ -1,7 +1,6 @@ # Generated via # `rails generate hyrax:work Image` require 'rails_helper' -require 'tufts/workflow_setup' include Warden::Test::Helpers # NOTE: If you generated more than one work, you have to set "js: true" @@ -9,10 +8,7 @@ context 'a logged in admin user' do let(:user) { FactoryGirl.create(:admin) } - before do - Tufts::WorkflowSetup.setup - login_as user - end + before { login_as user } scenario do visit '/dashboard' diff --git a/spec/features/create_pdf_spec.rb b/spec/features/create_pdf_spec.rb index 8776a429..86ebe3db 100644 --- a/spec/features/create_pdf_spec.rb +++ b/spec/features/create_pdf_spec.rb @@ -1,7 +1,6 @@ # Generated via # `rails generate hyrax:work Pdf` require 'rails_helper' -require 'tufts/workflow_setup' include Warden::Test::Helpers # NOTE: If you generated more than one work, you have to set "js: true" @@ -9,10 +8,7 @@ context 'a logged in admin user' do let(:user) { FactoryGirl.create(:admin) } - before do - Tufts::WorkflowSetup.setup - login_as user - end + before { login_as user } scenario do visit '/dashboard' diff --git a/spec/features/create_rcr_spec.rb b/spec/features/create_rcr_spec.rb index ce2fad74..4152ac27 100644 --- a/spec/features/create_rcr_spec.rb +++ b/spec/features/create_rcr_spec.rb @@ -1,7 +1,6 @@ # Generated via # `rails generate hyrax:work Rcr` require 'rails_helper' -require 'tufts/workflow_setup' include Warden::Test::Helpers # NOTE: If you generated more than one work, you have to set "js: true" @@ -9,10 +8,7 @@ context 'a logged in admin user' do let(:user) { FactoryGirl.create(:admin) } - before do - Tufts::WorkflowSetup.setup - login_as user - end + before { login_as user } scenario do visit '/dashboard' diff --git a/spec/features/create_tei_spec.rb b/spec/features/create_tei_spec.rb index d274001d..a8c51e33 100644 --- a/spec/features/create_tei_spec.rb +++ b/spec/features/create_tei_spec.rb @@ -1,7 +1,6 @@ # Generated via # `rails generate hyrax:work Tei` require 'rails_helper' -require 'tufts/workflow_setup' include Warden::Test::Helpers # NOTE: If you generated more than one work, you have to set "js: true" @@ -9,10 +8,7 @@ context 'a logged in admin user' do let(:user) { FactoryGirl.create(:admin) } - before do - Tufts::WorkflowSetup.setup - login_as user - end + before { login_as user } scenario do visit '/dashboard' diff --git a/spec/features/create_video_spec.rb b/spec/features/create_video_spec.rb index 8613e282..14c0d0e8 100644 --- a/spec/features/create_video_spec.rb +++ b/spec/features/create_video_spec.rb @@ -1,7 +1,6 @@ # Generated via # `rails generate hyrax:work Video` require 'rails_helper' -require 'tufts/workflow_setup' include Warden::Test::Helpers # NOTE: If you generated more than one work, you have to set "js: true" @@ -9,10 +8,7 @@ context 'a logged in admin user' do let(:user) { FactoryGirl.create(:admin) } - before do - Tufts::WorkflowSetup.setup - login_as user - end + before { login_as user } scenario do visit '/dashboard' diff --git a/spec/features/create_voting_record_spec.rb b/spec/features/create_voting_record_spec.rb index 2302dd0b..e9fc3709 100644 --- a/spec/features/create_voting_record_spec.rb +++ b/spec/features/create_voting_record_spec.rb @@ -1,7 +1,6 @@ # Generated via # `rails generate hyrax:work VotingRecord` require 'rails_helper' -require 'tufts/workflow_setup' include Warden::Test::Helpers # NOTE: If you generated more than one work, you have to set "js: true" @@ -9,10 +8,7 @@ context 'a logged in admin user' do let(:user) { FactoryGirl.create(:admin) } - before do - Tufts::WorkflowSetup.setup - login_as user - end + before { login_as user } scenario do visit '/dashboard' diff --git a/spec/features/fletcher_school_capstone_contribute_spec.rb b/spec/features/fletcher_school_capstone_contribute_spec.rb index 2121c771..d325d12b 100644 --- a/spec/features/fletcher_school_capstone_contribute_spec.rb +++ b/spec/features/fletcher_school_capstone_contribute_spec.rb @@ -2,7 +2,6 @@ # `rails generate hyrax:work Pdf` require 'rails_helper' require 'ffaker' -require 'tufts/workflow_setup' require 'import_export/deposit_type_importer.rb' include Warden::Test::Helpers @@ -12,7 +11,6 @@ let(:user) { FactoryGirl.create(:user) } let(:title) { FFaker::Movie.title } before do - Tufts::WorkflowSetup.setup importer = DepositTypeImporter.new('./config/deposit_type_seed.csv') importer.import_from_csv Pdf.delete_all diff --git a/spec/features/publication_workflow_spec.rb b/spec/features/publication_workflow_spec.rb index 1043a91d..bca47875 100644 --- a/spec/features/publication_workflow_spec.rb +++ b/spec/features/publication_workflow_spec.rb @@ -2,7 +2,6 @@ # `rails generate hyrax:work Etd` require 'rails_helper' require 'active_fedora/cleaner' -require 'tufts/workflow_setup' include Warden::Test::Helpers RSpec.feature 'deposit and publication' do @@ -12,7 +11,6 @@ context 'a logged in user' do before do allow(CharacterizeJob).to receive(:perform_later) # There is no fits installed on travis-ci - Tufts::WorkflowSetup.setup publishing_user # Make sure publishing user exists before the work is submitted current_ability = ::Ability.new(depositing_user) attributes = {} diff --git a/spec/features/sidebar_links_spec.rb b/spec/features/sidebar_links_spec.rb index 9e89127d..431bec17 100644 --- a/spec/features/sidebar_links_spec.rb +++ b/spec/features/sidebar_links_spec.rb @@ -5,10 +5,8 @@ RSpec.feature 'Manage Deposit Types link in dashboard sidebar', :clean do context 'a logged in user' do let(:admin) { FactoryGirl.create(:admin) } - before do - Tufts::WorkflowSetup.setup - login_as admin - end + + before { login_as admin } scenario do visit '/dashboard' diff --git a/spec/features/template_spec.rb b/spec/features/template_spec.rb index 3e209bf7..dbff4f8e 100644 --- a/spec/features/template_spec.rb +++ b/spec/features/template_spec.rb @@ -12,7 +12,6 @@ let(:user) { FactoryGirl.create(:admin) } before do - Tufts::WorkflowSetup.setup template # create the template object.visibility = 'open' object.save! diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 125b150b..9d7f9140 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -103,6 +103,7 @@ config.before(:suite) do DatabaseCleaner.clean_with(:truncation) + Tufts::WorkflowSetup.setup end config.before(:each) do |example| @@ -115,6 +116,9 @@ DatabaseCleaner.strategy = :transaction DatabaseCleaner.start end + + Tufts::WorkflowSetup.setup if + example.metadata[:type] == :feature || example.metadata[:workflow] end config.after(:each, type: :feature) do diff --git a/spec/services/hyrax/workflow/published_notification_spec.rb b/spec/services/hyrax/workflow/published_notification_spec.rb index 40ab311d..9440a86e 100644 --- a/spec/services/hyrax/workflow/published_notification_spec.rb +++ b/spec/services/hyrax/workflow/published_notification_spec.rb @@ -2,13 +2,9 @@ $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir) require 'rails_helper' require 'active_fedora/cleaner' -require 'tufts/workflow_setup' require 'database_cleaner' -RSpec.describe Hyrax::Workflow::PublishedNotification do - before :all do - Tufts::WorkflowSetup.setup - end +RSpec.describe Hyrax::Workflow::PublishedNotification, :workflow do let(:depositor) { FactoryGirl.create(:user) } let(:admin) { FactoryGirl.create(:admin) } let(:work) { FactoryGirl.create(:pdf, depositor: depositor.user_key) } diff --git a/spec/services/hyrax/workflow/self_deposit_notification_spec.rb b/spec/services/hyrax/workflow/self_deposit_notification_spec.rb index 6e53435d..5db5765f 100644 --- a/spec/services/hyrax/workflow/self_deposit_notification_spec.rb +++ b/spec/services/hyrax/workflow/self_deposit_notification_spec.rb @@ -2,13 +2,9 @@ $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir) require 'rails_helper' require 'active_fedora/cleaner' -require 'tufts/workflow_setup' require 'database_cleaner' -RSpec.describe Hyrax::Workflow::SelfDepositNotification do - before :all do - Tufts::WorkflowSetup.setup - end +RSpec.describe Hyrax::Workflow::SelfDepositNotification, :workflow do let(:depositor) { FactoryGirl.create(:user) } let(:admin) { FactoryGirl.create(:admin) } let(:work) { FactoryGirl.create(:pdf, depositor: depositor.user_key) } diff --git a/spec/services/hyrax/workflow/unpublished_notification_spec.rb b/spec/services/hyrax/workflow/unpublished_notification_spec.rb index a5be2efd..8dc2df3b 100644 --- a/spec/services/hyrax/workflow/unpublished_notification_spec.rb +++ b/spec/services/hyrax/workflow/unpublished_notification_spec.rb @@ -2,13 +2,9 @@ $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir) require 'rails_helper' require 'active_fedora/cleaner' -require 'tufts/workflow_setup' require 'database_cleaner' -RSpec.describe Hyrax::Workflow::UnpublishedNotification do - before :all do - Tufts::WorkflowSetup.setup - end +RSpec.describe Hyrax::Workflow::UnpublishedNotification, :workflow do let(:depositor) { FactoryGirl.create(:user) } let(:admin) { FactoryGirl.create(:admin) } let(:work) { FactoryGirl.create(:pdf, depositor: depositor.user_key) }