brcobranca 6.6.0 → 6.7.0

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: dde684f4e1747019a423680e7f4fd10d5d66ece6
4
- data.tar.gz: 5ed7b52056973139c8cc2187906cfa0276ccce69
3
+ metadata.gz: d4c1d2ca76237e4dcd2b446897870da4ea888a2e
4
+ data.tar.gz: ec2c9d2ea89c72cb75f881ed66d4eeffa019e195
5
5
  SHA512:
6
- metadata.gz: 4063569215fcff25384c5f107653fa3ae10e2fb7f7ab0c67bca214423fc0fad591b6ea6a378c825c58769653ebdb0111d59f999bd25bb4ecd28ef3390e6263b5
7
- data.tar.gz: f887d0a6a6fd852ea3189521ffd2d312f21e42379421c5b0128e6657d113371696038f10ce3f64b5e7a43e0bf6c93a1cb646751a7b9d6653e95350cf63b5a535
6
+ metadata.gz: 23baaf03bb009d26e1249d302498608bbba53e61e2289e3fe667643dd563a50915f3fac33556e4399f43e3a7f43abb6b37645dbe8b12e5d3e2ae97d274f66179
7
+ data.tar.gz: a78c9ce561e55d5722877661602945506b56a2b3d0cbb212c10670c0a166dc6464fa6d543bf2f6e28009441f4068dd015d2d46d43e85d9442172483599dd17e7
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3.0
1
+ 2.3.1
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- brcobranca (6.6.0)
4
+ brcobranca (6.7.0)
5
5
  activemodel (>= 3)
6
+ activesupport (>= 3)
6
7
  parseline (~> 1.0.3)
7
8
  rghost (~> 0.9)
8
9
  rghost_barcode (~> 0.9)
@@ -23,16 +24,16 @@ GEM
23
24
  simplecov (>= 0.7.1, < 1.0.0)
24
25
  coderay (1.1.1)
25
26
  concurrent-ruby (1.0.2)
26
- coveralls (0.8.14)
27
+ coveralls (0.8.15)
27
28
  json (>= 1.8, < 3)
28
29
  simplecov (~> 0.12.0)
29
30
  term-ansicolor (~> 1.3)
30
31
  thor (~> 0.19.1)
31
- tins (~> 1.6.0)
32
+ tins (>= 1.6.0, < 2)
32
33
  diff-lcs (1.2.5)
33
34
  docile (1.1.5)
34
35
  i18n (0.7.0)
35
- json (2.0.1)
36
+ json (2.0.2)
36
37
  method_source (0.8.2)
37
38
  minitest (5.9.0)
38
39
  parseline (1.0.3)
@@ -51,7 +52,7 @@ GEM
51
52
  rspec-core (~> 3.5.0)
52
53
  rspec-expectations (~> 3.5.0)
53
54
  rspec-mocks (~> 3.5.0)
54
- rspec-core (3.5.1)
55
+ rspec-core (3.5.2)
55
56
  rspec-support (~> 3.5.0)
56
57
  rspec-expectations (3.5.0)
57
58
  diff-lcs (>= 1.2.0, < 2.0)
@@ -80,7 +81,7 @@ GEM
80
81
  thor (0.19.1)
81
82
  thread_safe (0.3.5)
82
83
  timecop (0.8.1)
83
- tins (1.6.0)
84
+ tins (1.11.0)
84
85
  tzinfo (1.2.2)
85
86
  thread_safe (~> 0.1)
86
87
  unicode-display_width (1.1.0)
data/brcobranca.gemspec CHANGED
@@ -25,6 +25,6 @@ Gem::Specification.new do |gem|
25
25
  gem.add_dependency 'rghost_barcode', '~> 0.9'
26
26
  gem.add_dependency 'parseline', '~> 1.0.3'
27
27
  gem.add_dependency 'activemodel', '>= 3'
28
-
28
+ gem.add_dependency 'activesupport', '>= 3'
29
29
  gem.add_dependency 'unidecoder', '>= 1.1.2'
