Skip to content

Commit acdec6e

Browse files
Digital object component create
1 parent d446a73 commit acdec6e

File tree

4 files changed

+58
-6
lines changed

4 files changed

+58
-6
lines changed

helpers/helpers.rb

+5-1
Original file line numberDiff line numberDiff line change
@@ -329,5 +329,9 @@ def wait_for_ajax
329329
end
330330

331331
def extract_created_record_id(string)
332-
current_url.split(':archival_object_').pop if string.include?('Archival Object')
332+
return current_url.split(':archival_object_').pop if string.include?('Archival Object')
333+
334+
return current_url.split(':digital_object_component_').pop if string.include?('Digital Object Component')
335+
336+
current_url.split(':digital_object_').pop if string.include?('Digital Object')
333337
end

staff_features/digital_objects/step_definitions/digital_object_shared.rb

+47
Original file line numberDiff line numberDiff line change
@@ -135,3 +135,50 @@
135135

136136
expect(subrecords.length).to eq @digital_object_number_of_file_versions - 1
137137
end
138+
139+
Then 'the Digital Object Component with Label {string} is saved as a child of the Digital Object' do |text|
140+
records = all('#tree-container .table-row', text:)
141+
142+
expect(records.length).to eq 1
143+
expect(records[0][:class]).to include 'indent-level-1 current'
144+
145+
expect(page).to have_css "#tree-container #digital_object_#{@digital_object_id} + .table-row-group #digital_object_component_#{@created_record_id}"
146+
end
147+
148+
Then 'the Digital Object Component with Title {string} is saved as a sibling of the selected Digital Object Component' do |title|
149+
records = all('#tree-container .table-row', text: title)
150+
151+
expect(records.length).to eq 1
152+
expect(records[0][:class]).to include 'indent-level-1 current'
153+
expect(page).to have_css "#tree-container #digital_object_#{@digital_object_id} + .table-row-group #digital_object_component_#{@created_record_id}"
154+
end
155+
156+
Given 'a Digital Object with a Digital Object Component has been created' do
157+
visit "#{STAFF_URL}/digital_objects/new"
158+
159+
fill_in 'digital_object_digital_object_id_', with: "Digital Object Identifier #{@uuid}"
160+
fill_in 'digital_object_title_', with: "Digital Object Title #{@uuid}"
161+
162+
click_on 'Add Date'
163+
select 'Single', from: 'digital_object_dates__0__date_type_'
164+
fill_in 'digital_object_dates__0__begin_', with: '2000-01-01'
165+
166+
click_on 'Save'
167+
168+
wait_for_ajax
169+
expect(find('.alert.alert-success.with-hide-alert').text).to have_text "Digital Object Digital Object Title #{@uuid} Created"
170+
@digital_object_id = current_url.split('::digital_object_').pop
171+
172+
click_on 'Add Child'
173+
wait_for_ajax
174+
175+
fill_in 'Label', with: "Digital Object Component Label #{@uuid}"
176+
click_on 'Save'
177+
wait_for_ajax
178+
179+
expect(find('.alert.alert-success.with-hide-alert').text).to eq "Digital Object Component created on Digital Object Digital Object Title #{@uuid}"
180+
end
181+
182+
And 'the user selects the Digital Object Component' do
183+
click_on "Digital Object Component Label #{@uuid}"
184+
end

staff_features/resources/step_definitions/resource_archival_object_create.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -112,15 +112,15 @@
112112

113113
expect(archival_objects.length).to eq 1
114114
expect(archival_objects[0][:class]).to include 'indent-level-1 current'
115-
expect(page).to have_css "#tree-container #resource_#{@resource_id} + .table-row-group #archival_object_#{@created_archival_object_id}"
115+
expect(page).to have_css "#tree-container #resource_#{@resource_id} + .table-row-group #archival_object_#{@created_record_id}"
116116
end
117117

118118
Then 'the Archival Object with Title {string} is saved as a sibling of the selected Archival Object' do |title|
119119
archival_objects = all('#tree-container .table-row', text: title)
120120

121121
expect(archival_objects.length).to eq 1
122122
expect(archival_objects[0][:class]).to include 'indent-level-1 current'
123-
expect(page).to have_css "#tree-container #resource_#{@resource_id} + .table-row-group #archival_object_#{@created_archival_object_id}"
123+
expect(page).to have_css "#tree-container #resource_#{@resource_id} + .table-row-group #archival_object_#{@created_record_id}"
124124
end
125125

126126
Then 'the New Archival Object page is displayed' do

staff_features/shared/step_definitions.rb

+4-3
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@
4444
When 'the user clicks on {string}' do |string|
4545
click_on_string string
4646

47-
wait_for_ajax if current_url.include? "resources/#{@resource_id}/edit"
47+
wait_for_ajax if current_url.include?("resources/#{@resource_id}/edit") ||
48+
current_url.include?("digital_objects/#{@digital_object_id}/edit")
4849
end
4950

5051
When 'the user clicks on {string} in the record toolbar' do |string|
@@ -238,11 +239,11 @@
238239
end
239240

240241
Then('the {string} created message is displayed') do |string|
241-
wait_for_ajax if current_url.include?('resources' || 'digital_objects')
242+
wait_for_ajax if current_url.include?('resources') || current_url.include?('digital_objects')
242243

243244
expect(find('.alert.alert-success.with-hide-alert').text).to match(/^#{string}.*created.*$/i)
244245

245-
@created_archival_object_id = extract_created_record_id(string)
246+
@created_record_id = extract_created_record_id(string)
246247
end
247248

248249
Then('the {string} updated message is displayed') do |string|

0 commit comments

Comments
 (0)