From 684ae2ca22a5b24959371720237a2f41350329a8 Mon Sep 17 00:00:00 2001 From: Gaetan Riou Date: Fri, 24 Jul 2020 15:25:37 +1000 Subject: [PATCH] update product feature test to use ulr helpers --- .../admin/bulk_product_update_spec.rb | 8 ++--- spec/features/admin/products_spec.rb | 31 +++++++++++++------ 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/spec/features/admin/bulk_product_update_spec.rb b/spec/features/admin/bulk_product_update_spec.rb index fdf7d57104..6265c204eb 100644 --- a/spec/features/admin/bulk_product_update_spec.rb +++ b/spec/features/admin/bulk_product_update_spec.rb @@ -521,7 +521,7 @@ feature ' find("a.edit-product").click end - expect(URI.parse(current_url).path).to eq "/admin/products/#{p1.permalink}/edit" + expect(URI.parse(current_url).path).to eq spree.edit_admin_product_path(v1.product.permalink) end it "shows an edit button for products, which takes the user to the standard edit page for that product, url includes selected filter" do @@ -536,7 +536,7 @@ feature ' end uri = URI.parse(current_url) - expect("#{uri.path}?#{uri.query}").to eq "/admin/products/#{p1.permalink}/edit?producerFilter=#{p1.supplier.id}" + expect("#{uri.path}?#{uri.query}").to eq spree.edit_admin_product_path(v1.product.permalink, producerFilter: p1.supplier.id) end it "shows an edit button for variants, which takes the user to the standard edit page for that variant" do @@ -550,7 +550,7 @@ feature ' end uri = URI.parse(current_url) - expect(URI.parse(current_url).path).to eq "/admin/products/#{v1.product.permalink}/variants/#{v1.id}/edit" + expect(URI.parse(current_url).path).to eq spree.edit_admin_product_variant_path(v1.product.permalink, v1.id) end it "shows an edit button for variants, which takes the user to the standard edit page for that variant, url includes selected filter" do @@ -568,7 +568,7 @@ feature ' end uri = URI.parse(current_url) - expect("#{uri.path}?#{uri.query}").to eq "/admin/products/#{v1.product.permalink}/variants/#{v1.id}/edit?producerFilter=#{p1.supplier.id}" + expect("#{uri.path}?#{uri.query}").to eq spree.edit_admin_product_variant_path(v1.product.permalink, v1.id, producerFilter: p1.supplier.id) end end diff --git a/spec/features/admin/products_spec.rb b/spec/features/admin/products_spec.rb index 06914be930..fd6be7a41d 100644 --- a/spec/features/admin/products_spec.rb +++ b/spec/features/admin/products_spec.rb @@ -162,19 +162,30 @@ feature ' # 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_query}" + expect("#{uri.path}?#{uri.query}").to eq spree.edit_admin_product_path(product, producerFilter: 2) # Link back to the bulk product update page should include the filters - expect(page).to have_link(I18n.t('admin.products.back_to_products_list'), href: %r{admin\/products#\?#{filter_query}}) - expect(page).to have_link(I18n.t(:cancel), href: %r{admin\/products#\?#{filter_query}}) + expected_admin_product_url = Regexp.new(Regexp.escape("#{spree.admin_products_path}#?#{filter_query}")) + expect(page).to have_link(I18n.t('admin.products.back_to_products_list'), href: expected_admin_product_url) + expect(page).to have_link(I18n.t(:cancel), href: expected_admin_product_url) - # Sidebar link should include the filters - expect(page).to have_link(I18n.t('admin.products.tabs.product_details'), href: %r{admin\/products\/#{product.permalink}\/edit\?#{filter_query}}) - expect(page).to have_link(I18n.t('admin.products.tabs.images'), href: %r{admin\/products\/#{product.permalink}\/images\?#{filter_query}}) - expect(page).to have_link(I18n.t('admin.products.tabs.variants'), href: %r{admin\/products\/#{product.permalink}\/variants\?#{filter_query}}) - expect(page).to have_link(I18n.t('admin.products.tabs.product_properties'), href: %r{admin\/products\/#{product.permalink}\/product_properties\?#{filter_query}}) - expect(page).to have_link(I18n.t('admin.products.tabs.group_buy_options'), href: %r{admin\/products\/#{product.permalink}\/group_buy_options\?#{filter_query}}) - expect(page).to have_link(I18n.t(:search), href: %r{admin\/products\/#{product.permalink}\/seo\?#{filter_query}}) + expected_product_url = Regexp.new(Regexp.escape(spree.edit_admin_product_path(product.permalink, producerFilter: 2))) + expect(page).to have_link(I18n.t('admin.products.tabs.product_details'), href: expected_product_url) + + expected_product_image_url = Regexp.new(Regexp.escape(spree.admin_product_images_path(product.permalink, producerFilter: 2))) + expect(page).to have_link(I18n.t('admin.products.tabs.images'), href: expected_product_image_url) + + expected_product_variant_url = Regexp.new(Regexp.escape(spree.admin_product_variants_path(product.permalink, producerFilter: 2))) + expect(page).to have_link(I18n.t('admin.products.tabs.variants'), href: expected_product_variant_url) + + expected_product_properties_url = Regexp.new(Regexp.escape(spree.admin_product_product_properties_path(product.permalink, producerFilter: 2))) + expect(page).to have_link(I18n.t('admin.products.tabs.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.permalink, producerFilter: 2))) + expect(page).to have_link(I18n.t('admin.products.tabs.group_buy_options'), href: expected_product_group_buy_option_url) + + expected_product_seo_url = Regexp.new(Regexp.escape(spree.seo_admin_product_path(product.permalink, producerFilter: 2))) + expect(page).to have_link(I18n.t(:search), href: expected_product_seo_url) end scenario "editing product group buy options" do