mad_cart 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,77 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://support%40madmimi.com:0ff0e3939f5f160f36047cf0caa6f699fe24bdeb@store-cr4wsh4.mybigcommerce.com/api/v2/products/count.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Thu, 21 Aug 2014 21:16:39 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ X-Bc-Apilimit-Remaining:
32
+ - '19969'
33
+ X-Bc-Store-Version:
34
+ - 7.6.0
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"count":45}'
38
+ http_version:
39
+ recorded_at: Thu, 21 Aug 2014 21:16:39 GMT
40
+ - request:
41
+ method: get
42
+ uri: https://support%40madmimi.com:0ff0e3939f5f160f36047cf0caa6f699fe24bdeb@store-cr4wsh4.mybigcommerce.com/api/v2/products/count.json
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"count":45}'
46
+ headers:
47
+ User-Agent:
48
+ - Faraday v0.9.0
49
+ Accept-Encoding:
50
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
51
+ Accept:
52
+ - "*/*"
53
+ response:
54
+ status:
55
+ code: 200
56
+ message: OK
57
+ headers:
58
+ Server:
59
+ - nginx
60
+ Date:
61
+ - Thu, 21 Aug 2014 21:16:41 GMT
62
+ Content-Type:
63
+ - application/json
64
+ Transfer-Encoding:
65
+ - chunked
66
+ Connection:
67
+ - keep-alive
68
+ X-Bc-Apilimit-Remaining:
69
+ - '19968'
70
+ X-Bc-Store-Version:
71
+ - 7.6.0
72
+ body:
73
+ encoding: UTF-8
74
+ string: '{"count":45}'
75
+ http_version:
76
+ recorded_at: Thu, 21 Aug 2014 21:16:41 GMT
77
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,80 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://support%40madmimi.com:0ff0e3939f5f160f36047cf0caa6f699fe24bdeb@store-cr4wsh4.mybigcommerce.com/api/v2/store.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Thu, 21 Aug 2014 21:52:06 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ X-Bc-Apilimit-Remaining:
32
+ - '19998'
33
+ X-Bc-Store-Version:
34
+ - 7.6.0
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"id":"cr4wsh4","domain":"mimi.mybigcommerce.com","name":"","address":"","phone":"","admin_email":"stuart@siyelo.com","order_email":"stuart@siyelo.com","language":"en","currency":"USD","currency_symbol":"$","decimal_separator":".","thousands_separator":",","decimal_places":2,"currency_symbol_location":"left","weight_units":"LBS","dimension_units":"Inches","dimension_decimal_places":"2","dimension_decimal_token":".","dimension_thousands_token":",","plan_name":"Partner
38
+ Sandbox","logo":[],"is_price_entered_with_tax":false,"active_comparison_modules":[]}'
39
+ http_version:
40
+ recorded_at: Thu, 21 Aug 2014 21:52:06 GMT
41
+ - request:
42
+ method: get
43
+ uri: https://support%40madmimi.com:0ff0e3939f5f160f36047cf0caa6f699fe24bdeb@store-cr4wsh4.mybigcommerce.com/api/v2/store.json
44
+ body:
45
+ encoding: UTF-8
46
+ string: '{"id":"cr4wsh4","domain":"mimi.mybigcommerce.com","name":"","address":"","phone":"","admin_email":"stuart@siyelo.com","order_email":"stuart@siyelo.com","language":"en","currency":"USD","currency_symbol":"$","decimal_separator":".","thousands_separator":",","decimal_places":2,"currency_symbol_location":"left","weight_units":"LBS","dimension_units":"Inches","dimension_decimal_places":"2","dimension_decimal_token":".","dimension_thousands_token":",","plan_name":"Partner
47
+ Sandbox","logo":[],"is_price_entered_with_tax":false,"active_comparison_modules":[]}'
48
+ headers:
49
+ User-Agent:
50
+ - Faraday v0.9.0
51
+ Accept-Encoding:
52
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
53
+ Accept:
54
+ - "*/*"
55
+ response:
56
+ status:
57
+ code: 200
58
+ message: OK
59
+ headers:
60
+ Server:
61
+ - nginx
62
+ Date:
63
+ - Thu, 21 Aug 2014 21:52:07 GMT
64
+ Content-Type:
65
+ - application/json
66
+ Transfer-Encoding:
67
+ - chunked
68
+ Connection:
69
+ - keep-alive
70
+ X-Bc-Apilimit-Remaining:
71
+ - '19997'
72
+ X-Bc-Store-Version:
73
+ - 7.6.0
74
+ body:
75
+ encoding: UTF-8
76
+ string: '{"id":"cr4wsh4","domain":"mimi.mybigcommerce.com","name":"","address":"","phone":"","admin_email":"stuart@siyelo.com","order_email":"stuart@siyelo.com","language":"en","currency":"USD","currency_symbol":"$","decimal_separator":".","thousands_separator":",","decimal_places":2,"currency_symbol_location":"left","weight_units":"LBS","dimension_units":"Inches","dimension_decimal_places":"2","dimension_decimal_token":".","dimension_thousands_token":",","plan_name":"Partner
77
+ Sandbox","logo":[],"is_price_entered_with_tax":false,"active_comparison_modules":[]}'
78
+ http_version:
79
+ recorded_at: Thu, 21 Aug 2014 21:52:07 GMT
80
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,77 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://support%40madmimi.com:0ff0e3939f5f160f36047cf0caa6f699fe24bdeb@store-cr4wsh4.mybigcommerce.com/api/v2/time.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Thu, 21 Aug 2014 21:18:40 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ X-Bc-Apilimit-Remaining:
32
+ - '19967'
33
+ X-Bc-Store-Version:
34
+ - 7.6.0
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"time":1408655920}'
38
+ http_version:
39
+ recorded_at: Thu, 21 Aug 2014 21:18:40 GMT
40
+ - request:
41
+ method: get
42
+ uri: https://support%40madmimi.com:0ff0e3939f5f160f36047cf0caa6f699fe24bdeb@store-cr4wsh4.mybigcommerce.com/api/v2/time.json
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"time":1408655920}'
46
+ headers:
47
+ User-Agent:
48
+ - Faraday v0.9.0
49
+ Accept-Encoding:
50
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
51
+ Accept:
52
+ - "*/*"
53
+ response:
54
+ status:
55
+ code: 200
56
+ message: OK
57
+ headers:
58
+ Server:
59
+ - nginx
60
+ Date:
61
+ - Thu, 21 Aug 2014 21:18:42 GMT
62
+ Content-Type:
63
+ - application/json
64
+ Transfer-Encoding:
65
+ - chunked
66
+ Connection:
67
+ - keep-alive
68
+ X-Bc-Apilimit-Remaining:
69
+ - '19966'
70
+ X-Bc-Store-Version:
71
+ - 7.6.0
72
+ body:
73
+ encoding: UTF-8
74
+ string: '{"time":1408655922}'
75
+ http_version:
76
+ recorded_at: Thu, 21 Aug 2014 21:18:42 GMT
77
+ recorded_with: VCR 2.5.0
@@ -2,10 +2,12 @@ require "spec_helper"
2
2
 
