diff --git a/app/assets/javascripts/darkswarm/services/variants.js.coffee b/app/assets/javascripts/darkswarm/services/variants.js.coffee index d313458b75..e95a870aa8 100644 --- a/app/assets/javascripts/darkswarm/services/variants.js.coffee +++ b/app/assets/javascripts/darkswarm/services/variants.js.coffee @@ -7,4 +7,5 @@ Darkswarm.factory 'Variants', -> extend: (variant)-> variant.getPrice = -> variant.price * variant.line_item.quantity + variant.basePricePercentage = variant.base_price / variant.price * 100 variant diff --git a/app/serializers/api/variant_serializer.rb b/app/serializers/api/variant_serializer.rb index c5dbe05634..e9234285bb 100644 --- a/app/serializers/api/variant_serializer.rb +++ b/app/serializers/api/variant_serializer.rb @@ -1,8 +1,19 @@ class Api::VariantSerializer < ActiveModel::Serializer attributes :id, :is_master, :count_on_hand, :name_to_display, :unit_to_display, - :on_demand, :price + :on_demand, :price, :fees def price object.price_with_fees(options[:current_distributor], options[:current_order_cycle]) end + + def base_price + 1.00 + end + + def fees + {admin: 1.23, sales: 4.56, packing: 7.89, transport: 0.12} + end end + + +# price_without_fees / price diff --git a/spec/javascripts/unit/darkswarm/services/variants_spec.js.coffee b/spec/javascripts/unit/darkswarm/services/variants_spec.js.coffee index 278e0a6850..98dd57b5a7 100644 --- a/spec/javascripts/unit/darkswarm/services/variants_spec.js.coffee +++ b/spec/javascripts/unit/darkswarm/services/variants_spec.js.coffee @@ -5,6 +5,8 @@ describe 'Variants service', -> beforeEach -> variant = id: 1 + base_price: 80 + price: 100 module 'Darkswarm' inject ($injector)-> Variants = $injector.get("Variants") @@ -19,3 +21,5 @@ describe 'Variants service', -> it "will return the same object as passed", -> expect(Variants.register(variant)).toBe variant + it "initialises base price percentage", -> + expect(Variants.register(variant).basePricePercentage).toEqual 80