spree_fosdick_integration 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b13986672e0deb67ca5905d5bb4ddd945baf4535
4
- data.tar.gz: c8f580eb733f0bf062a9ed39154c7879eee2d110
3
+ metadata.gz: b7b5a27b8023463cb8ec11d776c7de7ddfc8b154
4
+ data.tar.gz: 66eb460f62c2b697690e944573d3d3b50fdd1df7
5
5
  SHA512:
6
- metadata.gz: 97ee5e4468d6637dca27732d38eec742864ae783e7acb5872745fa8bdef388337a6bac43dbccd32fcc751cfc0f171cc9e715cef8135695f5f8cd9b970dd54f19
7
- data.tar.gz: e0370185fa1dd7097b24be8b92705ebe2b3acca64c132462ef31c5235f742cdf773e70c7e36bc2c060e2de59dd46d32b3dbf1a75863b3927c520db428d2da58b
6
+ metadata.gz: f7ec466d7ef9d6d2521a1723c3e552328196efd2e54742115a116f0281ab91cfa2bc4a7fd3345b43f97a495f7764047a4f1f1cb8519d32f2457ca627ede71acb
7
+ data.tar.gz: b30401daedc7971b1db1dcfd49a48e29dc4a011f56678dcb1ac01c38e8ecaab5a93d194d238b11664877a51e362cb4673480083265ae652c3e9db4febc4a40d0
@@ -0,0 +1,15 @@
1
+ image: ruby:2.4.2
2
+
3
+ cache:
4
+ paths:
5
+ - cache
6
+
7
+ before_script:
8
+ - apt-get update -q && apt-get install nodejs -yqq
9
+ - gem install bundler -v 1.15.4 --no-ri --no-rdoc
10
+ - bundle install -j $(nproc) --path cache
11
+
12
+ test:
13
+ script:
14
+ - bundle exec rake test_app
15
+ - rspec spec
data/Gemfile CHANGED
@@ -5,17 +5,15 @@ gem 'httparty'
5
5
  gem 'nokogiri'
6
6
  gem 'model_un'
7
7
 
8
- spree_version = '3-1-stable'
9
-
10
- gem 'spree', github: 'spree/spree', branch: spree_version
11
- gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: spree_version
8
+ gem 'spree', '~> 3.6'
9
+ gem 'spree_auth_devise', '~> 3.3'
12
10
 
13
11
  gem 'haml'
14
12
  gem 'haml-rails'
15
- gem 'active_model_serializers', '~> 0.9.3'
13
+ gem 'active_model_serializers', '~> 0.10.7'
16
14
 
17
15
  group :test do
18
- gem 'shoulda-matchers', require: false
16
+ gem 'shoulda-matchers', git: 'https://github.com/thoughtbot/shoulda-matchers', require: false
19
17
  gem 'webmock'
20
18
  end
21
19
  gemspec
data/README.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  Current gem provides easy integration for you Spree Commerce based apps with full service fulfillment services of Fosdick Fulfillment.
4
4
 
5
+ Spree Commerce versions:
6
+ - Spree Core - 3.6
7
+ - Spree Auth Devise - 3.3
8
+
9
+
5
10
  ## Installation
6
11
 
7
12
  Add this line to your application's Gemfile:
@@ -4,7 +4,12 @@ Spree::Shipment.class_eval do
4
4
  def self.perform_fosdick_shipments
5
5
  shipments = where(shipped_at: nil, state: 'ready', send_atempt: 0..2).where.not(fosdick_state: ['duplicate', 'success'])
6
6
 
7
- JSON.parse(ActiveModel::ArraySerializer.new(shipments, each_serializer: ShipmentSerializer, root: false).to_json) if shipments.present?
7
+ JSON.parse(
8
+ ActiveModel::Serializer::CollectionSerializer.new(
9
+ shipments,
10
+ each_serializer: ShipmentSerializer,
11
+ root: false).to_json
12
+ ) if shipments.present?
8
13
  end
9
14
 
10
15
  def bill_to
