mws_rb 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +2 -0
- data/.rspec +2 -0
- data/.rubocop.yml +2 -0
- data/.ruby-gemset +1 -0
- data/.travis.yml +9 -0
- data/CHANGELOG.md +43 -0
- data/Gemfile +3 -0
- data/Guardfile +12 -0
- data/LICENSE +20 -0
- data/README.markdown +73 -0
- data/Rakefile +1 -0
- data/lib/mws.rb +51 -0
- data/lib/mws/api/base.rb +55 -0
- data/lib/mws/api/feeds.rb +30 -0
- data/lib/mws/api/feeds/envelope.rb +84 -0
- data/lib/mws/api/feeds/xsd/AdditionalProductInformation.xsd +23 -0
- data/lib/mws/api/feeds/xsd/Amazon.xsd +94 -0
- data/lib/mws/api/feeds/xsd/Arts.xsd +144 -0
- data/lib/mws/api/feeds/xsd/AutoAccessory.xsd +1714 -0
- data/lib/mws/api/feeds/xsd/Baby.xsd +206 -0
- data/lib/mws/api/feeds/xsd/Beauty.xsd +170 -0
- data/lib/mws/api/feeds/xsd/Books.xsd +135 -0
- data/lib/mws/api/feeds/xsd/CE.xsd +2878 -0
- data/lib/mws/api/feeds/xsd/CameraPhoto.xsd +2612 -0
- data/lib/mws/api/feeds/xsd/ClothingAccessories.xsd +128 -0
- data/lib/mws/api/feeds/xsd/Computers.xsd +2347 -0
- data/lib/mws/api/feeds/xsd/EUCompliance.xsd +24 -0
- data/lib/mws/api/feeds/xsd/EntertainmentCollectibles.xsd +99 -0
- data/lib/mws/api/feeds/xsd/FBA.xsd +28 -0
- data/lib/mws/api/feeds/xsd/FoodAndBeverages.xsd +1000 -0
- data/lib/mws/api/feeds/xsd/FoodServiceAndJanSan.xsd +216 -0
- data/lib/mws/api/feeds/xsd/FulfillmentCenter.xsd +57 -0
- data/lib/mws/api/feeds/xsd/GiftCards.xsd +97 -0
- data/lib/mws/api/feeds/xsd/Gourmet.xsd +85 -0
- data/lib/mws/api/feeds/xsd/Health.xsd +335 -0
- data/lib/mws/api/feeds/xsd/Home.xsd +1362 -0
- data/lib/mws/api/feeds/xsd/HomeImprovement.xsd +1065 -0
- data/lib/mws/api/feeds/xsd/Industrial.xsd +315 -0
- data/lib/mws/api/feeds/xsd/Inventory.xsd +49 -0
- data/lib/mws/api/feeds/xsd/Jewelry.xsd +916 -0
- data/lib/mws/api/feeds/xsd/LabSupplies.xsd +178 -0
- data/lib/mws/api/feeds/xsd/LargeAppliances.xsd +646 -0
- data/lib/mws/api/feeds/xsd/Lighting.xsd +243 -0
- data/lib/mws/api/feeds/xsd/Listings.xsd +32 -0
- data/lib/mws/api/feeds/xsd/Luggage.xsd +93 -0
- data/lib/mws/api/feeds/xsd/MechanicalFasteners.xsd +172 -0
- data/lib/mws/api/feeds/xsd/Miscellaneous.xsd +157 -0
- data/lib/mws/api/feeds/xsd/Motorcycles.xsd +348 -0
- data/lib/mws/api/feeds/xsd/Music.xsd +251 -0
- data/lib/mws/api/feeds/xsd/MusicalInstruments.xsd +853 -0
- data/lib/mws/api/feeds/xsd/Office.xsd +586 -0
- data/lib/mws/api/feeds/xsd/OrderAcknowledgement.xsd +55 -0
- data/lib/mws/api/feeds/xsd/OrderAdjustment.xsd +175 -0
- data/lib/mws/api/feeds/xsd/OrderFulfillment.xsd +57 -0
- data/lib/mws/api/feeds/xsd/Override.xsd +48 -0
- data/lib/mws/api/feeds/xsd/PetSupplies.xsd +197 -0
- data/lib/mws/api/feeds/xsd/PowerTransmission.xsd +87 -0
- data/lib/mws/api/feeds/xsd/Price.xsd +59 -0
- data/lib/mws/api/feeds/xsd/ProcessingReport.xsd +87 -0
- data/lib/mws/api/feeds/xsd/Product.xsd +399 -0
- data/lib/mws/api/feeds/xsd/ProductClothing.xsd +285 -0
- data/lib/mws/api/feeds/xsd/ProductImage.xsd +39 -0
- data/lib/mws/api/feeds/xsd/RawMaterials.xsd +125 -0
- data/lib/mws/api/feeds/xsd/Relationship.xsd +47 -0
- data/lib/mws/api/feeds/xsd/SWVG.xsd +345 -0
- data/lib/mws/api/feeds/xsd/SettlementReport.xsd +158 -0
- data/lib/mws/api/feeds/xsd/Shoes.xsd +213 -0
- data/lib/mws/api/feeds/xsd/Sports.xsd +772 -0
- data/lib/mws/api/feeds/xsd/SportsMemorabilia.xsd +55 -0
- data/lib/mws/api/feeds/xsd/TiresAndWheels.xsd +159 -0
- data/lib/mws/api/feeds/xsd/Tools.xsd +82 -0
- data/lib/mws/api/feeds/xsd/Toys.xsd +272 -0
- data/lib/mws/api/feeds/xsd/ToysBaby.xsd +335 -0
- data/lib/mws/api/feeds/xsd/Video.xsd +406 -0
- data/lib/mws/api/feeds/xsd/WineAndAlcohol.xsd +181 -0
- data/lib/mws/api/feeds/xsd/Wireless.xsd +128 -0
- data/lib/mws/api/feeds/xsd/amzn-base.xsd +4350 -0
- data/lib/mws/api/feeds/xsd/amzn-envelope.xsd +98 -0
- data/lib/mws/api/feeds/xsd/amzn-header.xsd +45 -0
- data/lib/mws/api/fulfillment_inbound_shipment.rb +16 -0
- data/lib/mws/api/fulfillment_inventory.rb +14 -0
- data/lib/mws/api/fulfillment_outbound_shipment.rb +24 -0
- data/lib/mws/api/orders.rb +16 -0
- data/lib/mws/api/products.rb +19 -0
- data/lib/mws/api/recommendations.rb +14 -0
- data/lib/mws/api/reports.rb +17 -0
- data/lib/mws/api/sellers.rb +18 -0
- data/lib/mws/api/subscriptions.rb +15 -0
- data/lib/mws/connection.rb +56 -0
- data/lib/mws/query.rb +104 -0
- data/lib/mws/version.rb +4 -0
- data/mws_rb.gemspec +32 -0
- data/spec/fixtures/vcr_cassettes/feeds/submit_feed/invalid_request.yml +194 -0
- data/spec/fixtures/vcr_cassettes/feeds/submit_feed/text_request.yml +188 -0
- data/spec/fixtures/vcr_cassettes/feeds/submit_feed/xml_request.yml +224 -0
- data/spec/mws-rb/api/base_spec.rb +48 -0
- data/spec/mws-rb/api/feeds/envelope/general_spec.rb +31 -0
- data/spec/mws-rb/api/feeds/envelope/xml_building_spec.rb +101 -0
- data/spec/mws-rb/api/feeds_spec.rb +88 -0
- data/spec/mws-rb/api/fulfillment_inbound_shipment_spec.rb +24 -0
- data/spec/mws-rb/api/fulfillment_inventory_spec.rb +24 -0
- data/spec/mws-rb/api/fulfillment_outbound_shipment_spec.rb +24 -0
- data/spec/mws-rb/api/orders_spec.rb +24 -0
- data/spec/mws-rb/api/products_spec.rb +24 -0
- data/spec/mws-rb/api/recommendations_spec.rb +24 -0
- data/spec/mws-rb/api/reports_spec.rb +24 -0
- data/spec/mws-rb/api/sellers_spec.rb +28 -0
- data/spec/mws-rb/api/subscriptions_spec.rb +24 -0
- data/spec/mws-rb/connection_spec.rb +77 -0
- data/spec/mws-rb/mws_spec.rb +12 -0
- data/spec/mws-rb/query_spec.rb +150 -0
- data/spec/spec_helper.rb +17 -0
- metadata +310 -0
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MWS::API::Base do
|
4
|
+
let(:connection) do
|
5
|
+
MWS::Connection.new(aws_access_key_id: 'access key',
|
6
|
+
aws_secret_access_key: 'secret key',
|
7
|
+
seller_id: 'seller id',
|
8
|
+
mws_auth_token: 'auth token')
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:base) { MWS::API::Base.new(connection) }
|
12
|
+
|
13
|
+
it 'should receive a connection object' do
|
14
|
+
expect(base.connection).to eq(connection)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should respond to .call' do
|
18
|
+
expect(base).to respond_to(:call)
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should respond to :uri and :version and :verb' do
|
22
|
+
expect(base).to respond_to(:uri)
|
23
|
+
expect(base).to respond_to(:version)
|
24
|
+
expect(base).to respond_to(:verb)
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should set :verb to :get as default' do
|
28
|
+
expect(base.verb).to eq(:get)
|
29
|
+
end
|
30
|
+
|
31
|
+
describe 'method_missing to call actions' do
|
32
|
+
class TestApi < MWS::API::Base
|
33
|
+
ACTIONS = [:test_action]
|
34
|
+
def initialize(connection)
|
35
|
+
@uri = '/Products/2011-10-01'
|
36
|
+
@version = '2011-10-01'
|
37
|
+
super(connection)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
let(:test_api) { TestApi.new(connection) }
|
42
|
+
before(:each) { allow(HTTParty).to receive(:get).and_return({}) }
|
43
|
+
|
44
|
+
it 'should raise exception if Actions do not contain the action name' do
|
45
|
+
expect { test_api.action_not_found }.to raise_error(NoMethodError)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MWS::API::Feeds::Envelope do
|
4
|
+
it 'should validate the envelope' do
|
5
|
+
expect do
|
6
|
+
MWS::API::Feeds::Envelope.new(message_type: 'InvalidMessageType', message: { 'InvalidItem' => 'Invalid' })
|
7
|
+
end.to raise_error RuntimeError
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'accepts text based envelope' do
|
11
|
+
expect(MWS::API::Feeds::Envelope.new(type: :text, message: 'test').to_s).to eq('test')
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should skip validation when param skip_schema_validation is true' do
|
15
|
+
MWS::API::Feeds::Envelope.new(message_type: 'InvalidMessageType', message: { 'InvalidItem' => 'Invalid' }, skip_schema_validation: true)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should remove array items' do
|
19
|
+
envelope = MWS::API::Feeds::Envelope.new(
|
20
|
+
message_type: 'InvalidMessageType',
|
21
|
+
message: {
|
22
|
+
'Items' => [{ item_1: '1' }, { item_2: '2' }],
|
23
|
+
'Inventories' => [{ inventory_1: '1' }]
|
24
|
+
},
|
25
|
+
skip_schema_validation: true)
|
26
|
+
|
27
|
+
expect(envelope.to_s.include?('Items')).to eq(false)
|
28
|
+
expect(envelope.to_s.include?('Inventories')).to eq(false)
|
29
|
+
expect(envelope.to_s.include?('array')).to eq(false)
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,101 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MWS::API::Feeds::Envelope, 'built xml' do
|
4
|
+
subject { described_class.new(params) }
|
5
|
+
|
6
|
+
context 'when passed message param' do
|
7
|
+
let(:params) do
|
8
|
+
{ feed_type: '_POST_INVENTORY_AVAILABILITY_DATA_',
|
9
|
+
message_type: :inventory,
|
10
|
+
message: {
|
11
|
+
'MessageID' => '123123123',
|
12
|
+
'OperationType' => 'Update',
|
13
|
+
'Inventory' => {
|
14
|
+
'SKU' => 'ANY-SKU',
|
15
|
+
'Quantity' => '50'
|
16
|
+
} } }
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should contain passed data' do
|
20
|
+
expect(subject.to_s).to include("<MessageType>Inventory</MessageType><PurgeAndReplace>false</PurgeAndReplace><Message>\n <MessageID>123123123</MessageID>\n <OperationType>Update</OperationType>\n <Inventory>\n <SKU>ANY-SKU</SKU>\n <Quantity>50</Quantity>\n </Inventory>\n</Message>")
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should be valid' do
|
24
|
+
expect(subject).to be_valid
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
context 'when passed \'messages\' param' do
|
29
|
+
let(:params) do
|
30
|
+
{ feed_type: '_POST_INVENTORY_AVAILABILITY_DATA_',
|
31
|
+
message_type: :inventory,
|
32
|
+
messages: [
|
33
|
+
{
|
34
|
+
'MessageID' => '123123123',
|
35
|
+
'OperationType' => 'Update',
|
36
|
+
'Inventory' => {
|
37
|
+
'SKU' => 'ANY-SKU',
|
38
|
+
'Quantity' => '50'
|
39
|
+
}
|
40
|
+
},
|
41
|
+
{ 'MessageID' => '321321321',
|
42
|
+
'OperationType' => 'Update',
|
43
|
+
'Inventory' => {
|
44
|
+
'SKU' => 'ANY-OTHER-SKU',
|
45
|
+
'Quantity' => '10'
|
46
|
+
}
|
47
|
+
}] }
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'should contain passed data of each message' do
|
51
|
+
expect(subject.to_s).to include("<MessageType>Inventory</MessageType><PurgeAndReplace>false</PurgeAndReplace><Message>\n <MessageID>123123123</MessageID>\n <OperationType>Update</OperationType>\n <Inventory>\n <SKU>ANY-SKU</SKU>\n <Quantity>50</Quantity>\n </Inventory>\n</Message>")
|
52
|
+
expect(subject.to_s).to include("<Message>\n <MessageID>321321321</MessageID>\n <OperationType>Update</OperationType>\n <Inventory>\n <SKU>ANY-OTHER-SKU</SKU>\n <Quantity>10</Quantity>\n </Inventory>\n</Message>")
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'should be valid' do
|
56
|
+
expect(subject).to be_valid
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
context 'when passed \'message\' and \'messages\'' do
|
61
|
+
let(:multiple_messages) do
|
62
|
+
{ messages: [
|
63
|
+
{
|
64
|
+
'MessageID' => '123123123',
|
65
|
+
'OperationType' => 'Update',
|
66
|
+
'Inventory' => {
|
67
|
+
'SKU' => 'ANY-SKU',
|
68
|
+
'Quantity' => '50'
|
69
|
+
}
|
70
|
+
},
|
71
|
+
{ 'MessageID' => '321321321',
|
72
|
+
'OperationType' => 'Update',
|
73
|
+
'Inventory' => {
|
74
|
+
'SKU' => 'ANY-OTHER-SKU',
|
75
|
+
'Quantity' => '10'
|
76
|
+
}
|
77
|
+
}] }
|
78
|
+
end
|
79
|
+
|
80
|
+
let(:single_message) do
|
81
|
+
{ message: {
|
82
|
+
'MessageID' => '987654321',
|
83
|
+
'OperationType' => 'Update',
|
84
|
+
'Inventory' => {
|
85
|
+
'SKU' => 'SINGLE-SKU',
|
86
|
+
'Quantity' => '20'
|
87
|
+
} } }
|
88
|
+
end
|
89
|
+
|
90
|
+
let(:params) do
|
91
|
+
{ feed_type: '_POST_INVENTORY_AVAILABILITY_DATA_',
|
92
|
+
message_type: :inventory }.merge(multiple_messages).merge(single_message)
|
93
|
+
end
|
94
|
+
|
95
|
+
it 'should contain info from all of these keys' do
|
96
|
+
expect(subject.to_s).to include("<Message>\n <MessageID>123123123</MessageID>\n <OperationType>Update</OperationType>\n <Inventory>\n <SKU>ANY-SKU</SKU>\n <Quantity>50</Quantity>\n </Inventory>\n</Message>")
|
97
|
+
expect(subject.to_s).to include("<Message>\n <MessageID>321321321</MessageID>\n <OperationType>Update</OperationType>\n <Inventory>\n <SKU>ANY-OTHER-SKU</SKU>\n <Quantity>10</Quantity>\n </Inventory>\n</Message>")
|
98
|
+
expect(subject.to_s).to include("<Message>\n <MessageID>987654321</MessageID>\n <OperationType>Update</OperationType>\n <Inventory>\n <SKU>SINGLE-SKU</SKU>\n <Quantity>20</Quantity>\n </Inventory>\n</Message>")
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MWS::API::Feeds do
|
4
|
+
let(:connection) do
|
5
|
+
MWS::Connection.new(aws_access_key_id: 'access key',
|
6
|
+
aws_secret_access_key: 'secret key',
|
7
|
+
seller_id: 'seller id',
|
8
|
+
mws_auth_token: 'auth token')
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:feeds) { MWS::API::Feeds.new(connection) }
|
12
|
+
|
13
|
+
it 'should inheritance from MWS::API::Base' do
|
14
|
+
expect(MWS::API::Feeds.superclass).to eq(MWS::API::Base)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should set the right :uri' do
|
18
|
+
expect(feeds.uri).to eq('/')
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should set the right :version' do
|
22
|
+
expect(feeds.version).to eq('2009-01-01')
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '#submit_feed' do
|
26
|
+
let(:mws_api) do
|
27
|
+
MWS.new(
|
28
|
+
host: 'mws-eu.amazonservices.com',
|
29
|
+
aws_access_key_id: ENV['AWS_ACCESS_KEY'] || 'DUMMY_AWS_ACCESS_KEY',
|
30
|
+
aws_secret_access_key: ENV['AWS_SECRET_KEY'] || 'DUMMY_AWS_SECRET_KEY',
|
31
|
+
seller_id: ENV['AWS_SELLER_ID'] || 'DUMMY_AWS_SELLER_ID'
|
32
|
+
)
|
33
|
+
end
|
34
|
+
|
35
|
+
subject { mws_api.feeds.submit_feed(feed_data) }
|
36
|
+
|
37
|
+
context 'with xml request', vcr: { cassette_name: 'feeds/submit_feed/xml_request' } do
|
38
|
+
let(:feed_data) do
|
39
|
+
{
|
40
|
+
feed_type: '_POST_INVENTORY_AVAILABILITY_DATA_',
|
41
|
+
message_type: :inventory,
|
42
|
+
messages: [
|
43
|
+
{
|
44
|
+
'MessageID' => (Time.now.to_i * rand).ceil.to_s,
|
45
|
+
'OperationType' => 'Update',
|
46
|
+
'Inventory' => {
|
47
|
+
'SKU' => 'LG-WHITE-1389247',
|
48
|
+
'Quantity' => '9'
|
49
|
+
}
|
50
|
+
}
|
51
|
+
]
|
52
|
+
}
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'returns a kind of hash' do
|
56
|
+
expect(subject).to be_kind_of(Hash)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
context 'with text request', vcr: { cassette_name: 'feeds/submit_feed/text_request' } do
|
61
|
+
let(:feed_data) do
|
62
|
+
{
|
63
|
+
feed_type: '_POST_FLAT_FILE_INVLOADER_DATA_',
|
64
|
+
type: 'text',
|
65
|
+
message: "sku\tquantity\nLG-WHITE-1389247\t9"
|
66
|
+
}
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'returns a kind of hash' do
|
70
|
+
expect(subject).to be_kind_of(Hash)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
context 'with invalid request', vcr: { cassette_name: 'feeds/submit_feed/invalid_request' } do
|
75
|
+
let(:feed_data) do
|
76
|
+
{
|
77
|
+
# feed_type is missed
|
78
|
+
type: 'text',
|
79
|
+
message: "sku\tquantity\nLG-WHITE-1389247\t9"
|
80
|
+
}
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'returns a kind of hash' do
|
84
|
+
expect(subject).to be_kind_of(Hash)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MWS::API::FulfillmentInboundShipment do
|
4
|
+
let(:connection) do
|
5
|
+
MWS::Connection.new(aws_access_key_id: 'access key',
|
6
|
+
aws_secret_access_key: 'secret key',
|
7
|
+
seller_id: 'seller id',
|
8
|
+
mws_auth_token: 'auth token')
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:fulfillment_inbound_shipment) { MWS::API::FulfillmentInboundShipment.new(connection) }
|
12
|
+
|
13
|
+
it 'should inheritance from MWS::API::Base' do
|
14
|
+
expect(MWS::API::Feeds.superclass).to eq(MWS::API::Base)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should set the right :uri' do
|
18
|
+
expect(fulfillment_inbound_shipment.uri).to eq('/FulfillmentInboundShipment/2010-10-01')
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should set the right :version' do
|
22
|
+
expect(fulfillment_inbound_shipment.version).to eq('2010-10-01')
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MWS::API::FulfillmentInventory do
|
4
|
+
let(:connection) do
|
5
|
+
MWS::Connection.new(aws_access_key_id: 'access key',
|
6
|
+
aws_secret_access_key: 'secret key',
|
7
|
+
seller_id: 'seller id',
|
8
|
+
mws_auth_token: 'auth token')
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:fulfillment_inventory) { MWS::API::FulfillmentInventory.new(connection) }
|
12
|
+
|
13
|
+
it 'should inheritance from MWS::API::Base' do
|
14
|
+
expect(MWS::API::FulfillmentInventory.superclass).to eq(MWS::API::Base)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should set the right :uri' do
|
18
|
+
expect(fulfillment_inventory.uri).to eq('/FulfillmentInventory/2010-10-01')
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should set the right :version' do
|
22
|
+
expect(fulfillment_inventory.version).to eq('2010-10-01')
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MWS::API::FulfillmentOutboundShipment do
|
4
|
+
let(:connection) do
|
5
|
+
MWS::Connection.new(aws_access_key_id: 'access key',
|
6
|
+
aws_secret_access_key: 'secret key',
|
7
|
+
seller_id: 'seller id',
|
8
|
+
mws_auth_token: 'auth token')
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:fulfillment_outbound_shipment) { MWS::API::FulfillmentOutboundShipment.new(connection) }
|
12
|
+
|
13
|
+
it 'should inheritance from MWS::API::Base' do
|
14
|
+
expect(MWS::API::FulfillmentOutboundShipment.superclass).to eq(MWS::API::Base)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should set the right :uri' do
|
18
|
+
expect(fulfillment_outbound_shipment.uri).to eq('/FulfillmentOutboundShipment/2010-10-01')
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should set the right :version' do
|
22
|
+
expect(fulfillment_outbound_shipment.version).to eq('2010-10-01')
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MWS::API::Orders do
|
4
|
+
let(:connection) do
|
5
|
+
MWS::Connection.new(aws_access_key_id: 'access key',
|
6
|
+
aws_secret_access_key: 'secret key',
|
7
|
+
seller_id: 'seller id',
|
8
|
+
mws_auth_token: 'auth token')
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:orders) { MWS::API::Orders.new(connection) }
|
12
|
+
|
13
|
+
it 'should inheritance from MWS::API::Base' do
|
14
|
+
expect(MWS::API::Orders.superclass).to eq(MWS::API::Base)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should set the right :uri' do
|
18
|
+
expect(orders.uri).to eq('/Orders/2013-09-01')
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should set the right :version' do
|
22
|
+
expect(orders.version).to eq('2013-09-01')
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MWS::API::Products do
|
4
|
+
let(:connection) do
|
5
|
+
MWS::Connection.new(aws_access_key_id: 'access key',
|
6
|
+
aws_secret_access_key: 'secret key',
|
7
|
+
seller_id: 'seller id',
|
8
|
+
mws_auth_token: 'auth token')
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:orders) { MWS::API::Products.new(connection) }
|
12
|
+
|
13
|
+
it 'should inheritance from MWS::API::Base' do
|
14
|
+
expect(MWS::API::Products.superclass).to eq(MWS::API::Base)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should set the right :uri' do
|
18
|
+
expect(orders.uri).to eq('/Products/2011-10-01')
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should set the right :version' do
|
22
|
+
expect(orders.version).to eq('2011-10-01')
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MWS::API::Recommendations do
|
4
|
+
let(:connection) do
|
5
|
+
MWS::Connection.new(aws_access_key_id: 'access key',
|
6
|
+
aws_secret_access_key: 'secret key',
|
7
|
+
seller_id: 'seller id',
|
8
|
+
mws_auth_token: 'auth token')
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:recommendations) { MWS::API::Recommendations.new(connection) }
|
12
|
+
|
13
|
+
it 'should inheritance from MWS::API::Base' do
|
14
|
+
expect(MWS::API::Recommendations.superclass).to eq(MWS::API::Base)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should set the right :uri' do
|
18
|
+
expect(recommendations.uri).to eq('/Recommendations/2013-04-01')
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should set the right :version' do
|
22
|
+
expect(recommendations.version).to eq('2013-04-01')
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MWS::API::Reports do
|
4
|
+
let(:connection) do
|
5
|
+
MWS::Connection.new(aws_access_key_id: 'access key',
|
6
|
+
aws_secret_access_key: 'secret key',
|
7
|
+
seller_id: 'seller id',
|
8
|
+
mws_auth_token: 'auth token')
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:reports) { MWS::API::Reports.new(connection) }
|
12
|
+
|
13
|
+
it 'should inheritance from MWS::API::Base' do
|
14
|
+
expect(MWS::API::Reports.superclass).to eq(MWS::API::Base)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should set the right :uri' do
|
18
|
+
expect(reports.uri).to eq('/')
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should set the right :version' do
|
22
|
+
expect(reports.version).to eq('2009-01-01')
|
23
|
+
end
|
24
|
+
end
|