diff --git a/spec/system/admin/configuration/shipping_categories_spec.rb b/spec/system/admin/configuration/shipping_categories_spec.rb index ea2fc73142..3cd42e211b 100644 --- a/spec/system/admin/configuration/shipping_categories_spec.rb +++ b/spec/system/admin/configuration/shipping_categories_spec.rb @@ -36,4 +36,46 @@ RSpec.describe "Shipping Categories" do end end end + + context 'user edits an existing shipping category' do + it 'updates the shipping category properties' do + category = create(:shipping_category, name: "Regular", temperature_controlled: false) + + login_as_admin + visit spree.edit_admin_shipping_category_path(category) + + fill_in "shipping_category_name", with: "Express" + check "shipping_category_temperature_controlled" + click_button "Update" + + expect(page).to have_content("successfully updated!") + expect(page).to have_content("Express") + row = find('tr', text: 'Express') + within row do + expect(page).to have_content "Yes" + end + category.reload + + expect(page).not_to have_content("Regular") + expect(category.name).to eq("Express") + end + end + + context 'user deletes a shipping category' do + it 'removes the shipping category from the list' do + create(:shipping_category, name: "To Be Deleted") + + login_as_admin + visit spree.admin_shipping_categories_path + + accept_confirm do + within find('tr', text: 'To Be Deleted') do + find('.icon-trash').click + end + end + + expect(page).not_to have_content("To Be Deleted") + expect(Spree::ShippingCategory.count).to eq(0) + end + end end