From e2e3aa9281a475ac2ef00e1316eb659adf1ccd03 Mon Sep 17 00:00:00 2001 From: Ahmed Ejaz Date: Mon, 12 Aug 2024 15:16:47 +0500 Subject: [PATCH] 12698: add specs --- spec/system/admin/products_spec.rb | 92 ++++++++++++------------------ 1 file changed, 37 insertions(+), 55 deletions(-) diff --git a/spec/system/admin/products_spec.rb b/spec/system/admin/products_spec.rb index abe75464db..12c064dda4 100644 --- a/spec/system/admin/products_spec.rb +++ b/spec/system/admin/products_spec.rb @@ -299,6 +299,43 @@ RSpec.describe ' describe "editing page" do let!(:product) { create(:simple_product, name: 'a product', supplier_id: supplier2.id) } + describe "'Back to products list' and 'Cancel' buttons" do + context "navigates to edit from the bulk product update page with searched results" do + it "should navigate back to the same searched results page" do + # Navigating to a searched URL + visit admin_products_url({ + page: 1, + per_page: 25, + search_term: 'product', + producer_id: supplier2.id + }) + + products_page_url = current_url + within row_containing_name('a product') do + page.find(".vertical-ellipsis-menu").click + click_link('Edit', href: spree.edit_admin_product_path(product)) + end + + expect(page).to have_link('Back to products list', + href: products_page_url) + expect(page).to have_link('Cancel', + href: products_page_url) + end + end + + context "directly navigates to the edit page" do + it "should navigate back to all the products page" do + # Navigating to a searched URL + visit spree.edit_admin_product_path(product) + + expect(page).to have_link('Back to products list', + href: admin_products_url) + expect(page).to have_link('Cancel', + href: admin_products_url) + end + end + end + it "editing a product" do visit spree.edit_admin_product_path product @@ -309,61 +346,6 @@ RSpec.describe ' expect(product.description).to eq("
A description...
") end - it "editing a product comming from the bulk product update page with filter" do - visit spree.edit_admin_product_path(product, filter) - - click_button 'Update' - expect(flash_message).to eq('Product "a product" has been successfully updated!') - - # Check the url still includes the filters - uri = URI.parse(current_url) - expect("#{uri.path}?#{uri.query}").to eq spree.edit_admin_product_path(product, filter) - - # Link back to the bulk product update page should include the filters - expected_admin_product_url = - Regexp.new(Regexp.escape("#{spree.admin_products_path}#?#{filter.to_query}")) - expect(page).to have_link('Back to products list', - href: expected_admin_product_url) - expect(page).to have_link('Cancel', href: expected_admin_product_url) - - expected_product_url = Regexp.new(Regexp.escape(spree.edit_admin_product_path( - product.id, filter - ))) - expect(page).to have_link('Product Details', - href: expected_product_url) - - expected_product_image_url = Regexp.new(Regexp.escape(spree.admin_product_images_path( - product.id, filter - ))) - expect(page).to have_link('Images', - href: expected_product_image_url) - - expected_product_variant_url = Regexp.new(Regexp.escape(spree.admin_product_variants_path( - product.id, filter - ))) - expect(page).to have_link('Variants', - href: expected_product_variant_url) - - expected_product_properties_url = - Regexp.new(Regexp.escape(spree.admin_product_product_properties_path( - product.id, filter - ))) - expect(page).to have_link('Product Properties', - href: expected_product_properties_url) - - expected_product_group_buy_option_url = - Regexp.new(Regexp.escape(spree.group_buy_options_admin_product_path( - product.id, filter - ))) - expect(page).to have_link('Group Buy Options', - href: expected_product_group_buy_option_url) - - expected_product_seo_url = Regexp.new(Regexp.escape(spree.seo_admin_product_path( - product.id, filter - ))) - expect(page).to have_link('Search', href: expected_product_seo_url) - end - it "editing product group buy options" do visit spree.edit_admin_product_path product within('#sidebar') { click_link 'Group Buy Options' }