3
3
  describe MadCart::Store::BigCommerce do
4
4
 
5
+ subject { MadCart::Store::BigCommerce.new(valid_credentials) }
6
+
5
7
  let(:valid_credentials) {
6
8
  { :api_key => '0ff0e3939f5f160f36047cf0caa6f699fe24bdeb',
7
9
  :store_url => 'store-cr4wsh4.mybigcommerce.com',
8
- :username => 'admin' }
10
+ :username => 'support@madmimi.com' }
9
11
  }
10
12
 
11
13
  describe "store" do
@@ -30,14 +32,12 @@ describe MadCart::Store::BigCommerce do
30
32
 
31
33
  context "retrieval" do
32
34
 
33
- it "returns all products" do
34
- VCR.use_cassette('big_commerce') do
35
- api = MadCart::Store::BigCommerce.new(valid_credentials)
36
-
37
- api.products.size.should == 45
38
-
39
- first_product = api.products.first
35
+ it "returns products" do
36
+ VCR.use_cassette('big_commerce_products') do
37
+ products = subject.products(limit: 10)
38
+ products.size.should == 10
40
39
 
40
+ first_product = products.first
41
41
  first_product.should be_a(MadCart::Model::Product)
42
42
  first_product.name.should_not be_nil
43
43
  first_product.description.should_not be_nil
@@ -47,8 +47,7 @@ describe MadCart::Store::BigCommerce do
47
47
 
48
48
  it "returns an empty array when there are no products" do
49
49
  VCR.use_cassette('big_commerce_no_records') do
50
- api = MadCart::Store::BigCommerce.new(valid_credentials)
51
- api.products.should == []
50
+ subject.products.should == []
52
51
  end
53
52
  end
54
53
 
@@ -57,9 +56,8 @@ describe MadCart::Store::BigCommerce do
57
56
  context "count" do
58
57
 
59
58
  it "returns how many products there are" do
60
- VCR.use_cassette('big_commerce') do
61
- api = MadCart::Store::BigCommerce.new(valid_credentials)
62
- api.products_count.should == 45
59
+ VCR.use_cassette('big_commerce_products_count') do
60
+ subject.products_count.should == 45
63
61
  end
64
62
  end
65
63
 
@@ -71,47 +69,53 @@ describe MadCart::Store::BigCommerce do
71
69
  context "retrieval" do
72
70
 
