Files
openfoodnetwork/spec/serializers/api/variant_serializer_spec.rb
Maikel Linke dcb6f4676d Remove all unnecessary spec_helper require statements
The `.rspec` file is doing this for us.
2026-01-21 12:35:34 +11:00

45 lines
1.1 KiB
Ruby

# frozen_string_literal: true
RSpec.describe Api::VariantSerializer do
subject { Api::VariantSerializer.new variant }
let(:variant) { create(:variant) }
it "includes the expected attributes" do
expect(subject.attributes.keys).
to include(
:id,
:name_to_display,
:on_hand,
:name_to_display,
:unit_to_display,
:unit_value,
:options_text,
:on_demand,
:price,
:fees,
:fees_name,
:price_with_fees,
:product_name,
:tag_list # Used to apply tag rules
)
end
describe "#unit_price_price" do
context "without fees" do
it "displays the price divided by the unit price denominator" do
allow(subject).to receive_message_chain(:unit_price, :denominator) { 1000 }
expect(subject.unit_price_price).to eq(variant.price / 1000)
end
end
context "when the denominator returns nil" do
it "returns the price" do
allow(subject).to receive_message_chain(:unit_price, :denominator) { nil }
expect(subject.unit_price_price).to eq(variant.price)
end
end
end
end