mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-04 02:31:33 +00:00
Merge pull request #3218 from coopdevs/handle-soft-deleted-products-in-serializer-spec
Handle soft deleted products in serializer spec
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
Spree::Classification.class_eval do
|
||||
belongs_to :product, :class_name => "Spree::Product", touch: true
|
||||
after_save :refresh_products_cache
|
||||
belongs_to :product, class_name: "Spree::Product", touch: true
|
||||
|
||||
before_destroy :dont_destroy_if_primary_taxon
|
||||
after_destroy :refresh_products_cache
|
||||
|
||||
after_save :refresh_products_cache
|
||||
|
||||
private
|
||||
|
||||
def refresh_products_cache
|
||||
product = Spree::Product.with_deleted.find(product_id) unless product.present?
|
||||
product.refresh_products_cache
|
||||
end
|
||||
|
||||
|
||||
@@ -1,16 +1,27 @@
|
||||
describe Api::Admin::ForOrderCycle::EnterpriseSerializer do
|
||||
let(:coordinator) { create(:distributor_enterprise) }
|
||||
let(:order_cycle) { double(:order_cycle, coordinator: coordinator) }
|
||||
let(:enterprise) { create(:distributor_enterprise) }
|
||||
let!(:non_inventory_product) { create(:simple_product, supplier: enterprise) }
|
||||
let!(:non_inventory_variant) { non_inventory_product.variants.first }
|
||||
let!(:inventory_product) { create(:simple_product, supplier: enterprise) }
|
||||
let!(:inventory_variant) { inventory_product.variants.first }
|
||||
let!(:deleted_product) { create(:simple_product, supplier: enterprise, deleted_at: 24.hours.ago ) }
|
||||
let!(:deleted_variant) { deleted_product.variants.first }
|
||||
let(:serialized_enterprise) { Api::Admin::ForOrderCycle::EnterpriseSerializer.new(enterprise, order_cycle: order_cycle, spree_current_user: enterprise.owner ).to_json }
|
||||
let!(:inventory_item1) { create(:inventory_item, enterprise: coordinator, variant: inventory_variant, visible: true)}
|
||||
let!(:inventory_item2) { create(:inventory_item, enterprise: coordinator, variant: deleted_variant, visible: true)}
|
||||
let(:coordinator) { create(:distributor_enterprise) }
|
||||
let(:order_cycle) { double(:order_cycle, coordinator: coordinator) }
|
||||
let(:enterprise) { create(:distributor_enterprise) }
|
||||
|
||||
let(:non_inventory_product) { create(:simple_product, supplier: enterprise) }
|
||||
let!(:non_inventory_variant) { non_inventory_product.variants.first }
|
||||
|
||||
let(:inventory_product) { create(:simple_product, supplier: enterprise) }
|
||||
let(:inventory_variant) { inventory_product.variants.first }
|
||||
|
||||
let(:deleted_product) { create(:product, supplier: enterprise, deleted_at: 24.hours.ago ) }
|
||||
let(:deleted_variant) { deleted_product.variants.first }
|
||||
|
||||
let(:serialized_enterprise) do
|
||||
Api::Admin::ForOrderCycle::EnterpriseSerializer.new(
|
||||
enterprise,
|
||||
order_cycle: order_cycle,
|
||||
spree_current_user: enterprise.owner
|
||||
).to_json
|
||||
end
|
||||
|
||||
let!(:inventory_item1) { create(:inventory_item, enterprise: coordinator, variant: inventory_variant, visible: true) }
|
||||
let!(:inventory_item2) { create(:inventory_item, enterprise: coordinator, variant: deleted_variant, visible: true) }
|
||||
|
||||
context "when order cycle shows only variants in the coordinator's inventory" do
|
||||
before do
|
||||
|
||||
Reference in New Issue
Block a user