Skip to content

Commit

Permalink
Merge pull request #6526 from samvera/abel-fix_edit_file_spec.rb
Browse files Browse the repository at this point in the history
Valkyrization: Edit edit_file_spec.rb
  • Loading branch information
dlpierce authored Jan 5, 2024
2 parents 043a6a9 + becad3b commit 3e6cbac
Showing 1 changed file with 34 additions and 14 deletions.
48 changes: 34 additions & 14 deletions spec/features/edit_file_spec.rb
Original file line number Diff line number Diff line change
@@ -1,44 +1,64 @@
# frozen_string_literal: true
RSpec.describe "Editing a file:", type: :feature do
let(:user) { create(:user) }
let(:admin_set) { create(:admin_set) }
let(:permission_template) { create(:permission_template, source_id: admin_set.id) }
let!(:workflow) { create(:workflow, allows_access_grant: true, active: true, permission_template_id: permission_template.id) }
let(:file_title) { 'Some kind of title' }
let(:work) { build(:work, user: user, admin_set_id: admin_set.id) }
let(:file_set) { create(:file_set, user: user, title: [file_title]) }

let(:admin_set) do
if Hyrax.config.disable_wings
valkyrie_create(:hyrax_admin_set)
else
create(:admin_set)
end
end

let!(:work) do
if Hyrax.config.disable_wings
valkyrie_create(:monograph, depositor: user.user_key, admin_set_id: admin_set.id, members: [file_set])
else
build(:work, user: user, admin_set_id: admin_set.id)
end
end

let(:file_set) do
if Hyrax.config.disable_wings
valkyrie_create(:hyrax_file_set, :with_files, title: ['Test File Set'], depositor: user.user_key, read_groups: ['public'], edit_users: [user])
else
create(:file_set, title: ['Test File Set'], user: user, read_groups: ['public'], edit_users: [user])
end
end

let(:file) { File.open(fixture_path + '/world.png') }

before do
sign_in user
Hydra::Works::AddFileToFileSet.call(file_set, file, :original_file)
work.ordered_members << file_set
work.save!

unless Hyrax.config.disable_wings
Hydra::Works::AddFileToFileSet.call(file_set, file, :original_file)
work.ordered_members << file_set
work.save!
end
end

context 'when the user tries to update file content, but forgets to select a file:' do
it 'shows the edit page again' do
visit edit_hyrax_file_set_path(file_set)
click_link 'Versions'
click_button 'Upload New Version'
expect(page).to have_content "Edit #{file_title}"
expect(page).to have_content 'There was a problem processing your request.'
expect(page).to have_content "Edit #{file_set}"
end
end

context 'when the user tries to update permissions' do
let(:file_set) { create(:file_set, user: user, title: [file_title], read_groups: ['public']) }

it 'successfully update visibility' do
visit edit_hyrax_file_set_path(file_set)
click_link 'Permissions'

expect(find('#file_set_visibility_open').checked?).to be(true)

find('#file_set_visibility_authenticated').click
within "#permission" do
click_button 'Save'
end

find_button('update_permission').click
expect(page).to have_css('span.badge.badge-info', text: 'Institution')
end
end
Expand Down

0 comments on commit 3e6cbac

Please sign in to comment.