datatrans 2.4.0 → 3.0.0

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.
@@ -1,32 +1,40 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Datatrans::XML::Transaction::Request do
4
- describe "ClassMethods" do
5
- describe "set_default_options" do
6
- it "should set the current proxy settings" do
7
- Datatrans.configure do |config|
8
- config.proxy = {
9
- :host => "test.com",
10
- :port => 123,
11
- :user => "hans",
12
- :password => "wurst",
13
- }
14
- end
15
- Datatrans::XML::Transaction::Request.should_receive(:http_proxy).with(Datatrans.proxy[:host], Datatrans.proxy[:port], Datatrans.proxy[:user], Datatrans.proxy[:password])
16
- Datatrans::XML::Transaction::Request.set_default_options
4
+ describe "Proxy" do
5
+ describe "configured" do
6
+ before(:each) do
7
+ @datatrans = Datatrans::Config.new(
8
+ :merchant_id => '1100000000',
9
+ :sign_key => 'd777c17ba2010282c2d2350a68b441ca07a799d294bfaa630b7c8442207c0b69703cc55775b0ca5a4e455b818a9bb10a43669c0c20ce31f4a43f10e0cabb9525',
10
+ :key => "value",
11
+ :proxy => {
12
+ :http_proxyaddr => "proxy.com",
13
+ :http_proxyport => 80,
14
+ :http_proxyuser => "hans",
15
+ :http_proxpass => "xxx",
16
+ },
17
+ :environment => :development
18
+ )
17
19
 
18
- Datatrans.configure do |config|
19
- config.proxy = nil
20
- end
21
- Datatrans::XML::Transaction::Request.should_receive(:http_proxy).with(nil, nil, nil, nil)
22
- Datatrans::XML::Transaction::Request.set_default_options
20
+ end
21
+ it "forward those options to HTTParty" do
22
+ request = Datatrans::XML::Transaction::Request.new(@datatrans, {})
23
+ HTTParty.should_receive(:post).with('lirum',
24
+ :params => {:foo => :bar},
25
+ :http_proxpass => 'xxx',
26
+ :http_proxyuser => 'hans',
27
+ :http_proxyaddr => 'proxy.com',
28
+ :http_proxyport => 80)
29
+ request.post('lirum', :params => {:foo => :bar})
23
30
  end
24
31
  end
25
32
 
26
- describe "post" do
27
- it "should update the default options and perform the request afterwards" do
28
- Datatrans::XML::Transaction::Request.should_receive(:set_default_options)
29
- Datatrans::XML::Transaction::Request.perform_request(Net::HTTP::Post, "http://example.com", :a => "b")
33
+ describe "not configured" do
34
+ it "should not add any proxy settings" do
35
+ request = Datatrans::XML::Transaction::Request.new(@datatrans, {})
36
+ HTTParty.should_receive(:post).with('lirum', :params => {:foo => :bar})
37
+ request.post('lirum', :params => {:foo => :bar})
30
38
  end
31
39
  end
32
40
  end
@@ -66,14 +66,14 @@ describe Datatrans::XML::Transaction::StatusRequest do
66
66
 
67
67
  context "build_status_request" do
68
68
  it "generates a valid datatrans status xml" do
69
- @request = Datatrans::XML::Transaction::StatusRequest.new(@valid_params)
69
+ @request = Datatrans::XML::Transaction::StatusRequest.new(@datatrans, @valid_params)
70
70
  @request.send(:build_status_request).should == "<?xml version=\"1.0\" encoding=\"UTF-8\"?><statusService version=\"1\"><body merchantId=\"1100000000\"><transaction refno=\"\"><request><uppTransactionId>111013090000394044</uppTransactionId></request></transaction></body></statusService>"
71
71
  end
72
72
  end
73
73
 
74
74
  context "process" do
75
75
  it "handles a valid datatrans status response" do
76
- @transaction = Datatrans::XML::Transaction.new(@valid_params)
76
+ @transaction = Datatrans::XML::Transaction.new(@datatrans, @valid_params)
77
77
  @transaction.status.should be_true
78
78
  end
79
79
  end
@@ -82,7 +82,7 @@ describe Datatrans::XML::Transaction::StatusRequest do
82
82
  context "failed response" do
83
83
  before do
84
84
  Datatrans::XML::Transaction::StatusRequest.any_instance.stub(:process).and_return(@failed_response)
85
- @transaction = Datatrans::XML::Transaction.new(@valid_params)
85
+ @transaction = Datatrans::XML::Transaction.new(@datatrans, @valid_params)
86
86
  end
87
87
 
88
88
  context "process" do
@@ -68,14 +68,14 @@ describe Datatrans::XML::Transaction::VoidRequest do
68
68
 