30
30
  end
@@ -1,7 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  #
3
3
  # Sicredi
4
- # Documentação: http://www.shapeness.net.br/upload//Sicredi_240.pdf
4
+ # Documentação: Maio 2016
5
5
  #
6
6
  module Brcobranca
7
7
  module Boleto
@@ -15,14 +15,19 @@ module Brcobranca
15
15
  validates_length_of :agencia, maximum: 4, message: 'deve ser menor ou igual a 4 dígitos.'
16
16
  validates_length_of :numero_documento, maximum: 5, message: 'deve ser menor ou igual a 5 dígitos.'
17
17
  validates_length_of :conta_corrente, maximum: 5, message: 'deve ser menor ou igual a 5 dígitos.'
18
- validates_length_of :carteira, maximum: 2, message: 'deve ser menor ou igual a 2 dígitos.'
18
+ # Carteira
19
+ # 1 – Com Registro
20
+ # 3 – Sem Registro
21
+ # Obs.: O SICREDI não validará este campo.
22
+ validates_length_of :carteira, maximum: 1, message: 'deve ser menor ou igual a 1 dígitos.'
19
23
  validates_length_of :posto, maximum: 2, message: 'deve ser menor ou igual a 2 dígitos.'
20
24
  validates_length_of :byte_idt, is: 1, message: 'deve ser 1 se o numero foi gerado pela agencia ou 2-9 se foi gerado pelo beneficiário'
25
+ validates_length_of :convenio, maximum: 5, message: 'deve ser menor ou igual a 5 dígitos.'
21
26
 
22
27
  # Nova instancia do Bradesco
23
28
  # @param (see Brcobranca::Boleto::Base#initialize)
24
29
  def initialize(campos = {})
25
- campos = { carteira: '03', especie_documento: 'A' }.merge!(campos)
30
+ campos = { carteira: '3', especie_documento: 'A' }.merge!(campos)
26
31
  super(campos)
27
32
  end
28
33
 
@@ -37,7 +42,7 @@ module Brcobranca
37
42
  #
38
43
  # @return [String] 2 caracteres numéricos.
39
44
  def carteira=(valor)
40
- @carteira = valor.to_s.rjust(2, '0') if valor
45
+ @carteira = valor.to_s.rjust(1, '0') if valor
41
46
  end
42
47
 
43
48
  # Posto
@@ -53,6 +58,12 @@ module Brcobranca
53
58
  @conta_corrente = valor.to_s.rjust(5, '0') if valor
54
59
  end
55
60
 
61
+ # Código Beneficiário
62
+ # @return [String] 5 caracteres numéricos.
63
+ def convenio=(valor)
64
+ @convenio = valor.to_s.rjust(5, '0') if valor
65
+ end
66
+
56
67
  # Dígito verificador do banco
57
68
  # @return [String] 1 caractere.
58
69
  def banco_dv
@@ -60,6 +71,11 @@ module Brcobranca
60
71
  end
61
72
 
62
73
  # Nosso número para exibir no boleto.
74
+ # O campo Nosso Número deve ser apresentado no formato AA/BXXXXX-D, onde:
75
+ # AA = Ano atual
76
+ # B = Byte que pode ser de 2 a 9. Somente será 1 se forem boletos pré-impressos.
77
+ # XXXXX = número sequencial
78
+ # D = dígito verificador calculado
63
79
  # @return [String]
64
80
  # @example
65
81
  # boleto.nosso_numero_boleto #=> "14/200022-5"
@@ -67,6 +83,10 @@ module Brcobranca
67
83
  "#{numero_documento_with_byte_idt[0..1]}/#{numero_documento_with_byte_idt[2..-1]}-#{nosso_numero_dv}"
68
84
  end
69
85
 
86
+ def nosso_numero_codigo_barra
87
+ nosso_numero_boleto.gsub(/\D/, '')
88
+ end
89
+
70
90
  def numero_documento_with_byte_idt
71
91
  "#{data_documento.strftime('%y')}#{byte_idt}#{numero_documento}"