73
71
  it "returns all customers" do
74
- VCR.use_cassette('big_commerce') do
75
- api = MadCart::Store::BigCommerce.new(valid_credentials)
72
+ VCR.use_cassette('big_commerce_customers') do
73
+ customers = subject.customers
76
74
 
77
- api.customers.size.should be > 0
78
- api.customers.first.should be_a(MadCart::Model::Customer)
75
+ customers.size.should be > 0
76
+ customers.first.should be_a(MadCart::Model::Customer)
79
77
  end
80
78
  end
81
79
 
82
80
  it "returns an empty array whern there are no customers" do
83
81
  VCR.use_cassette('big_commerce_no_records') do
84
- api = MadCart::Store::BigCommerce.new(valid_credentials)
85
-
86
- api.customers.should eql([])
82
+ subject.customers.should eql([])
87
83
  end
88
84
  end
89
85
 
90
86
  end
87
+ end
91
88
 
92
- describe "validating credentials" do
93
-
94
- it "succeeds if it can get time.json from big commerce" do
95
- VCR.use_cassette('big_commerce') do
96
- api = MadCart::Store::BigCommerce.new(valid_credentials)
97
-
98
- api.should be_valid
89
+ describe "store" do
90
+ context "retrieval" do
91
+ it "returns the store" do
92
+ VCR.use_cassette('big_commerce_store') do
93
+ subject.store.should_not be_nil
99
94
  end
100
95
  end
96
+ end
97
+ end
101
98
 
102
- it "fails if it cannot get time.json from big commerce" do
103
- VCR.use_cassette('big_commerce') do
104
- api = MadCart::Store::BigCommerce.new(
105
- :api_key => 'an-invalid-key',
106
- :store_url => 'store-cr4wsh4.mybigcommerce.com',
107
- :username => 'admin'
108
- )
99
+ describe "validating credentials" do
109
100
 
110
- api.should_not be_valid
111
- end
101
+ it "succeeds if it can get time.json from big commerce" do
102
+ VCR.use_cassette('big_commerce_time') do
103
+ subject.should be_valid
112
104
  end
105
+ end
106
+
107
+ it "fails if it cannot get time.json from big commerce" do
108
+ VCR.use_cassette('big_commerce_invalid_key') do
109
+ api = MadCart::Store::BigCommerce.new(
110
+ :api_key => 'an-invalid-key',
111
+ :store_url => 'store-cr4wsh4.mybigcommerce.com',
112
+ :username => 'support@madmimi.com'
113
+ )
113
114
 
115
+ api.should_not be_valid
116
+ end
114
117
  end
118
+
115
119
  end
116
120
 
117
121
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mad_cart
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marc Heiligers
@@ -10,34 +10,34 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-08-11 00:00:00.000000000 Z
13
+ date: 2014-09-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: faraday
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - ! '>='
19
+ - - ">="
20
20
  - !ruby/object:Gem::Version
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - ! '>='
26
+ - - ">="
27
27
  - !ruby/object:Gem::Version
28
28
  version: '0'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: faraday_middleware
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - ! '>='
33
+ - - ">="
34
34
  - !ruby/object:Gem::Version
35
35
  version: '0'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ! '>='
40
+ - - ">="
41
41
  - !ruby/object:Gem::Version
42
42
  version: '0'
43
43
  - !ruby/object:Gem::Dependency
@@ -86,70 +86,70 @@ dependencies:
86
86
  name: activesupport
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - ~>
89
+ - - "~>"
90
90
  - !ruby/object:Gem::Version
91
91
  version: '3.2'
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - ~>
96
+ - - "~>"
97
97
  - !ruby/object:Gem::Version
98
98
  version: '3.2'
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: bundler
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - ~>
103
+ - - "~>"
104
104
  - !ruby/object:Gem::Version
105
105
  version: '1.3'
106
106
  type: :development
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
- - - ~>
110
+ - - "~>"
111
111
  - !ruby/object:Gem::Version
112
112
  version: '1.3'
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: rake
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - ! '>='
117
+ - - ">="
118
118
  - !ruby/object:Gem::Version
119
119
  version: '0'
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - ! '>='
124
+ - - ">="
125
125
  - !ruby/object:Gem::Version
126
126
  version: '0'
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: json
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - ~>
131
+ - - "~>"
132
132
  - !ruby/object:Gem::Version
133
133
  version: 1.7.7
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
- - - ~>
138
+ - - "~>"
139
139
  - !ruby/object:Gem::Version
140
140
  version: 1.7.7
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: rspec
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
- - - ! '>='
145
+ - - ">="
146
146
  - !ruby/object:Gem::Version
147
147
  version: '0'
148
148
  type: :development
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
- - - ! '>='
152
+ - - ">="
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
155
  - !ruby/object:Gem::Dependency
