vpsa 0.0.25 → 0.0.26

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e5b67f006069498991e524f4086423da8ebebe76
4
- data.tar.gz: a97425c1bf62fd038a4f8cc5920ab659e565bc3b
3
+ metadata.gz: bdb0222444b81ce4c13c600d847362cdcc624fac
4
+ data.tar.gz: 392e2b26998beabb07e4a8f2b5dc2cac3ebb94c6
5
5
  SHA512:
6
- metadata.gz: 982cbde6b5341c8834472473d960cb4e6a2b2a9e22aebf85be9f3c244b8c1818b8aa7977fc5e42c521e050d1a7d459c6ce58f73e69426490529bab02edddc8d5
7
- data.tar.gz: 3a997e2d4a3e7721a58705d40b40a58ba31ac6e2b236102e52bd47609392b79e055343573b9a528faf0f80111c65dd108e9dd5e9234b4c00e655c7d4d6f0ef88
6
+ metadata.gz: f64b16e2359b667b16362e6660777fca0b6db27b520d4a4f39075b926acc93a06741f1c783e81870090e7533632694a801966bed63e7497a6d44ccc13e8f76b3
7
+ data.tar.gz: 2c56a03f31e1ef6d8cc11141828075d88f0a9213bcf7ffbde9cd232070c618042f7417fa0a34f90ce56fb99a21654c3423a6934617ca6270f4a77fa0d87a3386
@@ -0,0 +1,17 @@
1
+ module Vpsa
2
+ module Api
3
+ class Products < Client
4
+ require_all 'vpsa/entity/commercial', 'product'
5
+
6
+ base_uri "#{Vpsa::API_ADDRESS}/produtos"
7
+
8
+ def save(data)
9
+ return parse_response(self.class.post("/", :body => build_body(data), :headers => header))
10
+ end
11
+
12
+ def update(id, data)
13
+ return parse_response(self.class.put("/#{id}", :body => build_body(data), :headers => header))
14
+ end
15
+ end
16
+ end
17
+ end
@@ -11,7 +11,7 @@ module Vpsa
11
11
  parser Proc.new {|b| JSON.parse(b) rescue b}
12
12
 
13
13
  require_all 'vpsa/api', 'third_parties', 'entities', 'default_entries', 'provisions', 'user_data', 'installments', 'credit_limits',
14
- 'client_classes', 'receipts', 'sales_history', 'orders', 'companies', 'sellers'
14
+ 'client_classes', 'receipts', 'sales_history', 'orders', 'companies', 'sellers', 'products'
15
15
 
16
16
  attr_accessor :access_token
17
17
 
@@ -72,6 +72,10 @@ module Vpsa
72
72
  Vpsa::Api::Sellers.new(@access_token)
73
73
  end
74
74
 
75
+ def products
76
+ Vpsa::Api::Products.new(@access_token)
77
+ end
78
+
75
79
  protected
76
80
  def header
77
81
  {"Content-Type" => "application/json", "Accept" => "application/json"}
@@ -0,0 +1,17 @@
1
+ require 'vpsa/entity/base'
2
+
3
+ module Vpsa
4
+ module Entity
5
+ module Commercial
6
+ class Product < Base
7
+ attr_accessor :descricao, :classificacao, :origem, :fci, :metodoControle, :unidade, :custoReferencial, :codigoNcm
8
+ attr_accessor :cnpjFornecedores, :especificacao, :codigoBarras, :codigoInterno, :codigoSistema, :estoqueMaximo
9
+ attr_accessor :estoqueMinimo, :ativo, :descontoMaximo, :comissao, :preco
10
+ end
11
+ end
12
+ end
13
+ end
14
+
15
+ # categorias: Lista com os dados das categorias que definem a estrutura mercadológica do produto. Deve ser informada uma categoria para cada nível de categoria cadastrado nível de categoria cadastrado.
16
+ # nome: Nome da Categoria (string) (obrigatório)
17
+ # nivel: Nome do Nível onde está localizada a categoria (string) (obrigatório)
@@ -1,3 +1,3 @@
1
1
  module Vpsa
