Sha256: 57d410f85d3154d63923699238e87f0f2b3d16268a76ac485ce16e88072912dd
Contents?: true
Size: 1.36 KB
Versions: 6
Compression:
Stored size: 1.36 KB
Contents
require 'rails_helper' RSpec.describe Spree::ReturnItem::EligibilityValidator::TimeSincePurchase, type: :model do let(:inventory_unit) { create(:inventory_unit, shipment: create(:shipped_order).shipments.first) } let(:return_item) { create(:return_item, inventory_unit: inventory_unit) } let(:validator) { Spree::ReturnItem::EligibilityValidator::TimeSincePurchase.new(return_item) } describe "#eligible_for_return?" do subject { validator.eligible_for_return? } context "it is within the return timeframe" do it "returns true" do completed_at = return_item.inventory_unit.order.completed_at - (Spree::Config[:return_eligibility_number_of_days].days / 2) return_item.inventory_unit.order.update_attributes(completed_at: completed_at) expect(subject).to be true end end context "it is past the return timeframe" do before do completed_at = return_item.inventory_unit.order.completed_at - Spree::Config[:return_eligibility_number_of_days].days - 1.day return_item.inventory_unit.order.update_attributes(completed_at: completed_at) end it "returns false" do expect(subject).to be false end it "sets an error" do subject expect(validator.errors[:number_of_days]).to eq I18n.t('spree.return_item_time_period_ineligible') end end end end
Version data entries
6 entries across 6 versions & 1 rubygems