mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-26 20:56:48 +00:00
34 lines
1.2 KiB
Ruby
34 lines
1.2 KiB
Ruby
require "spec_helper"
|
|
|
|
describe Spree::Shipment do
|
|
describe "manifest" do
|
|
let!(:product) { create(:product) }
|
|
let!(:order) { create(:order, distributor: product.supplier) }
|
|
let!(:deleted_variant) { create(:variant, product: product) }
|
|
let!(:other_variant) { create(:variant, product: product) }
|
|
let!(:line_item_for_deleted) { create(:line_item, order: order, variant: deleted_variant) }
|
|
let!(:line_item_for_other) { create(:line_item, order: order, variant: other_variant) }
|
|
let!(:shipment) { create(:shipment_with, :shipping_method, order: order) }
|
|
|
|
context "when the variant is soft-deleted" do
|
|
before { deleted_variant.delete }
|
|
|
|
it "can still access the variant" do
|
|
shipment.reload
|
|
variants = shipment.manifest.map(&:variant).uniq
|
|
expect(variants.sort_by(&:id)).to eq([deleted_variant, other_variant].sort_by(&:id))
|
|
end
|
|
end
|
|
|
|
context "when the product is soft-deleted" do
|
|
before { deleted_variant.product.delete }
|
|
|
|
it "can still access the variant" do
|
|
shipment.reload
|
|
variants = shipment.manifest.map(&:variant)
|
|
expect(variants.sort_by(&:id)).to eq([deleted_variant, other_variant].sort_by(&:id))
|
|
end
|
|
end
|
|
end
|
|
end
|