From 779930311a92f154a74c67e1c0e20e9f62e9e756 Mon Sep 17 00:00:00 2001 From: Alberto Vena Date: Wed, 19 Sep 2018 16:09:24 +0200 Subject: [PATCH 1/5] Add a .ruby-version file --- .ruby-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ruby-version b/.ruby-version index b1b25a5..437459c 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.2.2 +2.5.0 From 1c37b8f258c4c12f1af18878603015271009248a Mon Sep 17 00:00:00 2001 From: Alberto Vena Date: Wed, 19 Sep 2018 16:10:04 +0200 Subject: [PATCH 2/5] Setup coverage via SimpleCov --- .gitignore | 1 + Gemfile | 2 ++ spec/spec_helper.rb | 3 +++ 3 files changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index b2c9314..62b6599 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ nbproject *.swp spec/dummy Gemfile.lock +coverage diff --git a/Gemfile b/Gemfile index 80c1889..a25604e 100644 --- a/Gemfile +++ b/Gemfile @@ -14,6 +14,8 @@ group :development, :test do gem 'i18n-tasks', '~> 0.9' if branch == 'master' end +gem 'simplecov', require: false, group: :test + gem 'mysql2' gem 'sqlite3' gem 'pg' diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 3adcdd9..5153abe 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,6 +1,9 @@ # Configure Rails Environment ENV['RAILS_ENV'] = 'test' +require 'simplecov' +SimpleCov.start 'rails' + begin require File.expand_path('../dummy/config/environment', __FILE__) rescue LoadError From 4f86805ede6e11af87cb41eead718484d9de7cb2 Mon Sep 17 00:00:00 2001 From: Alberto Vena Date: Thu, 20 Sep 2018 03:37:23 +0200 Subject: [PATCH 3/5] Remove route/action/views for shipwire on orders controller it makes no sense anymore since shipwire is on shipment now. Also it was not tested and not working anymore --- .../admin/orders_controller_decorator.rb | 32 --------------- .../admin/orders/_shipwire_data.html.erb | 31 --------------- .../admin/orders/_shipwire_error.html.erb | 18 --------- .../spree/admin/orders/shipwire.html.erb | 39 ------------------- app/views/spree/admin/orders/shipwire.js.erb | 7 ---- config/routes.rb | 18 ++------- 6 files changed, 3 insertions(+), 142 deletions(-) delete mode 100644 app/controllers/spree/admin/orders_controller_decorator.rb delete mode 100644 app/views/spree/admin/orders/_shipwire_data.html.erb delete mode 100644 app/views/spree/admin/orders/_shipwire_error.html.erb delete mode 100644 app/views/spree/admin/orders/shipwire.html.erb delete mode 100644 app/views/spree/admin/orders/shipwire.js.erb diff --git a/app/controllers/spree/admin/orders_controller_decorator.rb b/app/controllers/spree/admin/orders_controller_decorator.rb deleted file mode 100644 index c772b9b..0000000 --- a/app/controllers/spree/admin/orders_controller_decorator.rb +++ /dev/null @@ -1,32 +0,0 @@ -module SolidusShipwire - module ShipwireController - def self.prepended(base) - base.before_action :load_shipwire_order, only: [:shipwire] - end - - def shipwire - order_to_shipwire - - respond_to do |format| - format.html - format.js - end - end - - private - - def order_to_shipwire - @shipwire_data = @order.in_shipwire - rescue ResponseException => e - @error = e.response - rescue RuntimeError => e - @error = e.message - end - - def load_shipwire_order - load_order - end - end -end - -Spree::Admin::OrdersController.prepend SolidusShipwire::ShipwireController diff --git a/app/views/spree/admin/orders/_shipwire_data.html.erb b/app/views/spree/admin/orders/_shipwire_data.html.erb deleted file mode 100644 index 9b27a54..0000000 --- a/app/views/spree/admin/orders/_shipwire_data.html.erb +++ /dev/null @@ -1,31 +0,0 @@ -
- <%= title %> - - - - - - - - - - - - - - - - - - - - - -
<%= Spree::Adjustment.human_attribute_name(:name)%><%= Spree::Adjustment.human_attribute_name(:value)%>
<%= t 'shipwire.status' %>: - <%= @shipwire_data.status %> -
<%= t 'shipwire.ship_to' %>: - <%= @shipwire_data.ship_to %> -
<%= t 'shipwire.ship_from' %>: - <%= @shipwire_data.ship_from %> -
-
diff --git a/app/views/spree/admin/orders/_shipwire_error.html.erb b/app/views/spree/admin/orders/_shipwire_error.html.erb deleted file mode 100644 index 19a2de9..0000000 --- a/app/views/spree/admin/orders/_shipwire_error.html.erb +++ /dev/null @@ -1,18 +0,0 @@ -<% if @error.kind_of? String %> -

<%= @error %>

-<% elsif @error.kind_of?(Shipwire::Response) && @error.has_validation_errors? %> -

Validation error

-
    - <% if @error.validation_errors.kind_of? Array %> - <% @error.validation_errors.each do |value| %> -
  • <%= value['message'] %>
  • - <% end %> - <% else %> - <% @error.validation_errors.each do |key, value| %> - <% value['message'].each do |_k, message| %> -
  • <%= key %> - <%= message.values.join(',') %>
  • - <% end %> - <% end %> - <% end %> -
