From 602c56c10247e7859255f51d82c95db6db10a733 Mon Sep 17 00:00:00 2001 From: Akanksha Bankhele Date: Wed, 5 Nov 2025 09:01:04 -0500 Subject: [PATCH 1/3] high priority test cases --- app/assets/javascripts/select_all.js | 9 + app/views/_user_util_links.html.erb | 4 +- .../admin/collections/_cdl_form.html.erb | 14 +- app/views/admin/collections/show.html.erb | 2 +- app/views/bookmarks/merge.html.erb | 2 +- app/views/bookmarks/move.html.erb | 4 +- .../bookmarks/update_access_control.html.erb | 2 +- app/views/checkouts/_return_all.html.erb | 8 + app/views/checkouts/index.html.erb | 41 ++ .../media_objects/_access_control.html.erb | 2 +- .../media_objects/_destroy_checkout.html.erb | 2 +- .../modules/_autocomplete_input.html.erb | 3 +- spec/cypress/integration/cdl_spec.js | 246 +++++++ spec/cypress/integration/media_object_spec.js | 621 ++++++++++++++++++ spec/cypress/integration/selected_items.js | 411 ++++++++++++ 15 files changed, 1354 insertions(+), 17 deletions(-) create mode 100644 spec/cypress/integration/cdl_spec.js create mode 100644 spec/cypress/integration/selected_items.js diff --git a/app/assets/javascripts/select_all.js b/app/assets/javascripts/select_all.js index df6bae8558..7da01d0665 100644 --- a/app/assets/javascripts/select_all.js +++ b/app/assets/javascripts/select_all.js @@ -84,3 +84,12 @@ window.addEventListener('beforeunload', function () { selectAllAbortController.abort(); } }); + +//adding data-testid to select toggles for testing +$(function () { + $('label.toggle-bookmark input.toggle-bookmark[type=checkbox]').each(function () { + const m = this.id && this.id.match(/^toggle-bookmark_(.+)$/); + $(this).attr('data-testid', m ? `bookmark-toggle-${m[1]}` : 'bookmark-toggle'); + }); +}); + diff --git a/app/views/_user_util_links.html.erb b/app/views/_user_util_links.html.erb index 7b27935d2a..10ff8506b9 100644 --- a/app/views/_user_util_links.html.erb +++ b/app/views/_user_util_links.html.erb @@ -37,7 +37,7 @@ Unless required by applicable law or agreed to in writing, software distributed <% end %> @@ -46,7 +46,7 @@ Unless required by applicable law or agreed to in writing, software distributed <% end %> diff --git a/app/views/admin/collections/_cdl_form.html.erb b/app/views/admin/collections/_cdl_form.html.erb index 4c08c08c90..1988b4ed44 100644 --- a/app/views/admin/collections/_cdl_form.html.erb +++ b/app/views/admin/collections/_cdl_form.html.erb @@ -16,7 +16,7 @@ Unless required by applicable law or agreed to in writing, software distributed <% if can?(:update_access_control, object) %> <%= bootstrap_form_for object, html: { id: 'cdl_form' } do |vid| %> <% if Avalon::Configuration.controlled_digital_lending_enabled? && object.is_a?(Admin::Collection) %> -
+

Controlled Digital Lending

@@ -24,13 +24,13 @@ Unless required by applicable law or agreed to in writing, software distributed
<%= label_tag :cdl do %> - <%= check_box_tag :cdl, '1', (cdl) %> + <%= check_box_tag :cdl, '1', (cdl), data: { testid: 'cdl-enable-checkbox' }%> Enable controlled digital lending for this collection <% end %>
<%= hidden_field_tag :save_field, "cdl" %> - <%= submit_tag "Save Setting", class: "btn btn-primary", form: 'cdl_form' %> + <%= submit_tag "Save Setting", class: "btn btn-primary", form: 'cdl_form', data:{testid: 'cdl-save-setting'} %>
<% end %> @@ -38,7 +38,7 @@ Unless required by applicable law or agreed to in writing, software distributed <%= bootstrap_form_for object, html: { id: 'lending_form' } do |vid| %> <% if lending_enabled?(object) %> -
+

Item lending period

