vpsa 0.0.28 → 0.0.29

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9a77dba462414c082c55ef8f6dc5b80965205df3
4
- data.tar.gz: b7dea1bb6d0215d829c7eb0e8026682afb16418d
3
+ metadata.gz: 3f117d0616b4ec9ff6c336ebe75df8082730865d
4
+ data.tar.gz: 29c888dcf13ee26282ae7649e2ee1815a85a66ef
5
5
  SHA512:
6
- metadata.gz: f115522839e4dccbedcef557b12c1a0cd677183646b3b45e109ad43356029b4959f69f5bf1c0ed3bf919f5f5341755dd8e9ce09ef0edc17defac842fedcbcaa2
7
- data.tar.gz: 9e6f4b01df059245da5913d4d7ed885048a1fb9fcbbeaf9887a0a289db543ec152f40cc4a5aa33482762b518e3e87c7053c405e92082e71035703d1219901572
6
+ metadata.gz: 985afb853597e478f45f7b2b7d1d46d9cc9e9605fd3e578104eecfb0fbdd188343a4207d7dff68359e0ac878e0e973a77e1847f45f346228a5f016ef3be1ff54
7
+ data.tar.gz: 1411e7172b76e4e722c6b6463ee0477da610040977889bf0067d0d1ad9dbda7f33ef0f540de944dcbc3ce4bd2d6af03107ccc9671bcc8e13e5083ebf61ce869c
@@ -2,6 +2,7 @@ module Vpsa
2
2
  module Api
3
3
  class Orders < Client
4
4
  require_all 'vpsa/searcher/operational', 'order_searcher'
5
+ require_all 'vpsa/entity/commercial', 'order', 'item'
5
6
 
6
7
  base_uri "#{Vpsa::API_ADDRESS}/pedidos"
7
8
 
@@ -15,6 +16,12 @@ module Vpsa
15
16
  def find(id)
16
17
  return parse_response(self.class.get("/#{id}", :body => build_body, :headers => header))
17
18
  end
19
+
20
+ def save(order)
21
+ raise ArgumentError unless order.nil? || order.is_a?(Vpsa::Entity::Commercial::Order)
22
+ return parse_response(self.class.post("/", :body => build_body(order.as_parameter), :headers => header))
23
+ end
24
+
18
25
  end
19
26
  end
20
27
  end
@@ -6,11 +6,11 @@ module Vpsa
6
6
  base_uri "#{Vpsa::API_ADDRESS}/produtos"
7
7
 
8
8
  def save(data)
9
- return parse_response(self.class.post("/", :body => build_body(data), :headers => header))
9
+ return parse_response(self.class.post("/", :body => build_body(data.as_parameter), :headers => header))
10
10
  end
11
11
 
12
12
  def update(id, data)
13
- return parse_response(self.class.put("/#{id}", :body => build_body(data), :headers => header))
13
+ return parse_response(self.class.put("/#{id}", :body => build_body(data.as_parameter), :headers => header))
14
14
  end
15
15
  end
16
16
  end
@@ -0,0 +1,13 @@
1
+ require 'vpsa/entity/base'
2
+
3
+ module Vpsa
4
+ module Entity
5
+ module Commercial
6
+ class Item < Base
7
+
8
+ attr_accessor :idProduto, :quantidade, :valorDesconto, :valorUnitario
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ require 'vpsa/entity/base'
2
+
3
+ module Vpsa
4
+ module Entity
5
+ module Commercial
6
+ class Order < Base
7
+
8
+ attr_accessor :data, :horario, :idEntidade, :idPlanoPagamento, :idRepresentante, :idTerceiro,
9
+ :observacao, :valorFrete, :valorOutros, :valorSeguro, :vendaConsumidorFinal, :itens
10
+
11
+ end
12
+ end
13
+ end
14
+ end
data/lib/vpsa/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Vpsa
2
- VERSION = "0.0.28"
2
+ VERSION = "0.0.29"
3
3
  end
@@ -2,6 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  RSpec.describe Vpsa::Api::Orders do
4
4
  let(:header) {{"Content-Type" => "application/json", "Accept" => "application/json"}}
5
+ let(:order_param) {{}}
5
6
 
6
7
  describe "listing" do
7
8
  before(:each) do
@@ -38,4 +39,18 @@ RSpec.describe Vpsa::Api::Orders do
38
39
  Vpsa.new("abc").orders.find(5)
39
40
  end
40
41
  end
42
+
43
+ describe "save" do
44
+ before(:each) do
45
+ stub_request(:post, "#{Vpsa::API_ADDRESS}/pedidos/").to_return(:status => 201)
46
+ end
47
+
48
+ it "should issue a post to the orders url" do
49
+ order = Vpsa::Entity::Commercial::Order.new
50
+
51
+ expect(Vpsa::Api::Orders).to receive(:post).with("/", :body => order.as_parameter.merge!({:token => "abc"}).to_json, :headers => header).and_call_original
52
+ Vpsa.new("abc").orders.save(order)
53
+ end
54
+ end
55
+
41
56
  end
@@ -13,7 +13,7 @@ RSpec.describe Vpsa::Api::Products do
13
13
  it "should issue a post to the products url" do
14
14
  expect(Vpsa::Api::Products).to receive(:post).with("/", :body => product_param.merge!({:token => "abc"}).to_json, :headers => header).and_call_original
15
15
 
16
- Vpsa.new("abc").products.save(product_param)
16
+ Vpsa.new("abc").products.save(Vpsa::Entity::Commercial::Product.new)
17
17
  end
18
18
  end
19
19
 
@@ -25,7 +25,7 @@ RSpec.describe Vpsa::Api::Products do
25
25
  it "should issue a put to the installments url" do
26
26
  expect(Vpsa::Api::Products).to receive(:put).with("/1", :body => product_param.merge!({:token => "abc"}).to_json, :headers => header).and_call_original
27
27
 
28
- Vpsa.new("abc").products.update(1, product_param)
28
+ Vpsa.new("abc").products.update(1, Vpsa::Entity::Commercial::Product.new)
29
29
  end
30
30
  end
31
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vpsa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.28
4
+ version: 0.0.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gustavo Berdugo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-11 00:00:00.000000000 Z
11
+ date: 2015-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -77,6 +77,8 @@ files:
77
77
  - lib/vpsa/entity/base.rb
78
78
  - lib/vpsa/entity/commercial/credit_limit.rb
79
79
  - lib/vpsa/entity/commercial/installment.rb
80
+ - lib/vpsa/entity/commercial/item.rb
81
+ - lib/vpsa/entity/commercial/order.rb
80
82
  - lib/vpsa/entity/commercial/product.rb
81
83
  - lib/vpsa/entity/operational/category_level.rb
82
84
  - lib/vpsa/entity/operational/product_category.rb