69
69
  context "build_void_request" do
70
70
  it "generates a valid datatrans void xml" do
71
- @request = Datatrans::XML::Transaction::VoidRequest.new(@valid_params)
71
+ @request = Datatrans::XML::Transaction::VoidRequest.new(@datatrans, @valid_params)
72
72
  @request.send(:build_void_request).should == "<?xml version=\"1.0\" encoding=\"UTF-8\"?><paymentService version=\"1\"><body merchantId=\"1100000000\"><transaction refno=\"ABCDEF\"><request><amount>1000</amount><currency>CHF</currency><uppTransactionId>110808143302868124</uppTransactionId><reqtype>DOA</reqtype></request></transaction></body></paymentService>"
73
73
  end
74
74
  end
75
75
 
76
76
  context "process" do
77
77
  it "handles a valid datatrans void response" do
78
- @transaction = Datatrans::XML::Transaction.new(@valid_params)
78
+ @transaction = Datatrans::XML::Transaction.new(@datatrans, @valid_params)
79
79
  @transaction.void.should be_true
80
80
  end
81
81
  end
@@ -84,7 +84,7 @@ describe Datatrans::XML::Transaction::VoidRequest do
84
84
  context "failed response" do
85
85
  before do
86
86
  Datatrans::XML::Transaction::VoidRequest.any_instance.stub(:process).and_return(@failed_response)
87
- @transaction = Datatrans::XML::Transaction.new(@valid_params)
87
+ @transaction = Datatrans::XML::Transaction.new(@datatrans, @valid_params)
88
88
  end
89
89
 
90
90
  context "process" do
metadata CHANGED
@@ -1,135 +1,133 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datatrans
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
5
- prerelease:
4
+ version: 3.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Tobias Miesel
9
8
  - Thomas Maurer
10
9
  - Corin Langosch
10
+ - Pascal Betz
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-01-28 00:00:00.000000000 Z
14
+ date: 2013-09-25 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
+ name: httparty
17
18
  requirement: !ruby/object:Gem::Requirement
18
19
  requirements:
19
- - - ! '>='
20
+ - - '>='
20
21
  - !ruby/object:Gem::Version
21
22
  version: '0'
22
- none: false
23
23
  type: :runtime
24
- name: httparty
24
+ prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ! '>='
27
+ - - '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
- none: false
31
- prerelease: false
32
30
  - !ruby/object:Gem::Dependency
31
+ name: activesupport
33
32
  requirement: !ruby/object:Gem::Requirement
34
33
  requirements:
35
- - - ! '>='
34
+ - - '>='
36
35
  - !ruby/object:Gem::Version
37
36
  version: 3.0.0
38
- none: false
39
37
  type: :runtime
40
- name: activesupport
38
+ prerelease: false
41
39
  version_requirements: !ruby/object:Gem::Requirement
42
40
  requirements:
43
- - - ! '>='
41
+ - - '>='
44
42
  - !ruby/object:Gem::Version
45
43
  version: 3.0.0
46
- none: false
47
- prerelease: false
48
44
  - !ruby/object:Gem::Dependency
45
+ name: i18n
49
46
  requirement: !ruby/object:Gem::Requirement
50
47
  requirements:
51
- - - ! '>='
48
+ - - '>='
52
49
  - !ruby/object:Gem::Version
53
50
  version: '0'
54
- none: false
55
51
  type: :runtime
56
- name: i18n
52
+ prerelease: false
57
53
  version_requirements: !ruby/object:Gem::Requirement
58
54
  requirements:
59
- - - ! '>='
55
+ - - '>='
60
56
  - !ruby/object:Gem::Version
61
57
  version: '0'
62
- none: false
63
- prerelease: false
64
58
  - !ruby/object:Gem::Dependency
59
+ name: builder
65
60
  requirement: !ruby/object:Gem::Requirement
66
61
  requirements:
67
- - - ! '>='
62
+ - - '>='
68
63
  - !ruby/object:Gem::Version
69
64
  version: '0'
70
- none: false
71
65
  type: :runtime
72
- name: builder
66
+ prerelease: false
73
67
  version_requirements: !ruby/object:Gem::Requirement
74
68
  requirements:
75
- - - ! '>='
69
+ - - '>='
76
70
  - !ruby/object:Gem::Version
77
71
  version: '0'
78
- none: false
72
+ - !ruby/object:Gem::Dependency
73
+ name: multi_xml
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - '>='
77
+ - !ruby/object:Gem::Version
78
+ version: 0.5.1
79
+ type: :runtime
79
80
  prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - '>='
84
+ - !ruby/object:Gem::Version
85
+ version: 0.5.1
80
86
  - !ruby/object:Gem::Dependency