2
- VERSION = "0.0.25"
2
+ VERSION = "0.0.26"
3
3
  end
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Vpsa::Api::Products do
4
+ let(:header) {{"Content-Type" => "application/json", "Accept" => "application/json"}}
5
+ let(:product_param) {{}}
6
+
7
+ describe "save" do
8
+ before(:each) do
9
+ stub_request(:post, "#{Vpsa::API_ADDRESS}/produtos/").to_return(:status => 201)
10
+
11
+ end
12
+
13
+ it "should issue a post to the products url" do
14
+ expect(Vpsa::Api::Products).to receive(:post).with("/", :body => product_param.merge!({:token => "abc"}).to_json, :headers => header).and_call_original
15
+
16
+ Vpsa.new("abc").products.save(product_param)
17
+ end
18
+ end
19
+
20
+ describe "update" do
21
+ before(:each) do
22
+ stub_request(:put, "#{Vpsa::API_ADDRESS}/produtos/1").to_return(:status => 200)
23
+ end
24
+
25
+ it "should issue a put to the installments url" do
26
+ expect(Vpsa::Api::Products).to receive(:put).with("/1", :body => product_param.merge!({:token => "abc"}).to_json, :headers => header).and_call_original
27
+
28
+ Vpsa.new("abc").products.update(1, product_param)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Vpsa::Entity::Commercial::Product do
4
+ describe "as_parameter" do
5
+
6
+ let(:product_as_parameter) {{"descricao"=>"descricao", "classificacao"=>"classificacao", "origem"=>"origem", "fci"=>"fci", "metodoControle"=>"ESTOCAVEL",
7
+ "unidade"=>"UN", "custoReferencial"=>BigDecimal.new("10.35"), "codigoNcm"=>"12", "cnpjFornecedores"=>"cnpjFornecedores", "especificacao"=>"especificacao",
8
+ "codigoBarras"=>"codigoBarras", "codigoInterno"=>"codigoInterno", "codigoSistema"=>"codigoSistema", "estoqueMaximo"=>BigDecimal.new("10.0"), "estoqueMinimo"=>BigDecimal.new("2.0"),
9
+ "ativo"=>true, "descontoMaximo"=>BigDecimal.new("1.0"), "comissao"=>BigDecimal.new("2.0"), "preco"=>BigDecimal.new("14.0") }}
10
+
11
+ it "should return the product as parameter" do
12
+ product = Vpsa::Entity::Commercial::Product.new({"descricao"=>"descricao", "classificacao"=>"classificacao", "origem"=>"origem", "fci"=>"fci", "metodoControle"=>"ESTOCAVEL",
13
+ "unidade"=>"UN", "custoReferencial"=>BigDecimal.new("10.35"), "codigoNcm"=>"12", "cnpjFornecedores"=>"cnpjFornecedores", "especificacao"=>"especificacao",
14
+ "codigoBarras"=>"codigoBarras", "codigoInterno"=>"codigoInterno", "codigoSistema"=>"codigoSistema", "estoqueMaximo"=>BigDecimal.new("10.0"), "estoqueMinimo"=>BigDecimal.new("2.0"),
15
+ "ativo"=>true, "descontoMaximo"=>BigDecimal.new("1.0"), "comissao"=>BigDecimal.new("2.0"), "preco"=>BigDecimal.new("14.0") })
16
+
17
+ expect(product.as_parameter).to eq(product_as_parameter)
18
+ end
19
+
20
+
21
+ end
22
+
23
+ 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.25
4
+ version: 0.0.26
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-09-17 00:00:00.000000000 Z
11
+ date: 2015-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -60,6 +60,7 @@ files:
60
60
  - lib/vpsa/api/entities.rb
61
61
  - lib/vpsa/api/installments.rb
62
62
  - lib/vpsa/api/orders.rb
63
+ - lib/vpsa/api/products.rb
63
64
  - lib/vpsa/api/provisions.rb
64
65
  - lib/vpsa/api/receipts.rb
65
66
  - lib/vpsa/api/sales_history.rb
@@ -73,6 +74,7 @@ files:
73
74
  - lib/vpsa/entity/base.rb
74
75
  - lib/vpsa/entity/commercial/credit_limit.rb
75
76
  - lib/vpsa/entity/commercial/installment.rb
77
+ - lib/vpsa/entity/commercial/product.rb
76
78
  - lib/vpsa/init_from_hash.rb
77
79
  - lib/vpsa/searcher/administrative/company_searcher.rb
78
80
  - lib/vpsa/searcher/administrative/entity_searcher.rb
@@ -93,6 +95,7 @@ files:
93
95
  - spec/vpsa/api/entities_spec.rb
94
96
  - spec/vpsa/api/installments_spec.rb
95
97
  - spec/vpsa/api/orders_spec.rb
98
+ - spec/vpsa/api/products_spec.rb
96
99
  - spec/vpsa/api/provisions_spec.rb
97
100
  - spec/vpsa/api/receipts_spec.rb
98
101
  - spec/vpsa/api/sales_history_spec.rb
@@ -105,6 +108,7 @@ files:
105
108
  - spec/vpsa/entity/administrative/third_party_spec.rb
106
109
  - spec/vpsa/entity/commercial/credit_limit_spec.rb
107
110
  - spec/vpsa/entity/commercial/installment_spec.rb
111
+ - spec/vpsa/entity/commercial/products_spec.rb
108
112
  - spec/vpsa_spec.rb
109
113
  - vpsa.gemspec
110
114
  homepage: https://github.com/coyosoftware/vpsa
@@ -140,6 +144,7 @@ test_files:
140
144
  - spec/vpsa/api/entities_spec.rb
141
145
  - spec/vpsa/api/installments_spec.rb
142
146
  - spec/vpsa/api/orders_spec.rb
147
+ - spec/vpsa/api/products_spec.rb
143
148
  - spec/vpsa/api/provisions_spec.rb
144
149
  - spec/vpsa/api/receipts_spec.rb
145
150
  - spec/vpsa/api/sales_history_spec.rb
@@ -152,4 +157,5 @@ test_files:
152
157
  - spec/vpsa/entity/administrative/third_party_spec.rb
153
158
  - spec/vpsa/entity/commercial/credit_limit_spec.rb
154
159
  - spec/vpsa/entity/commercial/installment_spec.rb
160
+ - spec/vpsa/entity/commercial/products_spec.rb
155
161
  - spec/vpsa_spec.rb