Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Digital Object edit default values #56

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Feature: Digital Object Edit Default Values
Background:
Given an administrator user is logged in
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: Edit Default Values
When the user clicks on 'Edit Default Values'
And the user clicks on 'Digital Object' in the dropdown menu
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 |
12 changes: 0 additions & 12 deletions staff_features/digital_objects/digital_object_shared.rb

This file was deleted.

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'

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question here as #55, is wait_for_ajax actually necessary?

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
Loading