@@ -51,7 +51,7 @@ Unless required by applicable law or agreed to in writing, software distributed - <%= text_field_tag "add_lending_period_days", d ? d : 0, class: 'form-control' %> + <%= text_field_tag "add_lending_period_days", d ? d : 0, class: 'form-control' , data: { testid: 'add-lending-period-days' }%>
<%= hidden_field_tag :save_field, "lending_period" %> <%= hidden_field_tag :overwrite, false %> - <%= submit_tag "Save Setting", class: "btn btn-primary", form: 'lending_form' %> - <%= submit_tag "Apply to All Existing Items", name: "apply_to_existing", class: "btn btn-outline", data: { confirm: I18n.t('access_control.apply_to_all_warning') % [object.media_objects.count] }, form: 'lending_form' %> + <%= submit_tag "Save Setting", class: "btn btn-primary", form: 'lending_form', data:{testid: 'lending-period-save-setting'}%> + <%= submit_tag "Apply to All Existing Items", name: "apply_to_existing", class: "btn btn-outline", data: { confirm: I18n.t('access_control.apply_to_all_warning') % [object.media_objects.count], testid: 'lending-period-apply-to-all' }, form: 'lending_form' %>
<% end %> diff --git a/app/views/admin/collections/show.html.erb b/app/views/admin/collections/show.html.erb index c13f42acba..b0d51f7706 100644 --- a/app/views/admin/collections/show.html.erb +++ b/app/views/admin/collections/show.html.erb @@ -85,7 +85,7 @@ Unless required by applicable law or agreed to in writing, software distributed
<%= link_to('Create An Item', new_media_object_path(collection_id: @collection.id), class: 'btn btn-primary', data: { testid: 'collection-create-item-btn' }) if can? :create, MediaObject %> - <%= link_to('List All Items', search_catalog_path('f[collection_ssim][]' => @collection.name), class: 'btn btn-outline') %> + <%= link_to('List All Items', search_catalog_path('f[collection_ssim][]' => @collection.name), class: 'btn btn-outline', data: { testid: 'collection-list-all-item-btn' }) %> <%= button_tag('Edit Collection Info', class: 'btn btn-outline', data: {"bs-toggle": "modal", "bs-target": "#new_collection", testid:"collection-edit-collection-info"}) if can? :update, @collection %>
diff --git a/app/views/bookmarks/merge.html.erb b/app/views/bookmarks/merge.html.erb index 4498e88b48..6f4706ba06 100644 --- a/app/views/bookmarks/merge.html.erb +++ b/app/views/bookmarks/merge.html.erb @@ -31,7 +31,7 @@ Unless required by applicable law or agreed to in writing, software distributed

<%= t('blacklight.merge.confirm') %>

<% @documents.each do |d| %>
- <%= radio_button_tag :media_object, d.id, class: 'ms-3' %> + <%= radio_button_tag :media_object, d.id, class: 'ms-3', data: { testid: "merge-media-object-#{d.id}" } %> <%= label_tag "media_object_#{d.id}", "#{d["title_tesi"] || "No title"} - #{d.id}" , class: 'ms-3' %> <% t('blacklight.merge.insufficient_rights') if cannot? :destroy, SpeedyAF::Proxy::MediaObject.find(d.id) %>
diff --git a/app/views/bookmarks/move.html.erb b/app/views/bookmarks/move.html.erb index 44b01bdeca..15699bbbe7 100644 --- a/app/views/bookmarks/move.html.erb +++ b/app/views/bookmarks/move.html.erb @@ -33,11 +33,11 @@ Unless required by applicable law or agreed to in writing, software distributed

<%= t('blacklight.move.confirm') %>

