Merge pull request #4296 from luisramos0/subs_line_items

Make subscription line items handle soft deleted variants
This commit is contained in:
Luis Ramos
2019-09-30 13:07:10 +01:00
committed by GitHub
2 changed files with 30 additions and 0 deletions

View File

@@ -10,6 +10,11 @@ class SubscriptionLineItem < ActiveRecord::Base
(price_estimate || 0) * (quantity || 0)
end
# Ensure SubscriptionLineItem always has access to soft-deleted Variant attribute
def variant
Spree::Variant.unscoped { super }
end
# Used to calculators to estimate fees
alias_method :amount, :total_estimate

View File

@@ -0,0 +1,25 @@
require 'spec_helper'
module Api
module Admin
describe SubscriptionLineItemSerializer do
let(:subscription_line_item) { create(:subscription_line_item) }
it "serializes a subscription line item with the product name" do
serializer = described_class.new(subscription_line_item)
expect(serializer.to_json).to match subscription_line_item.variant.product.name
end
context "when the variant of the subscription line item is soft deleted" do
it "serializers the subscription line item with the product name" do
subscription_line_item.variant.update_attribute :deleted_at, Time.zone.now
serializer = described_class.new(subscription_line_item.reload)
expect(serializer.to_json).to match subscription_line_item.variant.product.name
end
end
end
end
end