@@ -170,28 +170,28 @@ dependencies:
170
170
  name: webmock
171
171
  requirement: !ruby/object:Gem::Requirement
172
172
  requirements:
173
- - - ~>
173
+ - - "~>"
174
174
  - !ruby/object:Gem::Version
175
175
  version: 1.11.0
176
176
  type: :development
177
177
  prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
- - - ~>
180
+ - - "~>"
181
181
  - !ruby/object:Gem::Version
182
182
  version: 1.11.0
183
183
  - !ruby/object:Gem::Dependency
184
184
  name: simplecov
185
185
  requirement: !ruby/object:Gem::Requirement
186
186
  requirements:
187
- - - ! '>='
187
+ - - ">="
188
188
  - !ruby/object:Gem::Version
189
189
  version: '0'
190
190
  type: :development
191
191
  prerelease: false
192
192
  version_requirements: !ruby/object:Gem::Requirement
193
193
  requirements:
194
- - - ! '>='
194
+ - - ">="
195
195
  - !ruby/object:Gem::Version
196
196
  version: '0'
197
197
  description: Provides a unified api for various e-commerce merchants.
@@ -201,8 +201,8 @@ executables: []
201
201
  extensions: []
202
202
  extra_rdoc_files: []
203
203
  files:
204
- - .gitignore
205
- - .rspec
204
+ - ".gitignore"
205
+ - ".rspec"
206
206
  - Gemfile
207
207
  - LICENSE.txt
208
208
  - README.md
@@ -214,14 +214,20 @@ files:
214
214
  - lib/mad_cart/model/base.rb
215
215
  - lib/mad_cart/model/customer.rb
216
216
  - lib/mad_cart/model/product.rb
217
+ - lib/mad_cart/model/store.rb
217
218
  - lib/mad_cart/store/base.rb
218
219
  - lib/mad_cart/store/big_commerce.rb
219
220
  - lib/mad_cart/store/etsy.rb
220
221
  - lib/mad_cart/store/spree.rb
221
222
  - lib/mad_cart/version.rb
222
223
  - mad_cart.gemspec
223
- - spec/fixtures/vcr_cassettes/big_commerce.yml
224
+ - spec/fixtures/vcr_cassettes/big_commerce_customers.yml
225
+ - spec/fixtures/vcr_cassettes/big_commerce_invalid_key.yml
224
226
  - spec/fixtures/vcr_cassettes/big_commerce_no_records.yml
227
+ - spec/fixtures/vcr_cassettes/big_commerce_products.yml
228
+ - spec/fixtures/vcr_cassettes/big_commerce_products_count.yml
229
+ - spec/fixtures/vcr_cassettes/big_commerce_store.yml
230
+ - spec/fixtures/vcr_cassettes/big_commerce_time.yml
225
231
  - spec/fixtures/vcr_cassettes/etsy_store_does_not_exist.yml
226
232
  - spec/fixtures/vcr_cassettes/etsy_store_listings.yml
227
233
  - spec/fixtures/vcr_cassettes/spree.yml
@@ -247,12 +253,12 @@ require_paths:
247
253
  - lib
248
254
  required_ruby_version: !ruby/object:Gem::Requirement
249
255
  requirements:
250
- - - ! '>='
256
+ - - ">="
251
257
  - !ruby/object:Gem::Version
252
258
  version: '0'
253
259
  required_rubygems_version: !ruby/object:Gem::Requirement
254
260
  requirements:
255
- - - ! '>='
261
+ - - ">="
256
262
  - !ruby/object:Gem::Version
257
263
  version: '0'
258
264
  requirements: []
@@ -264,8 +270,13 @@ summary: Allows communication with various e-commerce merchants such as BigComme
264
270
  and Etsy through a single gem. Extensible to allow the easy addition of merchants
265
271
  and functionality.
266
272
  test_files:
267
- - spec/fixtures/vcr_cassettes/big_commerce.yml
273
+ - spec/fixtures/vcr_cassettes/big_commerce_customers.yml
274
+ - spec/fixtures/vcr_cassettes/big_commerce_invalid_key.yml
268
275
  - spec/fixtures/vcr_cassettes/big_commerce_no_records.yml
276
+ - spec/fixtures/vcr_cassettes/big_commerce_products.yml
277
+ - spec/fixtures/vcr_cassettes/big_commerce_products_count.yml
278
+ - spec/fixtures/vcr_cassettes/big_commerce_store.yml
279
+ - spec/fixtures/vcr_cassettes/big_commerce_time.yml
269
280
  - spec/fixtures/vcr_cassettes/etsy_store_does_not_exist.yml
270
281
  - spec/fixtures/vcr_cassettes/etsy_store_listings.yml
271
282
  - spec/fixtures/vcr_cassettes/spree.yml