Skip to content

Commit

Permalink
Digital object default values
Browse files Browse the repository at this point in the history
  • Loading branch information
blacksmith-welder committed Jan 3, 2025
1 parent 56f93d1 commit 86eac2d
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,14 @@ Feature: Digital Object Edit Default Values
And the Pre-populate Records option is checked in Repository Preferences
And a Digital Object has been created
And the user is on the Digital Objects page
Scenario: Open Digital Object Edit Default values page
Scenario: Edit Default Values
When the user clicks on 'Edit Default Values'
And the user clicks on 'Digital Object' in the dropdown menu
Then the Digital Object Defaults page is displayed
Scenario: Edit Default Values
Given the user is on the Digital Object Defaults page
When the user fills in 'Title' with 'Test Digital Object'
And the user fills in 'Title' with 'Test Digital Object'
And the user selects 'Text' from 'Digital Object Type'
And the user clicks on 'Save'
Then the 'Defaults' updated message is displayed
And the new Digital Object form has the following default values
| form_section | form_field | form_value |
| Basic Information | Title | Test Digital Object |
| Basic Information | Digital Object Type | Text |

| form_section | form_field | form_value |
| Basic Information | Title | Test Digital Object |
| Basic Information | Digital Object Type | Text |
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# frozen_string_literal: true

Then 'the new Digital Object form has the following default values' do |form_values_table|
visit "#{STAFF_URL}/digital_objects/new"

form_values = form_values_table.hashes

form_values.each do |row|
section_title = find('h3', text: row['form_section'])
section = section_title.ancestor('section')
expect(section[:id]).to_not eq nil

within section do
field = find_field(row['form_field'])

expect(field.value.downcase).to eq row['form_value'].downcase
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# frozen_string_literal: true

Given 'a Digital Object has been created' do
visit "#{STAFF_URL}/digital_objects/new"

fill_in 'digital_object_digital_object_id_', with: "Digital Object Identifier #{@uuid}"
fill_in 'digital_object_title_', with: "Digital Object Title #{@uuid}"

click_on 'Add Date'
select 'Single', from: 'digital_object_dates__0__date_type_'
fill_in 'digital_object_dates__0__begin_', with: '2000-01-01'

click_on 'Save'

wait_for_ajax
expect(find('.alert.alert-success.with-hide-alert').text).to have_text "Digital Object Digital Object Title #{@uuid} Created"
@digital_object_id = current_url.split('::digital_object_').pop
end

Given 'the user is on the Digital Objects page' do
visit "#{STAFF_URL}/digital_objects"
end
37 changes: 37 additions & 0 deletions staff_features/shared/step_definitions.rb
Original file line number Diff line number Diff line change
Expand Up @@ -320,3 +320,40 @@
Then 'the {string} section is displayed' do |section_heading|
expect(all('section > h3').map(&:text)).to include(section_heading)
end

Given 'the Pre-populate Records option is checked in Repository Preferences' do
visit "#{STAFF_URL}/repositories/new"

fill_in 'repository_repository__repo_code_', with: 'repository_test_default_values'
fill_in 'repository_repository__name_', with: 'Repository Test Default Values'
find('#repository_repository__publish_').check
click_on 'Save'

message = find('.alert')

repository_exists = message.text == 'Repository Short Name - The repository short name must be unique within this ArchivesSpace'
repository_created = message.text == 'Repository Created'
agent_records_message = message.text == 'Agent records cannot be identical'

expect(repository_exists || repository_created || agent_records_message).to eq true

visit STAFF_URL

click_on 'Select Repository'
within '.dropdown-menu' do
find('select').select 'repository_test_default_values'

click_on 'Select Repository'
end

expect(page).to have_text 'The Repository repository_test_default_values is now active'

find('#user-menu-dropdown').click
within '.dropdown-menu' do
click_on 'Repository Preferences (admin)'
end

find('#preference_defaults__default_values_').check

click_on 'Save'
end

0 comments on commit 86eac2d

Please sign in to comment.