72
92
  end
@@ -77,17 +97,6 @@ module Brcobranca
77
97
  @numero_documento = valor.to_s.rjust(5, '0') if valor
78
98
  end
79
99
 
80
- # Codigo referente ao tipo de cobrança
81
- # @return [String]: 1 caractere numérico
82
- def tipo_cobranca
83
- '3'
84
- end
85
-
86
- # Codigo referente ao tipo de carteira
87
- # @return [String]: 1 caractere numérico
88
- def tipo_carteira
89
- '1' if carteira == '03'
90
- end
91
100
  # Dígito verificador do nosso número
92
101
  # @return [Integer] 1 caracteres numéricos.
93
102
  def nosso_numero_dv
@@ -96,16 +105,26 @@ module Brcobranca
96
105
  end
97
106
 
98
107
  def agencia_conta_boleto
99
- "#{agencia}.#{posto}.#{conta_corrente}"
108
+ "#{agencia}.#{posto}.#{convenio}"
100
109
  end
101
110
 
102
111
  def agencia_posto_conta
103
- "#{agencia}#{posto}#{conta_corrente}"
112
+ "#{agencia}#{posto}#{convenio}"
104
113
  end
105
114
 
106
115
  # Segunda parte do código de barras.
116
+ # Posição Tamanho Conteúdo
117
+ # 20 – 20 01 Código numérico correspondente ao tipo de cobrança: “1” – Com Registro “3 – Sem Registro”. Obs.: O SICREDI não validará este campo.
118
+ # 21 – 21 01 Código numérico correspondente ao tipo de carteira: “1” - carteira simples
119
+ # 22 – 30 09 Nosso número
120
+ # 31 – 34 # 04 # Cooperativa de crédito/agência beneficiária
121
+ # 35 – 36 # 02 # Posto da cooperativa de crédito/agência beneficiária
122
+ # 37 – 41 # 05 # Código do beneficiário
123
+ # 42 – 42 # 01 # Será 1 (um) quando houver valor expresso no campo “valor do documento”
124
+ # 43 – 43 # 01 # Filler – zeros “0”
125
+ # 44 – 44 # 01 # DV do campo livre calculado por módulo 11 com aproveitamento total (resto igual a 0 ou 1 DV cai para 0)
107
126
  def codigo_barras_segunda_parte
108
- campo_livre = "#{tipo_cobranca}#{tipo_carteira}#{nosso_numero_boleto.gsub(/\D/, '')}#{agencia_posto_conta}10"
127
+ campo_livre = "#{carteira}1#{nosso_numero_codigo_barra}#{agencia_posto_conta}10"
109
128
  campo_livre + campo_livre.modulo11(mapeamento: mapeamento_para_modulo_11).to_s
110
129
  end
111
130
 
@@ -7,7 +7,7 @@ module Brcobranca
7
7
  # @param (see Brcobranca::Boleto::Base#initialize)
8
8
  def initialize(campos = {})
9
9
  campos = {
10
- carteira: '03',
10
+ carteira: '3',
11
11
  especie_documento: 'DM',
12
12
  local_pagamento: 'PAGÁVEL PREFERENCIALMENTE NAS AGÊNCIAS DA UNICRED'
13
13
  }.merge!(campos)
@@ -1,7 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  require 'unidecoder'
3
- require 'active_support/core_ext/date/calculations'
4
- require 'active_support/core_ext/time/calculations'
5
3
 
6
4
  module Brcobranca
7
5
  module Remessa
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  module Brcobranca
4
- VERSION = '6.6.0'
4
+ VERSION = '6.7.0'
5
5
  end
data/lib/brcobranca.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  require 'active_model'
3
+ require 'active_support/core_ext/date/calculations'
4
+ require 'active_support/core_ext/time/calculations'
3
5
  require 'brcobranca/calculo'
4
6
  require 'brcobranca/limpeza'
5
7
  require 'brcobranca/formatacao'