87
+ name: rake
81
88
  requirement: !ruby/object:Gem::Requirement
82
89
  requirements:
83
- - - ! '>='
90
+ - - '>='
84
91
  - !ruby/object:Gem::Version
85
92
  version: '0'
86
- none: false
87
93
  type: :development
88
- name: rake
94
+ prerelease: false
89
95
  version_requirements: !ruby/object:Gem::Requirement
90
96
  requirements:
91
- - - ! '>='
97
+ - - '>='
92
98
  - !ruby/object:Gem::Version
93
99
  version: '0'
94
- none: false
95
- prerelease: false
96
100
  - !ruby/object:Gem::Dependency
101
+ name: rspec
97
102
  requirement: !ruby/object:Gem::Requirement
98
103
  requirements:
99
- - - ! '>='
104
+ - - '>='
100
105
  - !ruby/object:Gem::Version
101
106
  version: '0'
102
- none: false
103
107
  type: :development
104
- name: rspec
108
+ prerelease: false
105
109
  version_requirements: !ruby/object:Gem::Requirement
106
110
  requirements:
107
- - - ! '>='
111
+ - - '>='
108
112
  - !ruby/object:Gem::Version
109
113
  version: '0'
110
- none: false
111
- prerelease: false
112
114
  - !ruby/object:Gem::Dependency
115
+ name: actionpack
113
116
  requirement: !ruby/object:Gem::Requirement
114
117
  requirements:
115
- - - ! '>='
118
+ - - '>='
116
119
  - !ruby/object:Gem::Version
117
120
  version: 3.0.0
118
- none: false
119
121
  type: :development
120
- name: actionpack
122
+ prerelease: false
121
123
  version_requirements: !ruby/object:Gem::Requirement
122
124
  requirements:
123
- - - ! '>='
125
+ - - '>='
124
126
  - !ruby/object:Gem::Version
125
127
  version: 3.0.0
126
- none: false
127
- prerelease: false
128
128
  description: Datatrans Integration for Ruby on Rails
129
129
  email:
130
- - tobias.miesel@simplificator.com
131
- - thomas.maurer@simplificator.com
132
- - corin.langosch@simplificator.com
130
+ - info@simplificator.com
133
131
  executables: []
134
132
  extensions: []
135
133
  extra_rdoc_files: []
@@ -145,9 +143,11 @@ files:
145
143
  - datatrans.gemspec
146
144
  - lib/datatrans.rb
147
145
  - lib/datatrans/common.rb
146
+ - lib/datatrans/config.rb
148
147
  - lib/datatrans/version.rb
149
148
  - lib/datatrans/web/transaction.rb
150
149
  - lib/datatrans/web/transaction/authorize.rb
150
+ - lib/datatrans/web/view_helper.rb
151
151
  - lib/datatrans/xml/transaction.rb
152
152
  - lib/datatrans/xml/transaction/authorize.rb
153
153
  - lib/datatrans/xml/transaction/capture.rb
@@ -156,6 +156,7 @@ files:
156
156
  - lib/datatrans/xml/transaction/status.rb
157
157
  - lib/datatrans/xml/transaction/void.rb
158
158
  - spec/common_spec.rb
159
+ - spec/config_spec.rb
159
160
  - spec/spec_helper.rb
160
161
  - spec/web/authorize_spec.rb
161
162
  - spec/xml/authorize_spec.rb
@@ -165,32 +166,25 @@ files:
165
166
  - spec/xml/void_spec.rb
166
167
  homepage: ''
167
168
  licenses: []
169
+ metadata: {}
168
170
  post_install_message:
169
171
  rdoc_options: []
170
172
  require_paths:
171
173
  - lib
172
174
  required_ruby_version: !ruby/object:Gem::Requirement
173
175
  requirements:
174
- - - ! '>='
176
+ - - '>='
175
177
  - !ruby/object:Gem::Version
176
- hash: -136247163122496527
177
178
  version: '0'
178
- segments:
179
- - 0
180
- none: false
181
179
  required_rubygems_version: !ruby/object:Gem::Requirement
182
180
  requirements:
183
- - - ! '>='
181
+ - - '>='
184
182
  - !ruby/object:Gem::Version
185
- hash: -136247163122496527
186
183
  version: '0'
187
- segments:
188
- - 0
189
- none: false
190
184
  requirements: []
191
185
  rubyforge_project: datatrans
192
- rubygems_version: 1.8.24
186
+ rubygems_version: 2.0.2
193
187
  signing_key:
194
- specification_version: 3
188
+ specification_version: 4
195
189
  summary: Datatrans Integration for Ruby on Rails
196
190
  test_files: []