Some depreacted calls to #find_by_* had previously been updated elsewhere, but the spec was still checking if the object received the #find_by_shipping_method_id message.
Fixes:
85) OrderShipment#select_shipping_method when order has a shipment when shipping_method_id is not valid for the order returns nil
Failure/Error: expect(shipment.shipping_rates).to receive(:find_by_shipping_method_id).with(invalid_shipping_method_id) { nil }
(#<ActiveRecord::Associations::CollectionProxy []>).find_by_shipping_method_id(1312)
expected: 1 time with arguments: (1312)
received: 0 times
# ./spec/models/concerns/order_shipment_spec.rb:53:in `block (5 levels) in <top (required)>'
This method is being called by another class as if it were public.
Fixes 2 instances of this error:
90) OpenFoodNetwork::OrdersAndFulfillmentsReport::SupplierTotalsReport generates the report
Failure/Error: delegate :supplier_name, :product_name, :line_items_name, :total_units, to: :context
NoMethodError:
private method `total_units' called for #<OpenFoodNetwork::OrdersAndFulfillmentsReport:0x00007f8db5d67168>
# ./lib/open_food_network/orders_and_fulfillments_report/supplier_totals_report.rb:8:in `total_units'
# ./lib/open_food_network/orders_and_fulfillments_report/supplier_totals_report.rb:48:in `block in columns'
# ./lib/open_food_network/order_grouper.rb:41:in `block in build_table'
# ./lib/open_food_network/order_grouper.rb:41:in `map'
# ./lib/open_food_network/order_grouper.rb:41:in `build_table'
# ./lib/open_food_network/order_grouper.rb:47:in `block in build_table'
# ./lib/open_food_network/order_grouper.rb:43:in `each'
# ./lib/open_food_network/order_grouper.rb:43:in `build_table'
# ./lib/open_food_network/order_grouper.rb:47:in `block in build_table'
# ./lib/open_food_network/order_grouper.rb:43:in `each'
# ./lib/open_food_network/order_grouper.rb:43:in `build_table'
# ./lib/open_food_network/order_grouper.rb:47:in `block in build_table'
# ./lib/open_food_network/order_grouper.rb:43:in `each'
# ./lib/open_food_network/order_grouper.rb:43:in `build_table'
# ./lib/open_food_network/order_grouper.rb:56:in `table'
# ./spec/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_report_spec.rb:19:in `block (2 levels) in <top (required)>'
# ./spec/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_report_spec.rb:23:in `block (2 levels) in <top (required)>'
DEPRECATION WARNING: TestCase#process now expects the HTTP method as second argument: process(action, http_method, params, session, flash). (called from api_process at /home/user/Github/openfoodnetwork/spec/support/controller_hacks.rb:22)
DEPRECATION WARNING: It looks like you are eager loading table(s) (one of: variant_overrides, enterprises, enterprise_roles) that are referenced in a string SQL snippet. For example:
Post.includes(:comments).where("comments.title = 'foo'")
Currently, Active Record recognizes the table in the string, and knows to JOIN the comments table to the query, rather than loading comments in a separate query. However, doing this without writing a full-blown SQL parser is inherently flawed. Since we don't want to write an SQL parser, we are removing this functionality. From now on, you must explicitly tell Active Record when you are referencing a table from a string:
Post.includes(:comments).where("comments.title = 'foo'").references(:comments)
If you don't rely on implicit join references you can disable the feature entirely by setting `config.active_record.disable_implicit_join_references = true`. (called from collection at /home/user/Github/openfoodnetwork/app/controllers/admin/variant_overrides_controller.rb:77)
A new custom email validator class was added to Spree::Order, and currently it fails every time (breaking lots of specs). This ugly hack disables it for now.