wirecardmapper 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. data/README.rdoc +5 -3
  2. data/lib/wirecardmapper/models/base.rb +10 -1
  3. data/lib/wirecardmapper/models/mongo_mapper.rb +11 -8
  4. data/lib/wirecardmapper/version.rb +1 -1
  5. data/spec/fixtures/vcr_cassettes/WirecardMapper/_change_card_status/should_set_status.yml +170 -0
  6. data/spec/fixtures/vcr_cassettes/WirecardMapper/_change_card_status/should_switch_status.yml +279 -0
  7. data/spec/fixtures/vcr_cassettes/WirecardMapper/_submit_payment/should_load_card.yml +173 -0
  8. data/spec/fixtures/vcr_cassettes/WirecardMapper/_submit_payment/unload/should_unload_card.yml +223 -0
  9. data/spec/fixtures/vcr_cassettes/WirecardMapper/should_create_card.yml +58 -0
  10. data/spec/fixtures/vcr_cassettes/WirecardMapper/should_get_card_info.yml +123 -0
  11. data/spec/fixtures/vcr_cassettes/WirecardMapper/should_get_payment_info.yml +106 -0
  12. data/spec/fixtures/vcr_cassettes/WirecardMapper/should_update_card_info.yml +105 -0
  13. data/spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/_payment_info/should_get_info.yml +104 -0
  14. data/spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/change_status/should_activate_card.yml +167 -0
  15. data/spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/change_status/should_block_card.yml +167 -0
  16. data/spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/change_status/should_cancelled_card.yml +167 -0
  17. data/spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/load_amount/should_get_balance.yml +171 -0
  18. data/spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/should_get_expiration_year.yml +120 -0
  19. data/spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/unload_amount/should_get_balance.yml +284 -0
  20. data/spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/unload_amount/should_unload_card_with_comment.yml +222 -0
  21. data/spec/fixtures/vcr_cassettes/WirecardMapper_Model_MongoMapper/caching/should_get_status_from_the_database.yml +276 -0
  22. data/spec/fixtures/vcr_cassettes/WirecardMapper_Model_MongoMapper/should_create_card.yml +167 -0
  23. data/spec/fixtures/vcr_cassettes/WirecardMapper_Model_MongoMapper/with_missing_card_id/should_not_create_card.yml +167 -0
  24. data/spec/fixtures/vcr_cassettes/WirecardMapper_Model_MongoMapper/with_wirecard_error_response/should_not_create_card.yml +49 -0
  25. data/spec/functional/models/base_spec.rb +8 -2
  26. data/spec/functional/models/mongo_mapper_spec.rb +31 -4
  27. data/spec/functional/wirecardmapper_spec.rb +1 -1
  28. data/spec/spec_helper.rb +7 -15
  29. metadata +23 -3
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe WirecardMapper::Model::Base do
3
+ describe WirecardMapper::Model::Base, :vcr do
4
4
 
5
5
  before(:all) do
6
6
  @klass = Class.new
@@ -19,7 +19,13 @@ describe WirecardMapper::Model::Base do
19
19
  let(:card) { @klass.new(WirecardMapper.create_card.card_id, 2200) }
20
20
 
21
21
  it "should get expiration year" do
22
- card.expiration_year.should eql(1.year.from_now.year)
22
+ card.expiration_year.should eql(2013)
23
+ end
24
+
25
+ describe "#payment_info" do
26
+ it "should get info" do
27
+ card.payment_info(1.year.ago, Time.now).return_code eql?(0)
28
+ end
23
29
  end
24
30
 
25
31
  describe "change status" do
@@ -1,6 +1,21 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe WirecardMapper::Model::MongoMapper do
3
+ describe WirecardMapper::Model::MongoMapper, :vcr do
4
+
5
+ before(:all) do
6
+ MongoMapper.connection = Mongo::Connection.new('127.0.0.1', 27017)
7
+ MongoMapper.database = "wirecardmapper_test"
8
+
9
+ DatabaseCleaner[:mongo_mapper].strategy = :truncation
10
+ end
11
+
12
+ before(:each) do
13
+ DatabaseCleaner.start
14
+ end
15
+
16
+ after(:each) do
17
+ DatabaseCleaner.clean
18
+ end
4
19
 
5
20
  before(:all) do
6
21
  @klass = Class.new
@@ -14,17 +29,29 @@ describe WirecardMapper::Model::MongoMapper do
14
29
  key :card_id, String
15
30
  key :number, String
16
31
  key :security_code, Integer
32
+ key :status, String
17
33
  end
18
34
  end
19
35
 
36
+ let(:card) { @klass.create! }
20
37
 
21
38
  it "should create card" do
22
- card = @klass.new
23
-
24
- card.save.should be_true
25
39
  card.card_id.should_not be_blank
26
40
  card.number.should_not be_blank
27
41
  card.security_code.should_not be_blank
28
42
  end
29
43
 
