spree_fosdick_integration 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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: