nimbleshop_paypalwp 0.0.16 → 0.0.17

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.
@@ -71,7 +71,18 @@ module NimbleshopPaypalwp
71
71
  end
72
72
 
73
73
  def notify_acknowledge
74
- result = Rails.env.test? ? true : notify.acknowledge
74
+ return true if Rails.env.test?
75
+
76
+ # we can mock inpn callback using rake nimbleshop_paypalwp:mock_ipn_callback .
77
+ # In this case a fixed txn_id is sent all the time and this value is used to determine
78
+ # that it is indeed a mocked ipn callback. Also for safety this rule is applied only
79
+ # in development mode
80
+ if Rails.env.development? && notify.transaction_id == '50L283347C020742B'
81
+ result = true
82
+ else
83
+ result = notify.acknowledge
84
+ end
85
+
75
86
  Rails.logger.debug "notify_acknowledge : #{result}"
76
87
  result
77
88
  end
@@ -14,14 +14,24 @@ namespace :nimbleshop_paypalwp do
14
14
  task mock_ipn_callback: :environment do
15
15
 
16
16
  unless order_number = ENV['order_number']
17
- puts 'Usage: rake ipn_callcak order_number=xxxxxxx'
18
- abort
17
+ abort %Q{
18
+ You have not passed order_number. Please pass order_number like this.
19
+ Usage: rake ipn_callcak order_number=xxxxxxx
20
+ }
21
+ end
22
+
23
+ unless order = Order.find_by_number(order_number)
24
+ abort %Q{
25
+ No order was found matching order number #{order_number} . Please try again.
26
+ }
19
27
  end
20
28
 
21
29
  base_url = 'http://localhost:3000'
22
30
  endpoint = base_url + '/nimbleshop_paypalwp/paypalwp/notify'
23
31
 
24
- amt = (Order.find_by_number(order_number).total_amount_in_cents.to_i)/100.00
32
+ puts "ipn callback is being sent to #{endpoint}"
33
+
34
+ amt = (order.total_amount_in_cents.to_i)/100.00
25
35
  params = {
26
36
  'invoice' => "#{order_number}",
27
37
  'mc_gross' => "#{amt}",
@@ -73,5 +83,7 @@ namespace :nimbleshop_paypalwp do
73
83
  uri = URI.parse(endpoint)
74
84
  response = Net::HTTP.post_form(uri, params)
75
85
 
86
+ puts response.inspect
87
+
76
88
  end
77
89
  end
@@ -2,12 +2,12 @@ require 'bundler'
2
2
  Bundler.setup(:test)
3
3
 
4
4
  ENV["RAILS_ENV"] = "test"
5
- require File.expand_path("../../../../nimbleshop_core/test/myshop/config/environment.rb", __FILE__)
5
+ require File.expand_path("../../../nimbleshop_core/test/myshop/config/environment.rb", __FILE__)
6
6
  require 'rails/test_help'
7
7
  require 'active_record/fixtures'
8
8
 
9
9
  require 'factory_girl'
10
- Dir["#{File.dirname(__FILE__)}/../../../nimbleshop_core/test/factories/**"].each { |f| require File.expand_path(f) }
10
+ Dir["#{File.dirname(__FILE__)}/../../nimbleshop_core/test/factories/**"].each { |f| require File.expand_path(f) }
11
11
 
12
12
  VCR.configure do | c |
13
13
  c.ignore_hosts '127.0.0.1', 'localhost'
@@ -20,7 +20,7 @@ class ActiveSupport::TestCase
20
20
  self.use_transactional_fixtures = false
21
21
  setup do
22
22
  DatabaseCleaner.start
23
- ActiveRecord::Fixtures.create_fixtures("#{File.dirname(__FILE__)}/../../../nimbleshop_core/test/fixtures", ['shops', 'link_groups', 'payment_methods'])
23
+ ActiveRecord::Fixtures.create_fixtures("#{File.dirname(__FILE__)}/../../nimbleshop_core/test/fixtures", ['shops', 'link_groups', 'payment_methods'])
24
24
  end
25
25
  teardown do
26
26
  DatabaseCleaner.clean
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nimbleshop_paypalwp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.16
4
+ version: 0.0.17
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-12-07 00:00:00.000000000 Z
13
+ date: 2012-12-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: valid_email
@@ -85,7 +85,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
85
85
  version: '0'
86
86
  segments:
87
87
  - 0
88
- hash: 3988579021746130280
88
+ hash: -1173890059190686149
89
89
  required_rubygems_version: !ruby/object:Gem::Requirement
90
90
  none: false
91
91
  requirements:
@@ -94,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
94
  version: '0'
95
95
  segments:
96
96
  - 0
97
- hash: 3988579021746130280
97
+ hash: -1173890059190686149
98
98
  requirements: []
99
99
  rubyforge_project:
100
100
  rubygems_version: 1.8.24