@@ -2,23 +2,22 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  RSpec.describe Brcobranca::Boleto::Sicredi do
5
- before do
6
- @valid_attributes = {
7
- especie_documento: 'A',
8
- data_documento: Date.parse('2012-01-18'),
9
- valor: 0.0,
10
- cedente: 'Kivanio Barbosa',
11
- documento_cedente: '12345678912',
12
- sacado: 'Claudio Pozzebom',
13
- sacado_documento: '12345678900',
14
- agencia: '4042',
15
- conta_corrente: '61900',
16
- convenio: 12_387_989,
17
- numero_documento: '00168',
18
- posto: '18',
19
- byte_idt: '2'
20
- }
21
- end
5
+ let(:valid_attributes) { {
6
+ data_documento: Date.parse('2016-08-22'),
7
+ data_vencimento: Date.parse('2016-08-22'),
8
+ valor: 195.57,
9
+ cedente: 'Kivanio Barbosa',
10
+ documento_cedente: '12345678912',
11
+ sacado: 'Claudio Pozzebom',
12
+ sacado_documento: '12345678900',
13
+ agencia: '0710',
14
+ conta_corrente: '61900',
15
+ convenio: '129',
16
+ numero_documento: '8879',
17
+ posto: '65',
18
+ byte_idt: '2',
19
+ carteira: '1'
20
+ } }
22
21
 
23
22
  it 'Criar nova instancia com atributos padrões' do
24
23
  boleto_novo = described_class.new
@@ -33,48 +32,87 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
33
32
  expect(boleto_novo.valor).to eql(0.0)
34
33
  expect(boleto_novo.valor_documento).to eql(0.0)
35
34
  expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
36
- expect(boleto_novo.carteira).to eql('03')
35
+ expect(boleto_novo.carteira).to eql('3')
37
36
  end
38
37
 
39
38
  it 'Criar nova instancia com atributos válidos' do
40
- boleto_novo = described_class.new(@valid_attributes)
39
+ boleto_novo = described_class.new(valid_attributes)
41
40
  expect(boleto_novo.banco).to eql('748')
42
41
  expect(boleto_novo.especie_documento).to eql('A')
43
42
  expect(boleto_novo.especie).to eql('R$')
44
43
  expect(boleto_novo.moeda).to eql('9')
45
- expect(boleto_novo.data_documento).to eql(Date.parse('2012-01-18'))
46
- expect(boleto_novo.data_vencimento).to eql(Date.current)
44
+ expect(boleto_novo.data_documento).to eql(Date.parse('2016-08-22'))
45
+ expect(boleto_novo.data_vencimento).to eql(Date.parse('2016-08-22'))
47
46
  expect(boleto_novo.aceite).to eql('S')
48
47
  expect(boleto_novo.quantidade).to eql(1)
49
- expect(boleto_novo.valor).to eql(0.0)
50
- expect(boleto_novo.valor_documento).to eql(0.0)
48
+ expect(boleto_novo.valor).to eql(195.57)
49
+ expect(boleto_novo.valor_documento).to eql(195.57)
51
50
  expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
52
51
  expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
53
52
  expect(boleto_novo.documento_cedente).to eql('12345678912')
54
53
  expect(boleto_novo.sacado).to eql('Claudio Pozzebom')
55
54
  expect(boleto_novo.sacado_documento).to eql('12345678900')
56
55
  expect(boleto_novo.conta_corrente).to eql('61900')
57
- expect(boleto_novo.agencia).to eql('4042')
58
- expect(boleto_novo.convenio).to eql(12_387_989)
59
- expect(boleto_novo.numero_documento).to eql('00168')
60
- expect(boleto_novo.carteira).to eql('03')
56
+ expect(boleto_novo.agencia).to eql('0710')
57
+ expect(boleto_novo.convenio).to eql('00129')
58
+ expect(boleto_novo.numero_documento).to eql('08879')
59
+ expect(boleto_novo.carteira).to eql('1')
61
60
  end
62
61
 
