Files
openfoodnetwork/spec/models/spree/shipment_spec.rb
2019-08-02 21:45:38 +08:00

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