44
+ context "with wirecard error response" do
45
+ it "should not create card" do
46
+ expect { @klass.create! }.to raise_exception(WirecardMapper::Exception, "Request cannot be accepted with the current status of the card.")
47
+ end
48
+ end
49
+
50
+ describe "caching" do
51
+ it "should get status from the database" do
52
+ card.blocked?.should be_true
53
+ card.activated!
54
+ card.activated?.should be_true
55
+ end
56
+ end
30
57
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe WirecardMapper do
3
+ describe WirecardMapper, :vcr do
4
4
 
5
5
  let(:card_id) { WirecardMapper.create_card(:card_data => {:card_comment => 'Test'}).card_id }
6
6
 
data/spec/spec_helper.rb CHANGED
@@ -6,6 +6,7 @@ require 'mongo_mapper'
6
6
  require 'wirecardmapper'
7
7
  require 'rspec'
8
8
  require 'database_cleaner'
9
+ require 'vcr'
9
10
 
10
11
  FIXTURES_PATH = "#{File.dirname(__FILE__)}/fixtures"
11
12
 
@@ -19,21 +20,12 @@ WirecardMapper::Config.product_id = 11
19
20
  WirecardMapper::Config.currency = "EUR"
20
21
 
21
22
  RSpec.configure do |config|
23
+ config.treat_symbols_as_metadata_keys_with_true_values = true
22
24
  config.mock_with :rspec
23
-
24
- config.before(:suite) do
25
- MongoMapper.connection = Mongo::Connection.new('127.0.0.1', 27017)
26
- MongoMapper.database = "wirecardmapper_test"
27
-
28
- DatabaseCleaner[:mongo_mapper].strategy = :truncation
29
- end
30
-
31
- config.before(:each) do
32
- DatabaseCleaner.start
33
- end
34
-
35
- config.after(:each) do
36
- DatabaseCleaner.clean
37
- end
38
25
  end
39
26
 
27
+ VCR.configure do |c|
28
+ c.cassette_library_dir = "#{FIXTURES_PATH}/vcr_cassettes"
29
+ c.hook_into :webmock
30
+ c.configure_rspec_metadata!
31
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wirecardmapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-07 00:00:00.000000000 Z
12
+ date: 2013-01-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -147,6 +147,26 @@ files:
147
147
  - spec/unit/request_spec.rb
148
148
  - spec/unit/response_spec.rb
149
149
  - spec/unit/config_spec.rb
150
+ - spec/fixtures/vcr_cassettes/WirecardMapper_Model_MongoMapper/caching/should_get_status_from_the_database.yml
151
+ - spec/fixtures/vcr_cassettes/WirecardMapper_Model_MongoMapper/with_wirecard_error_response/should_not_create_card.yml
152
+ - spec/fixtures/vcr_cassettes/WirecardMapper_Model_MongoMapper/should_create_card.yml
153
+ - spec/fixtures/vcr_cassettes/WirecardMapper_Model_MongoMapper/with_missing_card_id/should_not_create_card.yml
154
+ - spec/fixtures/vcr_cassettes/WirecardMapper/should_get_payment_info.yml
155
+ - spec/fixtures/vcr_cassettes/WirecardMapper/_submit_payment/should_load_card.yml
156
+ - spec/fixtures/vcr_cassettes/WirecardMapper/_submit_payment/unload/should_unload_card.yml
157
+ - spec/fixtures/vcr_cassettes/WirecardMapper/_change_card_status/should_set_status.yml
158
+ - spec/fixtures/vcr_cassettes/WirecardMapper/_change_card_status/should_switch_status.yml
159
+ - spec/fixtures/vcr_cassettes/WirecardMapper/should_get_card_info.yml
160
+ - spec/fixtures/vcr_cassettes/WirecardMapper/should_create_card.yml
161
+ - spec/fixtures/vcr_cassettes/WirecardMapper/should_update_card_info.yml
162
+ - spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/_payment_info/should_get_info.yml
163
+ - spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/should_get_expiration_year.yml
164
+ - spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/load_amount/should_get_balance.yml
165
+ - spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/change_status/should_activate_card.yml
166
+ - spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/change_status/should_cancelled_card.yml
167
+ - spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/change_status/should_block_card.yml
168
+ - spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/unload_amount/should_unload_card_with_comment.yml
169
+ - spec/fixtures/vcr_cassettes/WirecardMapper_Model_Base/unload_amount/should_get_balance.yml
150
170
  - spec/fixtures/wirecard_server_down.xml
151
171
  - spec/fixtures/config/wirecardmapper.yml
152
172
  - spec/fixtures/create_card.xml
@@ -172,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
192
  version: '0'
173
193
  requirements: []
174
194
  rubyforge_project:
175
- rubygems_version: 1.8.23
195
+ rubygems_version: 1.8.24
176
196
  signing_key:
177
197
  specification_version: 3
178
198
  summary: A Ruby Object Mapper for Wirecard XML interface