diff --git a/app/mailer_previews/concerns/shared_data_preview.rb b/app/mailer_previews/concerns/shared_data_preview.rb index 5bb927aa..22174daa 100644 --- a/app/mailer_previews/concerns/shared_data_preview.rb +++ b/app/mailer_previews/concerns/shared_data_preview.rb @@ -58,7 +58,7 @@ def ended_on end def deliveries - Delivery.between(started_on..ended_on) + @deliveries ||= delivery_cycle.deliveries(fiscal_year) end def basket @@ -76,11 +76,7 @@ def depot end def delivery_cycle - wday = deliveries.first.date.wday - OpenStruct.new( - id: 1, - public_name: I18n.t("date.day_names")[wday].titleize.pluralize, - absences_included_annually: 0) + @delivery_cycle ||= DeliveryCycle.greatest end def memberships_basket_complements diff --git a/test/controllers/api/v1/configurations_controller_test.rb b/test/controllers/api/v1/configurations_controller_test.rb index 37f3a5f6..7099319b 100644 --- a/test/controllers/api/v1/configurations_controller_test.rb +++ b/test/controllers/api/v1/configurations_controller_test.rb @@ -28,14 +28,14 @@ def request(api_token: nil) assert_includes response.content_type, "application/json" assert_equal({ "basket_sizes" => [ - { "id" => basket_sizes(:small).id, "visible" => true, "names" => { "en" => "Small basket" } }, - { "id" => basket_sizes(:medium).id, "visible" => true, "names" => { "en" => "Medium basket" } }, + { "id" => small_id, "visible" => true, "names" => { "en" => "Small basket" } }, + { "id" => medium_id, "visible" => true, "names" => { "en" => "Medium basket" } }, { "id" => basket_sizes(:large).id, "visible" => true, "names" => { "en" => "Large basket" } } ], "depots" => [ { "id" => depots(:bakery).id, "visible" => true, "names" => { "en" => "Bakery" } }, { "id" => depots(:farm).id, "visible" => true, "names" => { "en" => "Our farm" } }, - { "id" => depots(:home).id, "visible" => true, "names" => { "en" => "Home" } } + { "id" => home_id, "visible" => true, "names" => { "en" => "Home" } } ], "basket_content_products" => [ { "id" => basket_content_products(:carrots).id, "names" => { "en" => "Carrots" } }, diff --git a/test/controllers/api/v1/members_controller_test.rb b/test/controllers/api/v1/members_controller_test.rb index 087cd6fa..92c6cebe 100644 --- a/test/controllers/api/v1/members_controller_test.rb +++ b/test/controllers/api/v1/members_controller_test.rb @@ -30,11 +30,11 @@ def request(params: {}, api_token: nil) country_code: "CH", emails: "john@woo.com", phones: "+41 12 345 67 89", - waiting_basket_size_id: basket_sizes(:small).id, + waiting_basket_size_id: small_id, waiting_depot_id: depots(:bakery).id, members_basket_complements_attributes: [ - { basket_complement_id: basket_complements(:bread).id, quantity: 1 }, - { basket_complement_id: basket_complements(:eggs).id, quantity: 2 } + { basket_complement_id: bread_id, quantity: 1 }, + { basket_complement_id: eggs_id, quantity: 2 } ] } diff --git a/test/models/basket_test.rb b/test/models/basket_test.rb index 1fb20dd9..1f74fcac 100644 --- a/test/models/basket_test.rb +++ b/test/models/basket_test.rb @@ -195,7 +195,7 @@ def build_basket(attrs) test "calculate_price_extra with dynamic pricing based on basket_size" do org(features: [ :basket_price_extra ]) org(basket_price_extra_dynamic_pricing: <<-LIQUID) - {% if basket_size_id == #{basket_sizes(:small).id} %} + {% if basket_size_id == #{small_id} %} {{ 15 | minus: 10 | divided_by: 3.0 }} {% else %} 2.5 diff --git a/test/models/liquid/data_preview_test.rb b/test/models/liquid/data_preview_test.rb index ecd4e75e..f386cb14 100644 --- a/test/models/liquid/data_preview_test.rb +++ b/test/models/liquid/data_preview_test.rb @@ -17,14 +17,14 @@ class Liquid::DataPreviewTest < ActiveSupport::TestCase "date" => "1 April 2024" }, "depot" => { - "id" => depots(:home).id, + "id" => home_id, "member_note" => nil, "name" => "Home" }, "description" => "Small basket", "quantity" => 1, "size" => { - "id" => basket_sizes(:small).id, + "id" => small_id, "name" => "Small basket" } }, @@ -48,13 +48,13 @@ class Liquid::DataPreviewTest < ActiveSupport::TestCase "basket_complements" => [ { "description" => "Eggs", - "id" => basket_complements(:eggs).id, + "id" => eggs_id, "name" => "Eggs", "quantity" => 1 }, { "description" => "Bread", - "id" => basket_complements(:bread).id, + "id" => bread_id, "name" => "Bread", "quantity" => 1 } @@ -62,19 +62,19 @@ class Liquid::DataPreviewTest < ActiveSupport::TestCase "basket_complements_description" => "Bread and Eggs", "basket_quantity" => 1, "basket_size" => { - "id" => basket_sizes(:medium).id, + "id" => medium_id, "name" => "Medium basket" }, + "delivery_cycle" => { + "id" => all_id, + "name" => "All", + "absences_included_annually" => 0 + }, "depot" => { - "id" => depots(:home).id, + "id" => home_id, "member_note" => nil, "name" => "Home" }, - "delivery_cycle" => { - "id" => 1, - "name" => "Mondays", - "absences_included_annually" => 0 - }, "end_date" => "31 December 2024", "first_delivery" => { "date" => "1 April 2024" @@ -121,16 +121,16 @@ class Liquid::DataPreviewTest < ActiveSupport::TestCase "url" => "https://www.acme.test" }, "waiting_basket_size" => { - "id" => basket_sizes(:medium).id, + "id" => medium_id, "name" => "Medium basket" }, - "waiting_basket_size_id" => basket_sizes(:medium).id, + "waiting_basket_size_id" => medium_id, "waiting_delivery_cycle" => { "absences_included_annually" => 0, - "id" => 1, - "name" => "Mondays" + "id" => all_id, + "name" => "All" }, - "waiting_delivery_cycle_id" => 1, + "waiting_delivery_cycle_id" => all_id, "waiting_depot" => { "id" => depots(:farm).id, "member_note" => nil, @@ -155,14 +155,14 @@ class Liquid::DataPreviewTest < ActiveSupport::TestCase "date" => "1 April 2024" }, "depot" => { - "id" => depots(:home).id, + "id" => home_id, "member_note" => nil, "name" => "Home" }, "description" => "Small basket", "quantity" => 1, "size" => { - "id" => basket_sizes(:small).id, + "id" => small_id, "name" => "Small basket" } }, @@ -181,13 +181,13 @@ class Liquid::DataPreviewTest < ActiveSupport::TestCase "basket_complements" => [ { "description" => "Eggs", - "id" => basket_complements(:eggs).id, + "id" => eggs_id, "name" => "Eggs", "quantity" => 1 }, { "description" => "Bread", - "id" => basket_complements(:bread).id, + "id" => bread_id, "name" => "Bread", "quantity" => 1 } @@ -195,19 +195,19 @@ class Liquid::DataPreviewTest < ActiveSupport::TestCase "basket_complements_description" => "Bread and Eggs", "basket_quantity" => 1, "basket_size" => { - "id" => basket_sizes(:medium).id, + "id" => medium_id, "name" => "Medium basket" }, + "delivery_cycle" => { + "id" => all_id, + "name" => "All", + "absences_included_annually" => 0 + }, "depot" => { - "id" => depots(:home).id, + "id" => home_id, "member_note" => nil, "name" => "Home" }, - "delivery_cycle" => { - "id" => 1, - "name" => "Mondays", - "absences_included_annually" => 0 - }, "end_date" => "31 December 2024", "first_delivery" => { "date" => "1 April 2024"