@@ -1,8 +1,11 @@
1
1
  Deface::Override.new(
2
2
  virtual_path: 'spree/admin/orders/index',
3
3
  name: 'admin_fosdick_index_button',
4
- insert_before: "erb[silent]:contains('if can? :edit, Spree::Order.new ')",
5
- text: "<li style='padding-right: 5px;'>
6
- <%= button_link_to 'Fosdick panel', admin_fosdick_shipments_path, icon: '', id: 'admin_fosdick_index' %>
7
- </li>"
8
- )
4
+ insert_before: "erb[loud]:contains('Spree.t(:new_order)')",
5
+ ) do
6
+ <<-CODE.chomp
7
+ <%= button_link_to 'Fosdick panel',
8
+ admin_fosdick_shipments_path, { style: 'margin-right:5px;',
9
+ class: 'btn-primary', icon: 'ok', id: 'admin_fosdick_index' }%>
10
+ CODE
11
+ end
@@ -5,8 +5,8 @@ class ShipmentSerializer < ActiveModel::Serializer
5
5
  :shipping_method, :tracking, :placed_on, :shipped_at, :totals,
6
6
  :updated_at, :channel, :items, :shipping_method_code
7
7
 
8
- has_one :bill_to, serializer: AddressSerializer, root: 'billing_address'
9
- has_one :ship_to, serializer: AddressSerializer, root: 'shipping_address'
8
+ has_one :bill_to, serializer: AddressSerializer, key: 'billing_address'
9
+ has_one :ship_to, serializer: AddressSerializer, key: 'shipping_address'
10
10
 
11
11
  def id
12
12
  object.number
@@ -1,4 +1,4 @@
1
- class CreateSpreeFosdickShipment < ActiveRecord::Migration
1
+ class CreateSpreeFosdickShipment < ActiveRecord::Migration[5.0]
2
2
  def change
3
3
  create_table :spree_fosdick_shipments do |t|
4
4
  t.belongs_to :spree_shipment
@@ -11,7 +11,5 @@ class CreateSpreeFosdickShipment < ActiveRecord::Migration
11
11
  t.datetime :ship_date
12
12
  t.timestamps
13
13
  end
14
-
15
- add_index :spree_fosdick_shipments, :spree_shipment_id
16
14
  end
17
15
  end
@@ -1,4 +1,4 @@
1
- class CreateFosdickExceptions < ActiveRecord::Migration
1
+ class CreateFosdickExceptions < ActiveRecord::Migration[5.0]
2
2
  def change
3
3
  create_table :spree_fosdick_exceptions do |t|
4
4
  t.belongs_to :spree_fosdick_shipment
@@ -9,7 +9,5 @@ class CreateFosdickExceptions < ActiveRecord::Migration
9
9
  t.datetime :happened_at
10
10
  t.timestamps
11
11
  end
12
-
13
- add_index :spree_fosdick_exceptions, :spree_fosdick_shipment_id
14
12
  end
15
13
  end
@@ -1,4 +1,4 @@
1
- class AddFosdickAtemptAndStateSpreeShipments < ActiveRecord::Migration
1
+ class AddFosdickAtemptAndStateSpreeShipments < ActiveRecord::Migration[5.0]
2
2
  def change
3
3
  add_column :spree_shipments, :send_atempt, :integer, default: 0, null: false
4
4
  add_column :spree_shipments, :fosdick_state, :string, default: 'ready', null: false
@@ -52,7 +52,7 @@ module Fosdick
52
52
  shipment.order.update(shipment_state: 'shipped') if ship_date.present?
53
53
 
54
54
  if fosdick_shipment.confirmation_sent == false && trackings.present?
55
- Spree::FosdickShipmentMailer.order_shipped(shipment).deliver
55
+ Spree::FosdickShipmentMailer.order_shipped(shipment).deliver_now
56
56
  fosdick_shipment.update(confirmation_sent: true)
57
57
  end
58
58
  end
@@ -1,4 +1,4 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
  # Example adding this to your spec_helper will load these Factories for use:
3
3
  # require 'spree_fosdick_integration/factories'
4
4
 
@@ -1,3 +1,3 @@
1
1
  module SpreeFosdickIntegration
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.5'
3
3
  end
@@ -1,16 +1,18 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  RSpec.describe Spree::Admin::FosdickShipmentsController, type: :controller do
4
+ routes { Spree::Core::Engine.routes }
5
+
4
6
  describe '#index' do
5
7
  let!(:fosdick_shipment) { create :fosdick_shipment }
6
8
  let!(:admin) { create :admin_user }
