ecommerce-client 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +5 -0
- data/lib/ecommerce.rb +2 -0
- data/lib/ecommerce/resources/adjustment_order.rb +83 -0
- data/lib/ecommerce/resources/adjustment_order_collection.rb +16 -0
- data/lib/ecommerce/resources/collection.rb +1 -1
- data/lib/ecommerce/version.rb +1 -1
- data/spec/ecommerce/resources/adjustment_order_spec.rb +89 -0
- data/spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_create_when_success_returns_adjustment_created_body.yml +55 -0
- data/spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_create_when_success_when_sending_not_all_required_paramete.yml +48 -0
- data/spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_destroy_when_not_found_raises_NotFound.yml +46 -0
- data/spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_destroy_when_success_returns_empty_body.yml +48 -0
- data/spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_all_when_not_found_raises_NotFound.yml +46 -0
- data/spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_all_when_not_found_raises_RequestError.yml +46 -0
- data/spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_all_when_success_returns_a_find_all_of_orders.yml +51 -0
- data/spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_when_not_found_raises_NotFound.yml +46 -0
- data/spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_when_success_returns_adjustment_order_object.yml +51 -0
- metadata +26 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 204da90ba7c5da8ab04eb60727a4c5d5c86b3bec
|
4
|
+
data.tar.gz: 2c4185dab926feb7e8aeada58f3ee2250b9566fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 894275f5c25b90ce78069a020e66a371dd5f6778ac67492cfab64421364769c00c318e9a1060edd8e31783bd18c468a4d9cb7ae1a313a4d4e070ffe90e39c95e
|
7
|
+
data.tar.gz: e587c033871af88b35858826d58c7add8af976875ac1a73f426f52f535f52bdb87aa4ba2e1284b73f4e9cdba4816eb37bf8cfd3c0d88dd748107f575ed8fcff8
|
data/.travis.yml
ADDED
data/lib/ecommerce.rb
CHANGED
@@ -14,6 +14,8 @@ require "ecommerce/resources/order_collection"
|
|
14
14
|
require "ecommerce/resources/invoice_order"
|
15
15
|
require "ecommerce/resources/invoice_order_collection"
|
16
16
|
require "ecommerce/resources/invoice_plan"
|
17
|
+
require "ecommerce/resources/adjustment_order"
|
18
|
+
require "ecommerce/resources/adjustment_order_collection"
|
17
19
|
|
18
20
|
module Ecommerce
|
19
21
|
def self.configuration
|
@@ -0,0 +1,83 @@
|
|
1
|
+
module Ecommerce
|
2
|
+
module Resources
|
3
|
+
#
|
4
|
+
# A wrapper to Ecommerce adjusments orders API
|
5
|
+
#
|
6
|
+
# [API]
|
7
|
+
# Documentation: http://myfreecomm.github.io/passaporte-web/ecommerce/api/index.html
|
8
|
+
#
|
9
|
+
class AdjustmentOrder < Base
|
10
|
+
attr_reader :url, :amount, :description, :valid_until, :valid_from
|
11
|
+
|
12
|
+
#
|
13
|
+
# Adjustment order API does not return the ID field
|
14
|
+
#
|
15
|
+
def id
|
16
|
+
url.split('/')[8].to_i
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# Creates an Adjustment order
|
21
|
+
#
|
22
|
+
# [API]
|
23
|
+
# Method: <tt>POST /api/orders/:slug/:id/adjustments/</tt>
|
24
|
+
#
|
25
|
+
# Documentation: http://myfreecomm.github.io/passaporte-web/ecommerce/api/orders.html#criacao-de-alteracao-de-valor-para-uma-ordem-de-compra
|
26
|
+
#
|
27
|
+
def self.create(slug, order_id, params)
|
28
|
+
client.post("/api/orders/#{slug}/#{order_id}/adjustments/", body: params) do |response|
|
29
|
+
build(response)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
#
|
34
|
+
# Lists all Adjustments orders of an order and return a collection
|
35
|
+
# and pagination information (represented by Ecommerce::Resources::AdjustmentOrderCollection)
|
36
|
+
#
|
37
|
+
# [API]
|
38
|
+
# Method: <tt>GET /api/orders/:slug/adjustments/</tt>
|
39
|
+
#
|
40
|
+
# Documentation: http://myfreecomm.github.io/passaporte-web/ecommerce/api/orders.html#listagem-das-alteracoes-de-valor-associadas-a-uma-ordem-de-compra
|
41
|
+
#
|
42
|
+
def self.find_all(slug, order_id, page = 1, limit = 20)
|
43
|
+
body = { page: page, limit: limit }
|
44
|
+
client.get("/api/orders/#{slug}/#{order_id}/adjustments/", body: body) do |response|
|
45
|
+
Ecommerce::Resources::AdjustmentOrderCollection.build(response)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
#
|
50
|
+
# Finds an Adjustment order
|
51
|
+
#
|
52
|
+
# [API]
|
53
|
+
# Method: <tt>GET /api/orders/:slug/:order_id/adjustments/:id/</tt>
|
54
|
+
#
|
55
|
+
# Documentation: http://myfreecomm.github.io/passaporte-web/ecommerce/api/orders.html#obtencao-dos-dados-de-uma-alteracao-de-valor
|
56
|
+
#
|
57
|
+
def self.find(slug, order_id, id)
|
58
|
+
client.get("/api/orders/#{slug}/#{order_id}/adjustments/#{id}/") do |response|
|
59
|
+
build(response)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
#
|
64
|
+
# Destroys an Adjustment order
|
65
|
+
#
|
66
|
+
# [API]
|
67
|
+
# Method: <tt>DELETE /api/orders/:slug/:order_id/adjustments/:id/</tt>
|
68
|
+
#
|
69
|
+
# Documentation: http://myfreecomm.github.io/passaporte-web/ecommerce/api/orders.html#remocao-de-uma-alteracao-de-valor
|
70
|
+
#
|
71
|
+
def self.destroy(order_id, slug, id)
|
72
|
+
client.delete("/api/orders/#{slug}/#{order_id}/adjustments/#{id}/") do |response|
|
73
|
+
build(response)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def self.build(response)
|
78
|
+
attributes = parsed_body(response)
|
79
|
+
attributes.empty? ? {} : new(attributes)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Ecommerce
|
2
|
+
module Resources
|
3
|
+
#
|
4
|
+
# A wrapper to Ecommerce adjustments orders API.
|
5
|
+
#
|
6
|
+
class AdjustmentOrderCollection < Collection
|
7
|
+
private
|
8
|
+
|
9
|
+
def build_collection
|
10
|
+
Ecommerce::Resources::Base.parsed_body(response).each do |adjustment_order_attributes|
|
11
|
+
collection.push(Ecommerce::Resources::AdjustmentOrder.new(adjustment_order_attributes))
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/ecommerce/version.rb
CHANGED
@@ -0,0 +1,89 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Ecommerce::Resources::AdjustmentOrder do
|
4
|
+
describe '.create', vcr: true do
|
5
|
+
let(:params) { { amount: 50.60, description: 'New promotion', valid_from: '2015-05-27', valid_until: '2015-06-27' } }
|
6
|
+
subject { described_class.create('rexpense-custom-monthly-brl-5250', 3001, params) }
|
7
|
+
|
8
|
+
context 'when success' do
|
9
|
+
it 'returns adjustment created body' do
|
10
|
+
expect(subject.amount).to eq(50.6)
|
11
|
+
expect(subject.description).to eq('New promotion')
|
12
|
+
expect(subject.valid_from).to eq(Date.new(2015, 5, 27))
|
13
|
+
expect(subject.valid_until).to eq(Date.new(2015, 6, 27))
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'when sending not all required parameters' do
|
17
|
+
before { params.delete(:amount) }
|
18
|
+
|
19
|
+
it 'raises error RequestError' do
|
20
|
+
expect{subject}.to raise_error(Ecommerce::RequestError)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe '.find_all', vcr: true do
|
27
|
+
context 'when success' do
|
28
|
+
subject { described_class.find_all('rexpense-custom-monthly-brl-5250', 3001) }
|
29
|
+
|
30
|
+
it 'returns a find_all of orders' do
|
31
|
+
expect(subject.class).to eq(Ecommerce::Resources::AdjustmentOrderCollection)
|
32
|
+
expect(subject.collection.first.description).to eq('New promotion')
|
33
|
+
expect(subject.collection.first.url).to eq('http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/201/')
|
34
|
+
expect(subject.collection.first.amount).to eq(50.6)
|
35
|
+
expect(subject.collection.first.class).to eq(Ecommerce::Resources::AdjustmentOrder)
|
36
|
+
expect(subject.collection.count).to eq(1)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'when not found' do
|
41
|
+
subject { described_class.find_all('wrong-slug', 3001) }
|
42
|
+
|
43
|
+
it 'raises RequestError' do
|
44
|
+
expect{ subject }.to raise_error(Ecommerce::RequestError)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe '.find', vcr: true do
|
50
|
+
context 'when success' do
|
51
|
+
subject { described_class.find('rexpense-custom-monthly-brl-5250', 3001, 201) }
|
52
|
+
|
53
|
+
it 'returns adjustment order object' do
|
54
|
+
expect(subject.amount).to eq(50.6)
|
55
|
+
expect(subject.description).to eq('New promotion')
|
56
|
+
expect(subject.valid_from).to eq(Date.new(2015, 5, 27))
|
57
|
+
expect(subject.valid_until).to eq(Date.new(2015, 6, 27))
|
58
|
+
expect(subject.url).to eq('http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/201/')
|
59
|
+
expect(subject.id).to eq(201)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'when not found' do
|
64
|
+
subject { described_class.find('wrong-slug', 3001, 201) }
|
65
|
+
|
66
|
+
it 'raises NotFound' do
|
67
|
+
expect{ subject }.to raise_error(Ecommerce::RequestError)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe '.destroy', vcr: true do
|
73
|
+
context 'when success' do
|
74
|
+
subject { described_class.destroy(3001, 'rexpense-custom-monthly-brl-5250', 201) }
|
75
|
+
|
76
|
+
it 'returns empty body' do
|
77
|
+
expect(subject).to be_empty
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
context 'when not found' do
|
82
|
+
subject { described_class.destroy(3001, 'wrong-slug', 201) }
|
83
|
+
|
84
|
+
it 'raises NotFound' do
|
85
|
+
expect{ subject }.to raise_error(Ecommerce::RequestError)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"amount":50.6,"description":"New promotion","valid_from":"2015-05-27","valid_until":"2015-06-27"}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Ecommerce Ruby Client v0.0.3
|
12
|
+
Accept:
|
13
|
+
- application/json
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Authorization:
|
17
|
+
- Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 201
|
21
|
+
message: CREATED
|
22
|
+
headers:
|
23
|
+
Allow:
|
24
|
+
- GET, POST, HEAD, OPTIONS
|
25
|
+
Cache-Control:
|
26
|
+
- no-cache
|
27
|
+
Cache-Timeout:
|
28
|
+
- "-1"
|
29
|
+
Content-Language:
|
30
|
+
- pt-br
|
31
|
+
Content-Type:
|
32
|
+
- application/json
|
33
|
+
Date:
|
34
|
+
- Wed, 27 May 2015 15:10:04 GMT
|
35
|
+
Expires:
|
36
|
+
- Wed, 27 May 2015 12:10:04
|
37
|
+
Server:
|
38
|
+
- nginx/1.8.0
|
39
|
+
Vary:
|
40
|
+
- Authenticate, Accept, Accept-Language, Cookie
|
41
|
+
Content-Length:
|
42
|
+
- '376'
|
43
|
+
Connection:
|
44
|
+
- keep-alive
|
45
|
+
body:
|
46
|
+
encoding: UTF-8
|
47
|
+
string: '{"valid_until": "2015-06-27", "redeemed_amount": 0, "valid_from": "2015-05-27",
|
48
|
+
"description": "New promotion", "url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/201/",
|
49
|
+
"amount": "50.6", "order_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/",
|
50
|
+
"redemptions": []}'
|
51
|
+
http_version: '1.1'
|
52
|
+
adapter_metadata:
|
53
|
+
effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/
|
54
|
+
recorded_at: Wed, 27 May 2015 15:10:05 GMT
|
55
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,48 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"description":"New promotion","valid_from":"2015-05-27","valid_until":"2015-06-27"}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Ecommerce Ruby Client v0.0.3
|
12
|
+
Accept:
|
13
|
+
- application/json
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Authorization:
|
17
|
+
- Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 400
|
21
|
+
message: BAD REQUEST
|
22
|
+
headers:
|
23
|
+
Allow:
|
24
|
+
- GET, POST, HEAD, OPTIONS
|
25
|
+
Content-Language:
|
26
|
+
- pt-br
|
27
|
+
Content-Type:
|
28
|
+
- application/json
|
29
|
+
Date:
|
30
|
+
- Wed, 27 May 2015 15:10:44 GMT
|
31
|
+
ETag:
|
32
|
+
- '"2791279433870516591"'
|
33
|
+
Server:
|
34
|
+
- nginx/1.8.0
|
35
|
+
Vary:
|
36
|
+
- Authenticate, Accept, Accept-Language, Cookie
|
37
|
+
Content-Length:
|
38
|
+
- '69'
|
39
|
+
Connection:
|
40
|
+
- keep-alive
|
41
|
+
body:
|
42
|
+
encoding: UTF-8
|
43
|
+
string: '{"field_errors": {"amount": ["Este campo \u00e9 obrigat\u00f3rio."]}}'
|
44
|
+
http_version: '1.1'
|
45
|
+
adapter_metadata:
|
46
|
+
effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/
|
47
|
+
recorded_at: Wed, 27 May 2015 15:10:44 GMT
|
48
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: delete
|
5
|
+
uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/3001/adjustments/201/
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Ecommerce Ruby Client v0.0.3
|
12
|
+
Accept:
|
13
|
+
- application/json
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Authorization:
|
17
|
+
- Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 404
|
21
|
+
message: NOT FOUND
|
22
|
+
headers:
|
23
|
+
Allow:
|
24
|
+
- GET, DELETE, HEAD, OPTIONS
|
25
|
+
Content-Language:
|
26
|
+
- pt-br
|
27
|
+
Content-Type:
|
28
|
+
- application/json
|
29
|
+
Date:
|
30
|
+
- Wed, 27 May 2015 15:36:06 GMT
|
31
|
+
Server:
|
32
|
+
- nginx/1.8.0
|
33
|
+
Vary:
|
34
|
+
- Authenticate, Accept, Accept-Language, Cookie
|
35
|
+
Content-Length:
|
36
|
+
- '0'
|
37
|
+
Connection:
|
38
|
+
- keep-alive
|
39
|
+
body:
|
40
|
+
encoding: UTF-8
|
41
|
+
string: ''
|
42
|
+
http_version: '1.1'
|
43
|
+
adapter_metadata:
|
44
|
+
effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/3001/adjustments/201/
|
45
|
+
recorded_at: Wed, 27 May 2015 15:36:06 GMT
|
46
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,48 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: delete
|
5
|
+
uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/201/
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Ecommerce Ruby Client v0.0.3
|
12
|
+
Accept:
|
13
|
+
- application/json
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Authorization:
|
17
|
+
- Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 204
|
21
|
+
message: NO CONTENT
|
22
|
+
headers:
|
23
|
+
Allow:
|
24
|
+
- GET, DELETE, HEAD, OPTIONS
|
25
|
+
Content-Language:
|
26
|
+
- pt-br
|
27
|
+
Content-Length:
|
28
|
+
- '0'
|
29
|
+
Content-Type:
|
30
|
+
- application/json
|
31
|
+
Date:
|
32
|
+
- Wed, 27 May 2015 15:36:04 GMT
|
33
|
+
ETag:
|
34
|
+
- '"-4645357772151842967"'
|
35
|
+
Server:
|
36
|
+
- nginx/1.8.0
|
37
|
+
Vary:
|
38
|
+
- Authenticate, Accept, Accept-Language, Cookie
|
39
|
+
Connection:
|
40
|
+
- keep-alive
|
41
|
+
body:
|
42
|
+
encoding: UTF-8
|
43
|
+
string: ''
|
44
|
+
http_version: '1.1'
|
45
|
+
adapter_metadata:
|
46
|
+
effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/201/
|
47
|
+
recorded_at: Wed, 27 May 2015 15:36:05 GMT
|
48
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/3001/adjustments/
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"page":1,"limit":20}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Ecommerce Ruby Client v0.0.3
|
12
|
+
Accept:
|
13
|
+
- application/json
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Authorization:
|
17
|
+
- Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 404
|
21
|
+
message: NOT FOUND
|
22
|
+
headers:
|
23
|
+
Allow:
|
24
|
+
- GET, POST, HEAD, OPTIONS
|
25
|
+
Content-Language:
|
26
|
+
- pt-br
|
27
|
+
Content-Type:
|
28
|
+
- application/json
|
29
|
+
Date:
|
30
|
+
- Wed, 27 May 2015 15:20:58 GMT
|
31
|
+
Server:
|
32
|
+
- nginx/1.8.0
|
33
|
+
Vary:
|
34
|
+
- Authenticate, Accept, Accept-Language, Cookie
|
35
|
+
Content-Length:
|
36
|
+
- '0'
|
37
|
+
Connection:
|
38
|
+
- keep-alive
|
39
|
+
body:
|
40
|
+
encoding: UTF-8
|
41
|
+
string: ''
|
42
|
+
http_version: '1.1'
|
43
|
+
adapter_metadata:
|
44
|
+
effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/3001/adjustments/
|
45
|
+
recorded_at: Wed, 27 May 2015 15:20:58 GMT
|
46
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/3001/adjustments/
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"page":1,"limit":20}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Ecommerce Ruby Client v0.0.3
|
12
|
+
Accept:
|
13
|
+
- application/json
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Authorization:
|
17
|
+
- Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 404
|
21
|
+
message: NOT FOUND
|
22
|
+
headers:
|
23
|
+
Allow:
|
24
|
+
- GET, POST, HEAD, OPTIONS
|
25
|
+
Content-Language:
|
26
|
+
- pt-br
|
27
|
+
Content-Type:
|
28
|
+
- application/json
|
29
|
+
Date:
|
30
|
+
- Wed, 27 May 2015 15:21:04 GMT
|
31
|
+
Server:
|
32
|
+
- nginx/1.8.0
|
33
|
+
Vary:
|
34
|
+
- Authenticate, Accept, Accept-Language, Cookie
|
35
|
+
Content-Length:
|
36
|
+
- '0'
|
37
|
+
Connection:
|
38
|
+
- keep-alive
|
39
|
+
body:
|
40
|
+
encoding: UTF-8
|
41
|
+
string: ''
|
42
|
+
http_version: '1.1'
|
43
|
+
adapter_metadata:
|
44
|
+
effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/3001/adjustments/
|
45
|
+
recorded_at: Wed, 27 May 2015 15:21:04 GMT
|
46
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,51 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"page":1,"limit":20}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Ecommerce Ruby Client v0.0.3
|
12
|
+
Accept:
|
13
|
+
- application/json
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Authorization:
|
17
|
+
- Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Allow:
|
24
|
+
- GET, POST, HEAD, OPTIONS
|
25
|
+
Content-Language:
|
26
|
+
- pt-br
|
27
|
+
Content-Type:
|
28
|
+
- application/json
|
29
|
+
Date:
|
30
|
+
- Wed, 27 May 2015 15:18:23 GMT
|
31
|
+
ETag:
|
32
|
+
- '"2791279433870516591"'
|
33
|
+
Server:
|
34
|
+
- nginx/1.8.0
|
35
|
+
Vary:
|
36
|
+
- Authenticate, Accept, Accept-Language, Cookie
|
37
|
+
Content-Length:
|
38
|
+
- '379'
|
39
|
+
Connection:
|
40
|
+
- keep-alive
|
41
|
+
body:
|
42
|
+
encoding: UTF-8
|
43
|
+
string: '[{"valid_until": "2015-06-27", "redeemed_amount": 0, "valid_from":
|
44
|
+
"2015-05-27", "description": "New promotion", "url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/201/",
|
45
|
+
"amount": "50.60", "order_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/",
|
46
|
+
"redemptions": []}]'
|
47
|
+
http_version: '1.1'
|
48
|
+
adapter_metadata:
|
49
|
+
effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/
|
50
|
+
recorded_at: Wed, 27 May 2015 15:18:23 GMT
|
51
|
+
recorded_with: VCR 2.9.3
|
data/spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_when_not_found_raises_NotFound.yml
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/3001/adjustments/201/
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Ecommerce Ruby Client v0.0.3
|
12
|
+
Accept:
|
13
|
+
- application/json
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Authorization:
|
17
|
+
- Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 404
|
21
|
+
message: NOT FOUND
|
22
|
+
headers:
|
23
|
+
Allow:
|
24
|
+
- GET, DELETE, HEAD, OPTIONS
|
25
|
+
Content-Language:
|
26
|
+
- pt-br
|
27
|
+
Content-Type:
|
28
|
+
- application/json
|
29
|
+
Date:
|
30
|
+
- Wed, 27 May 2015 15:30:22 GMT
|
31
|
+
Server:
|
32
|
+
- nginx/1.8.0
|
33
|
+
Vary:
|
34
|
+
- Authenticate, Accept, Accept-Language, Cookie
|
35
|
+
Content-Length:
|
36
|
+
- '0'
|
37
|
+
Connection:
|
38
|
+
- keep-alive
|
39
|
+
body:
|
40
|
+
encoding: UTF-8
|
41
|
+
string: ''
|
42
|
+
http_version: '1.1'
|
43
|
+
adapter_metadata:
|
44
|
+
effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/3001/adjustments/201/
|
45
|
+
recorded_at: Wed, 27 May 2015 15:30:23 GMT
|
46
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,51 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/201/
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Ecommerce Ruby Client v0.0.3
|
12
|
+
Accept:
|
13
|
+
- application/json
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Authorization:
|
17
|
+
- Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Allow:
|
24
|
+
- GET, DELETE, HEAD, OPTIONS
|
25
|
+
Content-Language:
|
26
|
+
- pt-br
|
27
|
+
Content-Type:
|
28
|
+
- application/json
|
29
|
+
Date:
|
30
|
+
- Wed, 27 May 2015 15:30:21 GMT
|
31
|
+
ETag:
|
32
|
+
- '"-4645357772151842967"'
|
33
|
+
Server:
|
34
|
+
- nginx/1.8.0
|
35
|
+
Vary:
|
36
|
+
- Authenticate, Accept, Accept-Language, Cookie
|
37
|
+
Content-Length:
|
38
|
+
- '377'
|
39
|
+
Connection:
|
40
|
+
- keep-alive
|
41
|
+
body:
|
42
|
+
encoding: UTF-8
|
43
|
+
string: '{"valid_until": "2015-06-27", "redeemed_amount": 0, "valid_from": "2015-05-27",
|
44
|
+
"description": "New promotion", "url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/201/",
|
45
|
+
"amount": "50.60", "order_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/",
|
46
|
+
"redemptions": []}'
|
47
|
+
http_version: '1.1'
|
48
|
+
adapter_metadata:
|
49
|
+
effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/3001/adjustments/201/
|
50
|
+
recorded_at: Wed, 27 May 2015 15:30:21 GMT
|
51
|
+
recorded_with: VCR 2.9.3
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ecommerce-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rafael B. Tauil
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-
|
13
|
+
date: 2015-05-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: typhoeus
|
@@ -136,6 +136,7 @@ extra_rdoc_files: []
|
|
136
136
|
files:
|
137
137
|
- ".gitignore"
|
138
138
|
- ".rspec"
|
139
|
+
- ".travis.yml"
|
139
140
|
- Gemfile
|
140
141
|
- LICENSE.txt
|
141
142
|
- README.md
|
@@ -148,6 +149,8 @@ files:
|
|
148
149
|
- lib/ecommerce/exception.rb
|
149
150
|
- lib/ecommerce/request.rb
|
150
151
|
- lib/ecommerce/resources/account_order.rb
|
152
|
+
- lib/ecommerce/resources/adjustment_order.rb
|
153
|
+
- lib/ecommerce/resources/adjustment_order_collection.rb
|
151
154
|
- lib/ecommerce/resources/base.rb
|
152
155
|
- lib/ecommerce/resources/collection.rb
|
153
156
|
- lib/ecommerce/resources/invoice_order.rb
|
@@ -162,6 +165,7 @@ files:
|
|
162
165
|
- spec/ecommerce/configuration_spec.rb
|
163
166
|
- spec/ecommerce/request_spec.rb
|
164
167
|
- spec/ecommerce/resources/account_order_spec.rb
|
168
|
+
- spec/ecommerce/resources/adjustment_order_spec.rb
|
165
169
|
- spec/ecommerce/resources/collection_spec.rb
|
166
170
|
- spec/ecommerce/resources/invoice_order_collection_spec.rb
|
167
171
|
- spec/ecommerce/resources/invoice_order_spec.rb
|
@@ -174,6 +178,15 @@ files:
|
|
174
178
|
- spec/support/vcr.rb
|
175
179
|
- spec/vcr_cassettes/Ecommerce/Resources_AccountOrder_find_all_when_not_found_raises_NotFound.yml
|
176
180
|
- spec/vcr_cassettes/Ecommerce/Resources_AccountOrder_find_all_when_success_returns_a_find_all_of_orders.yml
|
181
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_create_when_success_returns_adjustment_created_body.yml
|
182
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_create_when_success_when_sending_not_all_required_paramete.yml
|
183
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_destroy_when_not_found_raises_NotFound.yml
|
184
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_destroy_when_success_returns_empty_body.yml
|
185
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_all_when_not_found_raises_NotFound.yml
|
186
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_all_when_not_found_raises_RequestError.yml
|
187
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_all_when_success_returns_a_find_all_of_orders.yml
|
188
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_when_not_found_raises_NotFound.yml
|
189
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_when_success_returns_adjustment_order_object.yml
|
177
190
|
- spec/vcr_cassettes/Ecommerce/Resources_InvoiceOrder_find_all_when_not_found_raises_NotFound.yml
|
178
191
|
- spec/vcr_cassettes/Ecommerce/Resources_InvoiceOrder_find_all_when_success_returns_a_find_all_of_orders.yml
|
179
192
|
- spec/vcr_cassettes/Ecommerce/Resources_InvoiceOrder_find_when_not_found_raises_NotFound.yml
|
@@ -213,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
213
226
|
version: '0'
|
214
227
|
requirements: []
|
215
228
|
rubyforge_project:
|
216
|
-
rubygems_version: 2.
|
229
|
+
rubygems_version: 2.4.5
|
217
230
|
signing_key:
|
218
231
|
specification_version: 4
|
219
232
|
summary: Official Ruby client for Myfreecomm's Ecommerce API.
|
@@ -223,6 +236,7 @@ test_files:
|
|
223
236
|
- spec/ecommerce/configuration_spec.rb
|
224
237
|
- spec/ecommerce/request_spec.rb
|
225
238
|
- spec/ecommerce/resources/account_order_spec.rb
|
239
|
+
- spec/ecommerce/resources/adjustment_order_spec.rb
|
226
240
|
- spec/ecommerce/resources/collection_spec.rb
|
227
241
|
- spec/ecommerce/resources/invoice_order_collection_spec.rb
|
228
242
|
- spec/ecommerce/resources/invoice_order_spec.rb
|
@@ -235,6 +249,15 @@ test_files:
|
|
235
249
|
- spec/support/vcr.rb
|
236
250
|
- spec/vcr_cassettes/Ecommerce/Resources_AccountOrder_find_all_when_not_found_raises_NotFound.yml
|
237
251
|
- spec/vcr_cassettes/Ecommerce/Resources_AccountOrder_find_all_when_success_returns_a_find_all_of_orders.yml
|
252
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_create_when_success_returns_adjustment_created_body.yml
|
253
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_create_when_success_when_sending_not_all_required_paramete.yml
|
254
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_destroy_when_not_found_raises_NotFound.yml
|
255
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_destroy_when_success_returns_empty_body.yml
|
256
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_all_when_not_found_raises_NotFound.yml
|
257
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_all_when_not_found_raises_RequestError.yml
|
258
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_all_when_success_returns_a_find_all_of_orders.yml
|
259
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_when_not_found_raises_NotFound.yml
|
260
|
+
- spec/vcr_cassettes/Ecommerce/Resources_AdjustmentOrder_find_when_success_returns_adjustment_order_object.yml
|
238
261
|
- spec/vcr_cassettes/Ecommerce/Resources_InvoiceOrder_find_all_when_not_found_raises_NotFound.yml
|
239
262
|
- spec/vcr_cassettes/Ecommerce/Resources_InvoiceOrder_find_all_when_success_returns_a_find_all_of_orders.yml
|
240
263
|
- spec/vcr_cassettes/Ecommerce/Resources_InvoiceOrder_find_when_not_found_raises_NotFound.yml
|