Fixes:
11) Order Management viewing a completed order when checking out as an anonymous guest allows the user to see the details
Failure/Error:
order.update_attributes!(
bill_address: bill_address,
ship_address: ship_address,
shipping_method_id: shipping_method.id
)
ActiveRecord::UnknownAttributeError:
unknown attribute: shipping_method_id
# ./spec/features/consumer/shopping/orders_spec.rb:30:in `block (3 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# NoMethodError:
# undefined method `shipping_method_id=' for #<Spree::Order:0x00007f5e82a94d80>
# ./spec/features/consumer/shopping/orders_spec.rb:30:in `block (3 levels) in <top (required)>'
12) Order Management viewing a completed order when logged in as the customer allows the user to see order details
Failure/Error:
order.update_attributes!(
bill_address: bill_address,
ship_address: ship_address,
shipping_method_id: shipping_method.id
)
ActiveRecord::UnknownAttributeError:
unknown attribute: shipping_method_id
# ./spec/features/consumer/shopping/orders_spec.rb:30:in `block (3 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# NoMethodError:
# undefined method `shipping_method_id=' for #<Spree::Order:0x00007f5e83382708>
# ./spec/features/consumer/shopping/orders_spec.rb:30:in `block (3 levels) in <top (required)>'
13) Order Management viewing a completed order when not logged in allows the user to see order details after login
Failure/Error:
order.update_attributes!(
bill_address: bill_address,
ship_address: ship_address,
shipping_method_id: shipping_method.id
)
ActiveRecord::UnknownAttributeError:
unknown attribute: shipping_method_id
# ./spec/features/consumer/shopping/orders_spec.rb:30:in `block (3 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# NoMethodError:
# undefined method `shipping_method_id=' for #<Spree::Order:0x00007f5e8bafe6f0>
# ./spec/features/consumer/shopping/orders_spec.rb:30:in `block (3 levels) in <top (required)>'
This uses the `2-1-0-stable` branch of the paypal gem. It's the 2-1-stable branch plus a couple of old OFN modifications (from 2-0-stable), plus a minor modification to the gemspec to allow it to be used with spree_core `2.1.0`
Fixes several errors such as:
104) UserRegistrationsController via ajax sets user.locale from cookie on create
Failure/Error: I18n.locale = spree_current_user.andand.locale || cookies[:locale] || I18n.default_locale
I18n::InvalidLocale:
"pt" is not a valid locale
# ./app/helpers/i18n_helper.rb:14:in `set_locale'
# ./spec/controllers/user_registrations_controller_spec.rb:56:in `block (3 levels) in <top (required)>'
Rails 4 adds an extra layer of "default" headers that override any that are missing (or deleted). This was breaking embedded shopfront responses.
Fixes:
74) setting response headers for embedded shopfronts with embedded shopfronts enabled with a valid whitelist allows iframes on certain pages when enabled in configuration
Failure/Error: expect(response.headers['X-Frame-Options']).to be_nil
expected: nil
got: "SAMEORIGIN"
# ./spec/requests/embedded_shopfronts_headers_spec.rb:54:in `block (4 levels) in <top (required)>'
75) setting response headers for embedded shopfronts with embedded shopfronts enabled with www prefix matches the URL structure in the header
Failure/Error: expect(response.headers['X-Frame-Options']).to be_nil
expected: nil
got: "SAMEORIGIN"
# ./spec/requests/embedded_shopfronts_headers_spec.rb:75:in `block (4 levels) in <top (required)>'
The headers in the request were not being populated correctly in the test, so the #api_key method was not functioning as intended.
Fixes:
48) Api::BaseController cannot make a request to the API with an invalid API key
Failure/Error: expect(json_response).to eq( "error" => "Invalid API key (fake_key) specified." )
expected: {"error"=>"Invalid API key (fake_key) specified."}
got: {"products"=>[]}
(compared using ==)
Diff:
@@ -1,2 +1,2 @@
-"error" => "Invalid API key (fake_key) specified.",
+"products" => [],
# ./spec/controllers/api/base_controller_spec.rb:40:in `block (3 levels) in <top (required)>'
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)>'