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 +4 -4
- data/lib/vpsa/api/products.rb +17 -0
- data/lib/vpsa/client.rb +5 -1
- data/lib/vpsa/entity/commercial/product.rb +17 -0
- data/lib/vpsa/version.rb +1 -1
- data/spec/vpsa/api/products_spec.rb +31 -0
- data/spec/vpsa/entity/commercial/products_spec.rb +23 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bdb0222444b81ce4c13c600d847362cdcc624fac
|
4
|
+
data.tar.gz: 392e2b26998beabb07e4a8f2b5dc2cac3ebb94c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
data/lib/vpsa/client.rb
CHANGED
@@ -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)
|
data/lib/vpsa/version.rb
CHANGED
@@ -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.
|
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-
|
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
|