mad_cart 0.0.5 → 0.0.6

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.
@@ -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