7
9
  before { sign_in(admin) }
8
10
 
9
11
  it 'should have 200 response' do
10
- get :index, { use_route: SpreeFosdickIntegration }
12
+ get :index
11
13
 
12
14
  expect(response.status).to eq(200)
13
15
  expect(assigns[:fosdick_shipments]).to eq [fosdick_shipment]
14
16
  end
15
17
  end
16
- end
18
+ end
@@ -41,7 +41,7 @@ RSpec.describe Spree::Shipment, type: :model do
41
41
  'phone'=>'555-555-0199'},
42
42
  'shipping_address'=>nil}.to_json) }
43
43
 
44
- before { allow(ActiveModel::ArraySerializer).to receive(:new).and_return([result]) }
44
+ before { allow(ActiveModel::Serializer::CollectionSerializer).to receive(:new).and_return([result]) }
45
45
 
46
46
  it 'should perform shipments to fosdick' do
47
47
  expect(Spree::Shipment.perform_fosdick_shipments).to eq [result]
@@ -18,6 +18,7 @@ require 'rspec/rails'
18
18
  require 'database_cleaner'
19
19
  require 'ffaker'
20
20
  require 'shoulda/matchers'
21
+ require 'rails-controller-testing'
21
22
 
22
23
  Shoulda::Matchers.configure do |config|
23
24
  config.integrate do |with|
@@ -47,7 +48,7 @@ require 'spree_fosdick_integration/factories'
47
48
  require 'webmock/rspec'
48
49
 
49
50
  RSpec.configure do |config|
50
- config.include FactoryGirl::Syntax::Methods
51
+ config.include FactoryBot::Syntax::Methods
51
52
 
52
53
  config.include Devise::TestHelpers, type: :controller
53
54
  # == URL Helpers
@@ -96,4 +97,6 @@ RSpec.configure do |config|
96
97
  end
97
98
 
98
99
  config.fail_fast = ENV['FAIL_FAST'] || false
100
+
101
+ Rails::Controller::Testing.install
99
102
  end
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.add_dependency 'spree_core', '~> 3.1.0'
23
+ spec.add_dependency 'spree_core', '~> 3.6.0'
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 1.7'
26
26
  spec.add_development_dependency 'rake', '~> 10.0'
@@ -28,7 +28,8 @@ Gem::Specification.new do |spec|
28
28
  spec.add_development_dependency 'capybara', '~> 2.4'
29
29
  spec.add_development_dependency 'coffee-rails'
30
30
  spec.add_development_dependency 'database_cleaner'
31
- spec.add_development_dependency 'factory_girl', '~> 4.2'
31
+ spec.add_development_dependency 'factory_bot_rails', '~> 4.10.0'
32
+ spec.add_development_dependency 'rails-controller-testing'
32
33
  spec.add_development_dependency 'ffaker', '~> 2.2.0'
33
34
  spec.add_development_dependency 'sass-rails'
34
35
  spec.add_development_dependency 'selenium-webdriver'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_fosdick_integration
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - anatolii-volodko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-30 00:00:00.000000000 Z
11
+ date: 2018-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 3.1.0
19
+ version: 3.6.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 3.1.0
26
+ version: 3.6.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -109,19 +109,33 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: factory_girl
112
+ name: factory_bot_rails
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '4.2'
117
+ version: 4.10.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '4.2'
124
+ version: 4.10.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: rails-controller-testing
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: ffaker
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -200,6 +214,7 @@ extensions: []
200
214
  extra_rdoc_files: []
201
215
  files:
202
216
  - ".gitignore"
217
+ - ".gitlab-ci.yml"
203
218
  - Gemfile
204
219
  - LICENSE.txt
205
220
  - README.md
@@ -269,7 +284,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
269
284
  version: '0'
270
285
  requirements: []
271
286
  rubyforge_project:
272
- rubygems_version: 2.4.5
287
+ rubygems_version: 2.6.13
273
288
  signing_key:
274
289
  specification_version: 4
275
290
  summary: Integration Spree Commerce with Fosdick API
@@ -283,4 +298,3 @@ test_files:
283
298
  - spec/services/fosdick/receiver_spec.rb
284
299
  - spec/services/fosdick/sender_spec.rb
285
300
  - spec/spec_helper.rb
286
- has_rdoc: