brcobranca 6.6.0 → 6.7.0

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: 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.