-<% end %> diff --git a/app/views/spree/admin/orders/shipwire.html.erb b/app/views/spree/admin/orders/shipwire.html.erb deleted file mode 100644 index 510c2b0..0000000 --- a/app/views/spree/admin/orders/shipwire.html.erb +++ /dev/null @@ -1,39 +0,0 @@ -<% content_for :page_actions do %> - <% if can?(:fire, @order) %> -
  • <%= event_links %>
  • - <% end %> - <% if can?(:resend, @order) && @order.completed? %> -
  • <%= button_link_to Spree.t(:resend), resend_admin_order_url(@order), :method => :post, :icon => 'email' %>
  • - <% end %> - <% if can?(:admin, Spree::Order) %> -
  • <%= button_link_to Spree.t(:back_to_orders_list), admin_orders_path, :icon => 'arrow-left' %>
  • - <% end %> -<% end %> - -<%= render :partial => 'spree/admin/shared/order_tabs', :locals => { :current => 'Shipwire' } %> - -
    - <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @order } %> -
    - -
    -
    -
    - <%= render partial: 'spree/admin/orders/shipwire_error', error: @error %> -
    - <% if @order.shipwire_id.nil? %> - <%= link_to Spree.t(:sync_with_shipwire), shipwire_admin_order_url(@order), id: :retry_shipwire, remote: true %> - <% end %> -
    - <% unless @order.shipwire_id.nil? %> - <%= render partial: 'spree/admin/orders/shipwire_data', shipwire_data: @shipwire_data %> - <% end %> -
    -
    -
    - -<%= javascript_tag do -%> -$('#retry_shipwire').bind('ajax:beforeSend', function() { - $('#errors').hide() -}); -<% end %> diff --git a/app/views/spree/admin/orders/shipwire.js.erb b/app/views/spree/admin/orders/shipwire.js.erb deleted file mode 100644 index bca33a4..0000000 --- a/app/views/spree/admin/orders/shipwire.js.erb +++ /dev/null @@ -1,7 +0,0 @@ -<% if @error.nil? %> - $('#errors').hide() - $('#shipwire_data').html("<%= escape_javascript(render partial: 'spree/admin/orders/shipwire_data', shipwire_data: @shipwire_data) %>") -<% else %> - $('#errors').show() - $('#errors').html("<%= escape_javascript(render partial: 'spree/admin/orders/shipwire_error', error: @error) %>") -<% end %> diff --git a/config/routes.rb b/config/routes.rb index 54b2e1d..900573f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,19 +1,7 @@ Spree::Core::Engine.routes.draw do - # Add your extension routes here - - Spree::Core::Engine.routes.draw do - namespace :admin do - resources :orders, except: [:show] do - member do - get :shipwire - end - end - end - - namespace :api, defaults: { format: 'json' } do - resources :shipments do - resources :rates, only: [:index], module: :shipwire - end + namespace :api, defaults: { format: 'json' } do + resources :shipments do + resources :rates, only: [:index], module: :shipwire end end From ede5b6db52a10608994460c538803fa12f60a2bf Mon Sep 17 00:00:00 2001 From: Alberto Vena Date: Thu, 20 Sep 2018 03:42:15 +0200 Subject: [PATCH 4/5] Remove extension to retrun authorizations controller It does not seem to really do something and it's not tested --- ...eturn_authorizations_controller_decorator.rb | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 app/controllers/spree/admin/return_authorizations_controller_decorator.rb diff --git a/app/controllers/spree/admin/return_authorizations_controller_decorator.rb b/app/controllers/spree/admin/return_authorizations_controller_decorator.rb deleted file mode 100644 index ad260e6..0000000 --- a/app/controllers/spree/admin/return_authorizations_controller_decorator.rb +++ /dev/null @@ -1,17 +0,0 @@ -module SolidusShipwire - module ShipwireReturnAuthorizationsController - def self.prepended(base) - base.after_action :flash_message, only: [:create] - end - - private - - def flash_message - message = @return_authorization.errors.messages[:shipwire] - return unless message - flash[:error] = message - end - end -end - -Spree::Admin::ReturnAuthorizationsController.prepend SolidusShipwire::ShipwireReturnAuthorizationsController From 89497e0dfccc066c14de43c0584dfeb63d4597f2 Mon Sep 17 00:00:00 2001 From: Alberto Vena Date: Thu, 20 Sep 2018 03:48:15 +0200 Subject: [PATCH 5/5] Remove unused Spree::Variant#update_stocks_from_shipwire It's not used anymore and it's actually doing nothing but a call to the api that would list the stock for that SKU: https://github.com/nebulab/shipwire/blob/a548d9733ba67906f3a4e1e6f18119da843c94e1/lib/shipwire/stock.rb#L3-L5 --- app/models/variant_decorator.rb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/models/variant_decorator.rb b/app/models/variant_decorator.rb index 57c7b50..90aa5d7 100644 --- a/app/models/variant_decorator.rb +++ b/app/models/variant_decorator.rb @@ -5,10 +5,6 @@ def self.prepended(base) serializer: SolidusShipwire::VariantSerializer end - def update_stocks_from_shipwire - Shipwire::Stock.new.list( sku: self.sku) - end - Spree::Variant.prepend self end end