Remove ability to create new product from products page, use /admin/products/new instead.

It's simpler if there is just one place to add a new product. Closes #6650

This removes the 'creating directly from the new product path' test scenario because we have another 'assigning important attributes' scenario above which provides enough coverage.
This commit is contained in:
Cillian O'Ruanaidh
2021-01-15 10:24:50 +00:00
committed by Andy Brett
parent e31d566f7f
commit 40f9b063fe
3 changed files with 1 additions and 37 deletions

View File

@@ -5,8 +5,6 @@
%div{ :class => "toolbar", 'data-hook' => "toolbar" }
%ul{ :class => "actions header-action-links inline-menu" }
%li#new_product_link
= button_link_to t(:new_product), new_object_url, { :remote => true, :icon => 'icon-plus', :id => 'admin_new_product' }
= button_link_to t(:new_product), new_object_url, { :icon => 'icon-plus', :id => 'admin_new_product' }
= render partial: 'spree/admin/shared/product_sub_menu'
%div#new_product(data-hook)

View File

@@ -1,12 +0,0 @@
<%# This chunk is just a copy of Spree's backend/app/views/spree/admin/products/new.js.erb %>
$("#new_product").html('<%= escape_javascript(render :template => "spree/admin/products/new", :formats => [:html], :handlers => [:haml]) %>');
handle_date_picker_fields();
<% unless Rails.env.test? %>
$('.select2').select2();
<% end %>
$("#table-filter").hide();
$("#admin_new_product").parent().hide();
<%# We need to replace the page's title as well. We're navigating to a new page
although through ajax %>
$('.js-admin-page-title').html('<%= t('.title') %>');

View File

@@ -68,28 +68,6 @@ feature '
expect(product.master.options_text).to eq("5kg")
end
scenario "creating directly from the new product path", js: true do
login_as_admin_and_visit spree.new_admin_product_path
select 'New supplier', from: 'product_supplier_id'
fill_in 'product_name', with: 'A new product !!!'
select "Weight (kg)", from: 'product_variant_unit_with_scale'
fill_in 'product_unit_value_with_description', with: 5
select taxon.name, from: "product_primary_taxon_id"
fill_in 'product_price', with: '19.99'
fill_in 'product_on_hand', with: 5
select 'Test Tax Category', from: 'product_tax_category_id'
page.find("div[id^='taTextElement']").native.send_keys('A description...')
click_button 'Create'
expect(current_path).to eq spree.admin_products_path
expect(flash_message).to eq('Product "A new product !!!" has been successfully created!')
product = Spree::Product.find_by(name: 'A new product !!!')
expect(product.variant_unit).to eq('weight')
expect(product.variant_unit_scale).to eq(1000)
end
scenario "creating an on-demand product", js: true do
login_as_admin_and_visit spree.admin_products_path