datatrans 2.4.0 → 3.0.0

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