Files
openfoodnetwork/engines/dfc_provider/spec/services/offer_builder_spec.rb
2025-01-16 09:45:26 +11:00

40 lines
904 B
Ruby

# frozen_string_literal: true
require_relative "../spec_helper"
RSpec.describe OfferBuilder do
let(:variant) { build(:variant, id: 5) }
describe ".offer" do
it "assigns a stock level" do
# Assigning stock only works with persisted records:
variant.save!
variant.on_hand = 5
offer = OfferBuilder.build(variant)
expect(offer.stockLimitation).to eq 5
end
it "has no stock limitation when on demand" do
# Assigning stock only works with persisted records:
variant.save!
variant.on_hand = 5
variant.on_demand = true
offer = OfferBuilder.build(variant)
expect(offer.stockLimitation).to eq nil
end
it "assigns a price with currency" do
variant.id = 5
offer = OfferBuilder.build(variant)
expect(offer.price.value).to eq 19.99
expect(offer.price.unit).to eq "dfc-m:AUD"
end
end
end