- <%= select_tag :target_collection_id, options_from_collection_for_select(@candidates, "id", "name"), style: 'width:100%;' %> + <%= select_tag :target_collection_id, options_from_collection_for_select(@candidates, "id", "name"), style: 'width:100%;' , data: { testid: "bookmark-collection-dropdown" } %>
<% end %>
diff --git a/app/views/bookmarks/update_access_control.html.erb b/app/views/bookmarks/update_access_control.html.erb index 1eddb867a7..fb99de5cb6 100644 --- a/app/views/bookmarks/update_access_control.html.erb +++ b/app/views/bookmarks/update_access_control.html.erb @@ -79,7 +79,7 @@ Unless required by applicable law or agreed to in writing, software distributed <%= text_field_tag "add_user_end", nil, placeholder: 'End Date (yyyy-mm-dd)', class: 'form-control date-input access_date', autocomplete: 'off' %>
- <%= button_tag "Add", name: 'submit_add_user', class:'btn btn-outline', value: 'Add' %> + <%= button_tag "Add", name: 'submit_add_user', class:'btn btn-outline', value: 'Add', data: { testid: 'bookmark-add-user' } %> <%= button_tag "Remove", name: 'submit_remove_user', class:'btn btn-outline remove_access', value: 'Remove' %>
<% end %> diff --git a/app/views/checkouts/_return_all.html.erb b/app/views/checkouts/_return_all.html.erb index c9766c6aad..3c9592a701 100644 --- a/app/views/checkouts/_return_all.html.erb +++ b/app/views/checkouts/_return_all.html.erb @@ -13,9 +13,17 @@ Unless required by applicable law or agreed to in writing, software distributed specific language governing permissions and limitations under the License. --- END LICENSE_HEADER BLOCK --- %> +<<<<<<< HEAD:app/views/checkouts/_return_all.html.erb <% if Checkout.active_for_user(current_user.id).count > 1 || current_ability.is_administrator? %>
<%= link_to 'Return All', main_app.return_all_checkouts_path , class: 'btn btn-primary btn-md', method: :patch, data: { confirm: 'Are you sure you want to return all items?' } %>
<% end %> +======= +<% # container for display inactive checkouts checkbox -%> +
+ <%= check_box_tag :inactive_checkouts, data: { testid: 'inactive-checkouts-toggle' } %> + <%= label_tag :inactive_checkouts, 'Display Returned Items', class: 'fw-bold' %> +
+>>>>>>> d2a17bdeb (high priority test cases):app/views/checkouts/_inactive_checkout.html.erb diff --git a/app/views/checkouts/index.html.erb b/app/views/checkouts/index.html.erb index a31dc32a57..77fbe99fa3 100644 --- a/app/views/checkouts/index.html.erb +++ b/app/views/checkouts/index.html.erb @@ -26,4 +26,45 @@ Unless required by applicable law or agreed to in writing, software distributed <% else %>

No matching records found.

<% end %> +<<<<<<< HEAD +======= + + + + + <% if current_ability.is_administrator? %> + + <% end %> + + + + + + + + + + <% @checkouts.each do |checkout| %> + + <% if current_ability.is_administrator? %> + + <% end %> + + + + + + + <% end %> + +
UserMedia objectCheckout timeReturn timeTime remaining + <% if Checkout.active_for_user(current_user.id).count > 1 || current_ability.is_administrator? %> + <%= link_to 'Return All', main_app.return_all_checkouts_path , class: 'btn btn-primary btn-xs', method: :patch, data: { confirm: 'Are you sure you want to return all items?' } %> + <% end %> +
<%= checkout.user.user_key %><%= link_to checkout.media_object.title, main_app.media_object_url(checkout.media_object) ,data: { testid: "checkout-media-title" }%><%= distance_of_time_in_words(checkout.return_time - DateTime.current) %> + <% if checkout.return_time > DateTime.current %> + <%= link_to 'Return', return_checkout_url(checkout), class: 'btn btn-outline btn-xs', method: :patch, data: { testid: 'checkout-return' } %> + <% end %> +
+>>>>>>> d2a17bdeb (high priority test cases) diff --git a/app/views/media_objects/_access_control.html.erb b/app/views/media_objects/_access_control.html.erb index 5603587d96..89f13e2977 100644 --- a/app/views/media_objects/_access_control.html.erb +++ b/app/views/media_objects/_access_control.html.erb @@ -29,7 +29,7 @@ Unless required by applicable law or agreed to in writing, software distributed - <%= text_field_tag "add_lending_period_days", d ? d : 0, class: 'form-control' %> + <%= text_field_tag "add_lending_period_days", d ? d : 0, class: 'form-control', data:{testid: 'media-object-lending-period-days'} %>
<%= link_to 'Return now', return_checkout_url(current_checkout), class: 'btn btn-outline', method: :patch, - id: "return-btn", data: { checkout_returntime: current_checkout.return_time } %> + id: "return-btn", data: { checkout_returntime: current_checkout.return_time, testid: 'media-object-return-now-btn' } %>