63
- it 'Montar código de barras para carteira número 03' do
64
- @valid_attributes[:valor] = 2952.95
65
- @valid_attributes[:data_vencimento] = Date.parse('2012-01-24')
66
- @valid_attributes[:data_documento] = Date.parse('2012-01-19')
67
- @valid_attributes[:numero_documento] = '13871'
68
- @valid_attributes[:conta_corrente] = '12345'
69
- @valid_attributes[:agencia] = '1234'
70
- @valid_attributes[:carteira] = '03'
71
- @valid_attributes[:posto] = '18'
72
- @valid_attributes[:aceite] = 'N'
73
- @valid_attributes[:byte_idt] = '2'
74
- boleto_novo = described_class.new(@valid_attributes)
62
+ it 'Montar código de barras para carteira número 3' do
63
+ valid_attributes[:carteira] = '3'
64
+ boleto_novo = described_class.new(valid_attributes)
75
65
 
76
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74893.11220 13871.512342 18123.451009 1 52220000295295')
77
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('3112213871512341812345100')
66
+ expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74893.11626 08879.307109 65001.291056 1 68940000019557')
67
+ expect(boleto_novo.codigo_barras_segunda_parte).to eql('3116208879307106500129105')
68
+ end
69
+
70
+ context 'carteira número 1' do
71
+ it 'case 1' do
72
+ boleto_novo = described_class.new(valid_attributes)
73
+ expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08879.307109 65001.291015 1 68940000019557')
74
+ expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208879307106500129101')
75
+ end
76
+ it 'case 2' do
77
+ valid_attributes[:valor] = 700.00
78
+ valid_attributes[:data_vencimento] = Date.parse('2016-07-25')
79
+ valid_attributes[:numero_documento] = '08902'
80
+ boleto_novo = described_class.new(valid_attributes)
81
+ expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08902.107104 65001.291007 3 68660000070000')
82
+ expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208902107106500129100')
83
+ end
84
+ it 'case 3' do
85
+ valid_attributes[:valor] = 700.00
86
+ valid_attributes[:data_vencimento] = Date.parse('2016-07-25')
87
+ valid_attributes[:numero_documento] = '8896'
88
+ boleto_novo = described_class.new(valid_attributes)
89
+ expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08896.307108 65001.291072 1 68660000070000')
90
+ expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208896307106500129107')
91
+ end
92
+ it 'case 4' do
93
+ valid_attributes[:valor] = 700.00
94
+ valid_attributes[:data_vencimento] = Date.parse('2016-07-25')
95
+ valid_attributes[:numero_documento] = '8899'
96
+ boleto_novo = described_class.new(valid_attributes)
97
+ expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08899.807104 65001.291031 6 68660000070000')
98
+ expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208899807106500129103')
99
+ end
100
+ it 'case 5' do
101
+ valid_attributes[:valor] = 195.58
102
+ valid_attributes[:data_vencimento] = Date.parse('2016-07-25')
103
+ valid_attributes[:numero_documento] = '8878'
104
+ boleto_novo = described_class.new(valid_attributes)
105
+ expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08878.507105 65001.291064 1 68660000019558')
106
+ expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208878507106500129106')
107
+ end
108
+ it 'case 6' do
109
+ valid_attributes[:valor] = 222.00
110
+ valid_attributes[:data_vencimento] = Date.parse('2016-08-26')
111
+ valid_attributes[:numero_documento] = '9048'
112
+ boleto_novo = described_class.new(valid_attributes)
113
+ expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 09048.807102 65001.291031 8 68980000022200')
114
+ expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116209048807106500129103')
115
+ end
78
116
  end
79
117
 
80
118
  it 'Não permitir gerar boleto com atributos inválido' do
@@ -84,25 +122,14 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
84
122
  end
85
123
 
86
124
  it 'Montar nosso_numero_boleto' do
