pg_recurrence 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,220 @@
1
+ require 'helper'
2
+
3
+ module RubyPsigate
4
+ class TestAccount < Test::Unit::TestCase
5
+
6
+ def setup
7
+ Request.credential = credential
8
+ end
9
+
10
+ #####
11
+
12
+ def test_return_true_for_new_record?
13
+ @account = Account.new
14
+ assert @account.new_record?
15
+ end
16
+
17
+ def test_account_id_setter
18
+ @account = Account.new
19
+ assert @account.respond_to?(:accountid=), "Account instance does not have accountid setter"
20
+ end
21
+
22
+ def test_account_id_getter
23
+ @account = Account.new
24
+ assert @account.respond_to?(:accountid), "Account instance does not have accountid getter"
25
+ end
26
+
27
+ def test_name_setter
28
+ @account = Account.new
29
+ assert @account.respond_to?(:name=), "Account instance does not have name setter"
30
+ end
31
+
32
+ def test_name_getter
33
+ @account = Account.new
34
+ assert @account.respond_to?(:name), "Account instance does not have name getter"
35
+ end
36
+
37
+ def test_company_setter
38
+ @account = Account.new
39
+ assert @account.respond_to?(:company=), "Account instance does not have company setter"
40
+ end
41
+
42
+ def test_company_getter
43
+ @account = Account.new
44
+ assert @account.respond_to?(:company), "Account instance does not have company getter"
45
+ end
46
+
47
+ def test_address1_setter
48
+ @account = Account.new
49
+ assert @account.respond_to?(:address1=), "Account instance does not have address1 setter"
50
+ end
51
+
52
+ def test_address1_getter
53
+ @account = Account.new
54
+ assert @account.respond_to?(:address1), "Account instance does not have address1 getter"
55
+ end
56
+
57
+ def test_address2_setter
58
+ @account = Account.new
59
+ assert @account.respond_to?(:address2=), "Account instance does not have address2 setter"
60
+ end
61
+
62
+ def test_address2_getter
63
+ @account = Account.new
64
+ assert @account.respond_to?(:address2), "Account instance does not have address2 getter"
65
+ end
66
+
67
+ def test_city_setter
68
+ @account = Account.new
69
+ assert @account.respond_to?(:city=), "Account instance does not have city setter"
70
+ end
71
+
72
+ def test_city_getter
73
+ @account = Account.new
74
+ assert @account.respond_to?(:city), "Account instance does not have city getter"
75
+ end
76
+
77
+ def test_province_setter
78
+ @account = Account.new
79
+ assert @account.respond_to?(:province=), "Account instance does not have province setter"
80
+ end
81
+
82
+ def test_province_getter
83
+ @account = Account.new
84
+ assert @account.respond_to?(:province), "Account instance does not have province getter"
85
+ end
86
+
87
+ def test_state_setter_is_same_as_province_setter
88
+ @account = Account.new
89
+ @account.state = "Something"
90
+ assert_equal @account.province, @account.state
91
+ end
92
+
93
+ def test_state_getter_is_same_as_province_getter
94
+ @account = Account.new
95
+ @account.province = "Something"
96
+ assert_equal @account.state, @account.province
97
+ end
98
+
99
+ def test_postal_code_setter
100
+ @account = Account.new
101
+ assert @account.respond_to?(:postalcode=), "Account instance does not have postal code setter"
102
+ end
103
+
104
+ def test_postal_code_getter
105
+ @account = Account.new
106
+ assert @account.respond_to?(:postalcode), "Account instance does not have postal code getter"
107
+ end
108
+
109
+ def test_country_setter
110
+ @account = Account.new
111
+ assert @account.respond_to?(:country=), "Account instance does not have country setter"
112
+ end
113
+
114
+ def test_country_getter
115
+ @account = Account.new
116
+ assert @account.respond_to?(:country), "Account instance does not have country getter"
117
+ end
118
+
119
+ def test_phone_setter
120
+ @account = Account.new
121
+ assert @account.respond_to?(:phone=), "Account instance does not have phone setter"
122
+ end
123
+
124
+ def test_phone_getter
125
+ @account = Account.new
126
+ assert @account.respond_to?(:phone), "Account instance does not have phone getter"
127
+ end
128
+
129
+ def test_fax_setter
130
+ @account = Account.new
131
+ assert @account.respond_to?(:fax=), "Account instance does not have fax setter"
132
+ end
133
+
134
+ def test_fax_getter
135
+ @account = Account.new
136
+ assert @account.respond_to?(:fax), "Account instance does not have fax getter"
137
+ end
138
+
139
+ def test_email_setter
140
+ @account = Account.new
141
+ assert @account.respond_to?(:email=), "Account instance does not have email setter"
142
+ end
143
+
144
+ def test_email_getter
145
+ @account = Account.new
146
+ assert @account.respond_to?(:email), "Account instance does not have email getter"
147
+ end
148
+
149
+ def test_comments_setter
150
+ @account = Account.new
151
+ assert @account.respond_to?(:comments=), "Account instance does not have comments setter"
152
+ end
153
+
154
+ def test_comments_getter
155
+ @account = Account.new
156
+ assert @account.respond_to?(:comments), "Account instance does not have comments getter"
157
+ end
158
+
159
+ # Holder for credit card object
160
+
161
+ def test_credit_card_object_holder
162
+ @account = Account.new
163
+ assert @account.respond_to?(:credit_card=), "Account instance does not have credit card object setter"
164
+ end
165
+
166
+ def test_raises_error_if_credit_card_is_not_instance_of_pg_creditcard
167
+ @account = Account.new
168
+ assert_raise(ArgumentError) do
169
+ @account.credit_card = "hello world"
170
+ end
171
+ end
172
+
173
+ def test_raises_no_error_if_credit_card_is_instance_of_pg_creditcard
174
+ creditcard = PgCreditcard.new(
175
+ :name => "Homer Simpsons",
176
+ :number => "4111111111111111",
177
+ :month => "03",
178
+ :year => "20",
179
+ :cvv => "123"
180
+ )
181
+
182
+ @account = Account.new
183
+ assert_nothing_raised do
184
+ @account.credit_card = creditcard
185
+ end
186
+ end
187
+
188
+ # Creating instances from hash
189
+
190
+ def test_new_account_instance_accepts_hash_of_values
191
+ @account = Account.new(
192
+ :accountid => "account_id_123",
193
+ :name => "Homer Simpson"
194
+ )
195
+
196
+ assert @account, "Account instance not initialized from hash of attributes"
197
+ end
198
+
199
+ def test_new_account_instance_with_hash_will_assign_instance_variables
200
+ attributes = {
201
+ :accountid => "account_id_123",
202
+ :name => "Homer Simpson",
203
+ :country => "USA",
204
+ :zipcode => "12345",
205
+ :province => "Ontario"
206
+ }
207
+
208
+ @account = Account.new(attributes)
209
+
210
+ assert_equal @account.accountid, "account_id_123"
211
+ assert_equal @account.name, "Homer Simpson"
212
+ assert_equal @account.country, "USA"
213
+ assert_equal @account.zipcode, "12345"
214
+ assert_equal @account.province, "Ontario"
215
+ end
216
+
217
+ # Remote testing in remote testing directory
218
+
219
+ end
220
+ end
@@ -0,0 +1,15 @@
1
+ require 'helper'
2
+
3
+ module RubyPsigate
4
+ class TestCharge < Test::Unit::TestCase
5
+
6
+ def setup
7
+ Request.credential = credential
8
+ end
9
+
10
+ # def test_new_record
11
+ # @charge = Charge.new
12
+ # assert @charge.new_record?
13
+ # end
14
+ end
15
+ end
@@ -0,0 +1,50 @@
1
+ require 'helper'
2
+
3
+ module RubyPsigate
4
+ class TestRequest < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @credential = Credential.new(:CID => "test", :UserID => "test", :password => "test")
8
+ Request.credential = @credential
9
+ end
10
+
11
+ def test_storeid_setter
12
+ assert Request.respond_to?(:storeid=)
13
+ end
14
+
15
+ def test_storeid_getter
16
+ assert Request.respond_to?(:storeid)
17
+ end
18
+
19
+ def test_set_credential_setter_on_class_level
20
+ assert Request.respond_to?(:credential=)
21
+ end
22
+
23
+ def test_sets_credential
24
+ assert_equal @credential, Request.credential
25
+ end
26
+
27
+ def test_raises_error_if_credentials_not_from_credential_class
28
+ assert_raises(ArgumentError) {Request.credential = "hello world"}
29
+ end
30
+
31
+ def test_params_setter
32
+ @request = Request.new
33
+ assert @request.respond_to?(:params=)
34
+ end
35
+
36
+ def test_raises_error_if_params_is_not_a_hash
37
+ @request = Request.new
38
+ assert_raises(ArgumentError) { @request.params = "Hello World" }
39
+ end
40
+
41
+ def test_sets_params
42
+ hash = { :Hello => "World" }
43
+ @request = Request.new
44
+ @request.params = hash
45
+
46
+ assert_equal hash, @request.params
47
+ end
48
+
49
+ end
50
+ end
@@ -0,0 +1,55 @@
1
+ require 'helper'
2
+
3
+ module RubyPsigate
4
+ class TestResponse < Test::Unit::TestCase
5
+
6
+ def test_accepts_xml
7
+ @response = Response.new(api_response)
8
+ assert @response
9
+ end
10
+
11
+ private
12
+
13
+ def api_response
14
+ <<-EOF
15
+ <?xml version="1.0" encoding="UTF-8"?>
16
+ <Response>
17
+ <CID>1000001</CID>
18
+ <Action>REGISTER NEW PAYMENT ACCOUNTS</Action>
19
+ <ReturnCode>RPA-0000</ReturnCode>
20
+ <ReturnMessage>Register Payment Accounts completed successfully.</ReturnMessage>
21
+ <Account>
22
+ <ReturnCode>RPA-0010</ReturnCode>
23
+ <ReturnMessage>Register Payment Account completed successfully.</ReturnMessage>
24
+ <AccountID>2010090412944</AccountID>
25
+ <Status></Status>
26
+ <Name>John Smith</Name>
27
+ <Company>PSiGate Inc.</Company>
28
+ <Address1>145 King St.</Address1>
29
+ <Address2>2300</Address2>
30
+ <City>Toronto</City>
31
+ <Province>Ontario</Province>
32
+ <Postalcode>M5H 1J8</Postalcode>
33
+ <Country>Canada</Country>
34
+ <Phone>1-905-123-4567</Phone>
35
+ <Fax>1-905-123-4568</Fax>
36
+ <Email>support@psigate.com</Email>
37
+ <Comments>No Comment Today</Comments>
38
+ <CardInfo>
39
+ <Status></Status>
40
+ <SerialNo>1</SerialNo>
41
+ <AccountID>2010090412944</AccountID>
42
+ <CardHolder>John Smith</CardHolder>
43
+ <CardNumber>400555...0019</CardNumber>
44
+ <CardExpMonth>08</CardExpMonth>
45
+ <CardExpYear>11</CardExpYear>
46
+ <CardType>VISA</CardType>
47
+ </CardInfo>
48
+ </Account>
49
+ </Response>
50
+ EOF
51
+ end
52
+
53
+
54
+ end
55
+ end
metadata ADDED
@@ -0,0 +1,200 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pg_recurrence
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 0
9
+ version: 0.1.0
10
+ platform: ruby
11
+ authors:
12
+ - Simon Chiu
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-12-07 00:00:00 -05:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: crack
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :runtime
31
+ prerelease: false
32
+ version_requirements: *id001
33
+ - !ruby/object:Gem::Dependency
34
+ name: pg_serializer
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ segments:
41
+ - 0
42
+ version: "0"
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
47
+ name: pg_connection
48
+ requirement: &id003 !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ segments:
54
+ - 0
55
+ version: "0"
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *id003
59
+ - !ruby/object:Gem::Dependency
60
+ name: pg_creditcard
61
+ requirement: &id004 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ segments:
67
+ - 0
68
+ version: "0"
69
+ type: :runtime
70
+ prerelease: false
71
+ version_requirements: *id004
72
+ - !ruby/object:Gem::Dependency
73
+ name: mocha
74
+ requirement: &id005 !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ segments:
80
+ - 0
81
+ version: "0"
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: *id005
85
+ - !ruby/object:Gem::Dependency
86
+ name: bundler
87
+ requirement: &id006 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ~>
91
+ - !ruby/object:Gem::Version
92
+ segments:
93
+ - 1
94
+ - 0
95
+ - 0
96
+ version: 1.0.0
97
+ type: :development
98
+ prerelease: false
99
+ version_requirements: *id006
100
+ - !ruby/object:Gem::Dependency
101
+ name: jeweler
102
+ requirement: &id007 !ruby/object:Gem::Requirement
103
+ none: false
104
+ requirements:
105
+ - - ~>
106
+ - !ruby/object:Gem::Version
107
+ segments:
108
+ - 1
109
+ - 5
110
+ - 1
111
+ version: 1.5.1
112
+ type: :development
113
+ prerelease: false
114
+ version_requirements: *id007
115
+ - !ruby/object:Gem::Dependency
116
+ name: rcov
117
+ requirement: &id008 !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ segments:
123
+ - 0
124
+ version: "0"
125
+ type: :development
126
+ prerelease: false
127
+ version_requirements: *id008
128
+ description: Unofficial Psigate recurring billing library for Ruby
129
+ email: skhchiu@gmail.com
130
+ executables: []
131
+
132
+ extensions: []
133
+
134
+ extra_rdoc_files:
135
+ - LICENSE.txt
136
+ - README.rdoc
137
+ files:
138
+ - .document
139
+ - Gemfile
140
+ - Gemfile.lock
141
+ - LICENSE.txt
142
+ - README.rdoc
143
+ - Rakefile
144
+ - VERSION
145
+ - lib/pg_recurrence.rb
146
+ - lib/ruby_psigate/account.rb
147
+ - lib/ruby_psigate/charge.rb
148
+ - lib/ruby_psigate/credential.rb
149
+ - lib/ruby_psigate/request.rb
150
+ - lib/ruby_psigate/response.rb
151
+ - test/helper.rb
152
+ - test/remote/test_account_remote.rb
153
+ - test/remote/test_charge_remote.rb
154
+ - test/remote/test_request_remote.rb
155
+ - test/unit/test_account.rb
156
+ - test/unit/test_charge.rb
157
+ - test/unit/test_request.rb
158
+ - test/unit/test_response.rb
159
+ has_rdoc: true
160
+ homepage: http://github.com/drchiu/pg_recurrence
161
+ licenses:
162
+ - MIT
163
+ post_install_message:
164
+ rdoc_options: []
165
+
166
+ require_paths:
167
+ - lib
168
+ required_ruby_version: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ hash: -4504296644844795293
174
+ segments:
175
+ - 0
176
+ version: "0"
177
+ required_rubygems_version: !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ segments:
183
+ - 0
184
+ version: "0"
185
+ requirements: []
186
+
187
+ rubyforge_project:
188
+ rubygems_version: 1.3.7
189
+ signing_key:
190
+ specification_version: 3
191
+ summary: Unofficial Psigate recurring billing library for Ruby
192
+ test_files:
193
+ - test/helper.rb
194
+ - test/remote/test_account_remote.rb
195
+ - test/remote/test_charge_remote.rb
196
+ - test/remote/test_request_remote.rb
197
+ - test/unit/test_account.rb
198
+ - test/unit/test_charge.rb
199
+ - test/unit/test_request.rb
200
+ - test/unit/test_response.rb