87
- boleto_novo = described_class.new(@valid_attributes)
88
-
89
- boleto_novo.byte_idt = '2'
90
- boleto_novo.agencia = '1234'
91
- boleto_novo.posto = '18'
92
- boleto_novo.conta_corrente = '12345'
93
- boleto_novo.numero_documento = '13871'
94
- boleto_novo.carteira = '03'
95
- expect(boleto_novo.nosso_numero_boleto).to eql('12/213871-5')
96
- expect(boleto_novo.nosso_numero_dv).to eql(5)
125
+ boleto_novo = described_class.new(valid_attributes)
126
+ expect(boleto_novo.nosso_numero_boleto).to eql('16/208879-3')
127
+ expect(boleto_novo.nosso_numero_dv).to eql(3)
97
128
  end
98
129
 
99
130
  it 'Montar agencia_conta_boleto' do
100
- boleto_novo = described_class.new(@valid_attributes)
101
-
102
- boleto_novo.agencia = '1234'
103
- boleto_novo.posto = '18'
104
- boleto_novo.conta_corrente = '12345'
105
- expect(boleto_novo.agencia_conta_boleto).to eql('1234.18.12345')
131
+ boleto_novo = described_class.new(valid_attributes)
132
+ expect(boleto_novo.agencia_conta_boleto).to eql('0710.65.00129')
106
133
  end
107
134
 
108
135
  describe 'Busca logotipo do banco' do
@@ -110,7 +137,7 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
110
137
  end
111
138
 
112
139
  it 'Gerar boleto nos formatos válidos com método to_' do
113
- boleto_novo = described_class.new(@valid_attributes)
140
+ boleto_novo = described_class.new(valid_attributes)
114
141
 
115
142
  %w(pdf jpg tif png).each do |format|
116
143
  file_body = boleto_novo.send("to_#{format}".to_sym)
@@ -125,13 +152,13 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
125
152
  end
126
153
 
127
154
  it 'Gerar boleto nos formatos válidos' do
128
- @valid_attributes[:valor] = 2952.95
129
- @valid_attributes[:data_documento] = Date.parse('2009-04-30')
130
- @valid_attributes[:data_vencimento] = Date.parse('2008-02-01')
131
- @valid_attributes[:numero_documento] = '86452'
132
- @valid_attributes[:conta_corrente] = '03005'
133
- @valid_attributes[:agencia] = '1172'
134
- boleto_novo = described_class.new(@valid_attributes)
155
+ valid_attributes[:valor] = 2952.95
156
+ valid_attributes[:data_documento] = Date.parse('2009-04-30')
157
+ valid_attributes[:data_vencimento] = Date.parse('2008-02-01')
158
+ valid_attributes[:numero_documento] = '86452'
159
+ valid_attributes[:conta_corrente] = '03005'
160
+ valid_attributes[:agencia] = '1172'
161
+ boleto_novo = described_class.new(valid_attributes)
135
162
 
136
163
  %w(pdf jpg tif png).each do |format|
137
164
  file_body = boleto_novo.to(format)
@@ -144,24 +171,4 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
144
171
  expect(File.exist?(tmp_file.path)).to be_falsey
145
172
  end
146
173
  end
147
-
148
- it "quando dígito verificador for 10 deve ser mapeado para 0" do
149
- attributes = {
150
- convenio: "2442725",
151
- agencia: "0217",
152
- conta_corrente: "42725",
153
- byte_idt: 1,
154
- posto: "24",
155
- numero_documento: 25,
156
- valor: 20.00,
157
- data_documento: Date.parse("2015-01-18")
158
- }
159
- attributes = @valid_attributes.merge(attributes)
160
- boleto_novo = described_class.new(attributes)
161
-
162
- result = boleto_novo.nosso_numero_dv
163
-
164
- expect("#{boleto_novo.agencia_posto_conta}#{boleto_novo.numero_documento_with_byte_idt}".modulo11).to eq(10)
165
- expect(result).to eq(0)
166
- end
167
174
  end
@@ -13,7 +13,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
13
13
  sacado_documento: '12345678900',
14
14
  agencia: '4042',
15
15
  conta_corrente: '61900',
16
- convenio: 12_387_989,
16
+ convenio: 12345,
17
17
  numero_documento: '00168',
18
18
  posto: '1',
19
19
  byte_idt: '7'
@@ -33,7 +33,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
33
33
  expect(boleto_novo.valor).to eql(0.0)
34
34
  expect(boleto_novo.valor_documento).to eql(0.0)
35
35
  expect(boleto_novo.local_pagamento).to eql('PAGÁVEL PREFERENCIALMENTE NAS AGÊNCIAS DA UNICRED')
36
- expect(boleto_novo.carteira).to eql('03')
36
+ expect(boleto_novo.carteira).to eql('3')
37
37
  end
38
38
 
39
39
  it 'Criar nova instancia com atributos válidos' do
@@ -55,9 +55,9 @@ RSpec.describe Brcobranca::Boleto::Unicred do
55
55
  expect(boleto_novo.sacado_documento).to eql('12345678900')
56
56
  expect(boleto_novo.conta_corrente).to eql('61900')
57
57
  expect(boleto_novo.agencia).to eql('4042')
58
- expect(boleto_novo.convenio).to eql(12_387_989)
58
+ expect(boleto_novo.convenio).to eql("12345")
59
59
  expect(boleto_novo.numero_documento).to eql('00168')
60
- expect(boleto_novo.carteira).to eql('03')
60
+ expect(boleto_novo.carteira).to eql('3')
61
61
  end
62
62
 
63
63
  it 'Montar código de barras para carteira número 03' do
@@ -67,7 +67,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
67
67
  @valid_attributes[:numero_documento] = '13871'
68
68
  @valid_attributes[:conta_corrente] = '12345'
69
69
  @valid_attributes[:agencia] = '1234'
70
- @valid_attributes[:carteira] = '03'
70
+ @valid_attributes[:carteira] = '3'
71
71
  @valid_attributes[:posto] = '8'
72
72
  @valid_attributes[:aceite] = 'N'
73
73
  @valid_attributes[:byte_idt] = '2'
@@ -91,7 +91,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
91
91
  boleto_novo.posto = '18'
92
92
  boleto_novo.conta_corrente = '12345'
93
93
  boleto_novo.numero_documento = '13871'
94
- boleto_novo.carteira = '03'
94
+ boleto_novo.carteira = '3'
95
95
  expect(boleto_novo.nosso_numero_boleto).to eql('12/213871-5')
96
96
  expect(boleto_novo.nosso_numero_dv).to eql(5)
97
97
  end
@@ -144,24 +144,4 @@ RSpec.describe Brcobranca::Boleto::Unicred do
144
144
  expect(File.exist?(tmp_file.path)).to be_falsey
145
145
  end
146
146
  end
147
-
148
- it "quando dígito verificador for 10 deve ser mapeado para 0" do
149
- attributes = {
150
- convenio: "2442725",
151
- agencia: "0217",
152
- conta_corrente: "42725",
153
- byte_idt: 1,
154
- posto: "24",
155
- numero_documento: 25,
156
- valor: 20.00,
157
- data_documento: Date.parse("2015-01-18")
158
- }
159
- attributes = @valid_attributes.merge(attributes)
160
- boleto_novo = described_class.new(attributes)
161
-
162
- result = boleto_novo.nosso_numero_dv
163
-
164
- expect("#{boleto_novo.agencia_posto_conta}#{boleto_novo.numero_documento_with_byte_idt}".modulo11).to eq(10)
165
- expect(result).to eq(0)
166
- end
167
147
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brcobranca
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.6.0
4
+ version: 6.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kivanio Barbosa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-25 00:00:00.000000000 Z
11
+ date: 2016-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rghost
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: activesupport
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '3'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '3'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: unidecoder
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -259,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
259
273
  requirements:
260
274
  - GhostScript > 9.0, para gear PDF e código de Barras
261
275
  rubyforge_project:
262
- rubygems_version: 2.6.4
276
+ rubygems_version: 2.5.1
263
277
  signing_key:
264
278
  specification_version: 4
265
279
  summary: Gem que permite trabalhar com bloquetos de cobranca para bancos brasileiros.