br_documents 0.1.3 → 0.2.2
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 +4 -4
- data/.github/workflows/config.yml +40 -0
- data/.rubocop.yml +73 -0
- data/.tool-versions +1 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +79 -42
- data/README.md +33 -0
- data/Rakefile +4 -4
- data/br_documents.gemspec +26 -19
- data/lib/br_documents/cnpj_cpf/cnpj.rb +2 -2
- data/lib/br_documents/cnpj_cpf/cpf.rb +2 -2
- data/lib/br_documents/cnpj_cpf/document.rb +9 -9
- data/lib/br_documents/cnpj_validator.rb +4 -4
- data/lib/br_documents/commons/mod11.rb +1 -2
- data/lib/br_documents/commons/mod14.rb +1 -2
- data/lib/br_documents/cpf_validator.rb +4 -4
- data/lib/br_documents/{gtin/gtin.rb → gtin.rb} +3 -3
- data/lib/br_documents/gtin_validator.rb +6 -6
- data/lib/br_documents/ie/ac.rb +3 -2
- data/lib/br_documents/ie/al.rb +2 -1
- data/lib/br_documents/ie/am.rb +3 -2
- data/lib/br_documents/ie/ap.rb +20 -16
- data/lib/br_documents/ie/ba.rb +28 -25
- data/lib/br_documents/ie/base.rb +1 -1
- data/lib/br_documents/ie/ce.rb +3 -2
- data/lib/br_documents/ie/df.rb +3 -2
- data/lib/br_documents/ie/es.rb +2 -1
- data/lib/br_documents/ie/factory.rb +3 -3
- data/lib/br_documents/ie/go.rb +3 -2
- data/lib/br_documents/ie/ma.rb +2 -1
- data/lib/br_documents/ie/mg.rb +14 -17
- data/lib/br_documents/ie/ms.rb +2 -1
- data/lib/br_documents/ie/mt.rb +6 -5
- data/lib/br_documents/ie/pa.rb +3 -2
- data/lib/br_documents/ie/pattern1.rb +10 -7
- data/lib/br_documents/ie/pattern2.rb +9 -8
- data/lib/br_documents/ie/pb.rb +3 -2
- data/lib/br_documents/ie/pe.rb +10 -10
- data/lib/br_documents/ie/pi.rb +2 -1
- data/lib/br_documents/ie/pr.rb +3 -2
- data/lib/br_documents/ie/rj.rb +3 -2
- data/lib/br_documents/ie/rn.rb +19 -16
- data/lib/br_documents/ie/ro.rb +16 -13
- data/lib/br_documents/ie/rr.rb +4 -3
- data/lib/br_documents/ie/rs.rb +3 -2
- data/lib/br_documents/ie/sc.rb +3 -2
- data/lib/br_documents/ie/se.rb +3 -2
- data/lib/br_documents/ie/sp.rb +17 -14
- data/lib/br_documents/ie/to.rb +6 -5
- data/lib/br_documents/ie_validator.rb +7 -7
- data/lib/br_documents/suframa.rb +46 -0
- data/lib/br_documents/suframa_validator.rb +8 -0
- data/lib/br_documents/version.rb +1 -1
- data/lib/br_documents.rb +3 -3
- data/spec/br_documents/cnpj_cpf/cnpj_spec.rb +59 -0
- data/spec/br_documents/cnpj_cpf/cpf_spec.rb +59 -0
- data/spec/br_documents/cnpj_validator_spec.rb +36 -0
- data/spec/br_documents/cpf_validator_spec.rb +36 -0
- data/spec/{gtin → br_documents}/gtin_spec.rb +4 -4
- data/spec/{gtin_validator_spec.rb → br_documents/gtin_validator_spec.rb} +14 -14
- data/spec/br_documents/ie/ac_spec.rb +43 -0
- data/spec/br_documents/ie/al_spec.rb +36 -0
- data/spec/br_documents/ie/am_spec.rb +43 -0
- data/spec/br_documents/ie/ap_spec.rb +36 -0
- data/spec/br_documents/ie/ba_spec.rb +69 -0
- data/spec/br_documents/ie/ce_spec.rb +16 -0
- data/spec/br_documents/ie/df_spec.rb +43 -0
- data/spec/br_documents/ie/es_spec.rb +16 -0
- data/spec/br_documents/ie/factory_spec.rb +202 -0
- data/spec/br_documents/ie/go_spec.rb +43 -0
- data/spec/br_documents/ie/ma_spec.rb +16 -0
- data/spec/br_documents/ie/mg_spec.rb +43 -0
- data/spec/br_documents/ie/ms_spec.rb +16 -0
- data/spec/br_documents/ie/mt_spec.rb +49 -0
- data/spec/br_documents/ie/pa_spec.rb +43 -0
- data/spec/br_documents/ie/pb_spec.rb +16 -0
- data/spec/br_documents/ie/pe_spec.rb +62 -0
- data/spec/br_documents/ie/pi_spec.rb +16 -0
- data/spec/br_documents/ie/pr_spec.rb +36 -0
- data/spec/br_documents/ie/rj_spec.rb +43 -0
- data/spec/br_documents/ie/rn_spec.rb +62 -0
- data/spec/br_documents/ie/ro_spec.rb +62 -0
- data/spec/br_documents/ie/rr_spec.rb +43 -0
- data/spec/br_documents/ie/rs_spec.rb +41 -0
- data/spec/br_documents/ie/sc_spec.rb +43 -0
- data/spec/br_documents/ie/se_spec.rb +16 -0
- data/spec/br_documents/ie/shared_examples_for_pattern1.rb +33 -0
- data/spec/br_documents/ie/shared_examples_for_to_remove_all_masks.rb +16 -0
- data/spec/br_documents/ie/sp_spec.rb +45 -0
- data/spec/br_documents/ie/to_spec.rb +100 -0
- data/spec/{ie_validator_spec.rb → br_documents/ie_validator_spec.rb} +12 -9
- data/spec/br_documents/suframa_spec.rb +73 -0
- data/spec/br_documents/suframa_validator_spec.rb +36 -0
- data/spec/spec_helper.rb +6 -6
- data/spec/support/utilities.rb +2 -2
- metadata +177 -99
- data/.circleci/config.yml +0 -42
- data/spec/cnpj_cpf/cnpj_spec.rb +0 -59
- data/spec/cnpj_cpf/cpf_spec.rb +0 -59
- data/spec/cnpj_validator_spec.rb +0 -36
- data/spec/cpf_validator_spec.rb +0 -36
- data/spec/ie/ac_spec.rb +0 -43
- data/spec/ie/al_spec.rb +0 -36
- data/spec/ie/am_spec.rb +0 -43
- data/spec/ie/ap_spec.rb +0 -36
- data/spec/ie/ba_spec.rb +0 -69
- data/spec/ie/ce_spec.rb +0 -16
- data/spec/ie/df_spec.rb +0 -43
- data/spec/ie/es_spec.rb +0 -16
- data/spec/ie/factory_spec.rb +0 -203
- data/spec/ie/go_spec.rb +0 -43
- data/spec/ie/ma_spec.rb +0 -16
- data/spec/ie/mg_spec.rb +0 -43
- data/spec/ie/ms_spec.rb +0 -16
- data/spec/ie/mt_spec.rb +0 -44
- data/spec/ie/pa_spec.rb +0 -43
- data/spec/ie/pb_spec.rb +0 -16
- data/spec/ie/pe_spec.rb +0 -62
- data/spec/ie/pi_spec.rb +0 -16
- data/spec/ie/pr_spec.rb +0 -36
- data/spec/ie/rj_spec.rb +0 -43
- data/spec/ie/rn_spec.rb +0 -62
- data/spec/ie/ro_spec.rb +0 -62
- data/spec/ie/rr_spec.rb +0 -43
- data/spec/ie/rs_spec.rb +0 -41
- data/spec/ie/sc_spec.rb +0 -43
- data/spec/ie/se_spec.rb +0 -16
- data/spec/ie/shared_examples_for_pattern1.rb +0 -33
- data/spec/ie/shared_examples_for_to_remove_all_masks.rb +0 -17
- data/spec/ie/sp_spec.rb +0 -45
- data/spec/ie/to_spec.rb +0 -100
data/spec/cnpj_cpf/cnpj_spec.rb
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
|
|
3
|
-
describe BrDocuments::CnpjCpf::Cnpj do
|
|
4
|
-
describe "#formatted" do
|
|
5
|
-
it "returns a formatted number" do
|
|
6
|
-
cnpj = BrDocuments::CnpjCpf::Cnpj.new("04001155000101")
|
|
7
|
-
expect(cnpj.formatted).to eq "04.001.155/0001-01"
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
context "when is invalid" do
|
|
11
|
-
it "returns an empty string" do
|
|
12
|
-
cnpj = BrDocuments::CnpjCpf::Cnpj.new("123")
|
|
13
|
-
expect(cnpj.formatted).to eq ""
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
it "is invalid with malformed number" do
|
|
19
|
-
["242.2818/50001-54", "35.611.011/000192"].each do |number|
|
|
20
|
-
cnpj = BrDocuments::CnpjCpf::Cnpj.new(number)
|
|
21
|
-
expect(cnpj).to_not be_valid
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
it "is invalid with a number longer than 14" do
|
|
26
|
-
["24.228.185/0001-544", "936710360001881"].each do |number|
|
|
27
|
-
cnpj = BrDocuments::CnpjCpf::Cnpj.new(number)
|
|
28
|
-
expect(cnpj).to_not be_valid
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
it "is invalid with a number shorter than 14" do
|
|
33
|
-
["24.228.185/0001-5", "9367103600018"].each do |number|
|
|
34
|
-
cnpj = BrDocuments::CnpjCpf::Cnpj.new(number)
|
|
35
|
-
expect(cnpj).to_not be_valid
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
it "is invalid with a sequence of the same number" do
|
|
40
|
-
["11.111.111/1111-11", "22222222222222"].each do |number|
|
|
41
|
-
cnpj = BrDocuments::CnpjCpf::Cnpj.new(number)
|
|
42
|
-
expect(cnpj).to_not be_valid
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
it "is invalid with invalid check number" do
|
|
47
|
-
["04.001.155/0001-03", "85961757000101"].each do |number|
|
|
48
|
-
cnpj = BrDocuments::CnpjCpf::Cnpj.new(number)
|
|
49
|
-
expect(cnpj).to_not be_valid
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
it "is valid with correct number" do
|
|
54
|
-
["04.001.155/0001-01", "85961757000102"].each do |number|
|
|
55
|
-
cnpj = BrDocuments::CnpjCpf::Cnpj.new(number)
|
|
56
|
-
expect(cnpj).to be_valid
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
data/spec/cnpj_cpf/cpf_spec.rb
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
|
|
3
|
-
describe BrDocuments::CnpjCpf::Cpf do
|
|
4
|
-
describe "#formatted" do
|
|
5
|
-
it "returns a formatted number" do
|
|
6
|
-
cpf = BrDocuments::CnpjCpf::Cpf.new("11144477735")
|
|
7
|
-
expect(cpf.formatted).to eq "111.444.777-35"
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
context "when is invalid" do
|
|
11
|
-
it "returns an empty string" do
|
|
12
|
-
cpf = BrDocuments::CnpjCpf::Cpf.new("123")
|
|
13
|
-
expect(cpf.formatted).to eq ""
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
it "is invalid with malformed number" do
|
|
19
|
-
["111.126.491.07", "482.261.15-663", "111444.777-35"].each do |number|
|
|
20
|
-
cpf = BrDocuments::CnpjCpf::Cpf.new(number)
|
|
21
|
-
expect(cpf).to_not be_valid
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
it "is invalid with a number longer than 11" do
|
|
26
|
-
["045.769.421-150", "308514217766"].each do |number|
|
|
27
|
-
cpf = BrDocuments::CnpjCpf::Cpf.new(number)
|
|
28
|
-
expect(cpf).to_not be_valid
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
it "is invalid with a number shorter than 11" do
|
|
33
|
-
["111.444.777-3", "1234567890"].each do |number|
|
|
34
|
-
cpf = BrDocuments::CnpjCpf::Cpf.new(number)
|
|
35
|
-
expect(cpf).to_not be_valid
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
it "is invalid with a sequence of the same number" do
|
|
40
|
-
["111.111.111-11", "22222222222"].each do |number|
|
|
41
|
-
cpf = BrDocuments::CnpjCpf::Cpf.new(number)
|
|
42
|
-
expect(cpf).to_not be_valid
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
it "is invalid with invalid check number" do
|
|
47
|
-
["111.111.111-22", "2222222233"].each do |number|
|
|
48
|
-
cpf = BrDocuments::CnpjCpf::Cpf.new(number)
|
|
49
|
-
expect(cpf).to_not be_valid
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
it "is valid with correct number" do
|
|
54
|
-
["111.444.777-35", "01233254120"].each do |number|
|
|
55
|
-
cpf = BrDocuments::CnpjCpf::Cpf.new(number)
|
|
56
|
-
expect(cpf).to be_valid
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
data/spec/cnpj_validator_spec.rb
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
|
|
3
|
-
describe CnpjValidator do
|
|
4
|
-
before(:each) do
|
|
5
|
-
@validator = CnpjValidator.new(attributes: "cnpj")
|
|
6
|
-
@mock = double("model")
|
|
7
|
-
allow(@mock).to receive(:errors).and_return([])
|
|
8
|
-
allow(@mock.errors).to receive(:messages).and_return({})
|
|
9
|
-
allow(@mock.errors).to receive(:add) do | attribute, error |
|
|
10
|
-
@mock.errors.messages[attribute] = [error]
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
subject { @validator }
|
|
15
|
-
|
|
16
|
-
context "when Cnpj is valid" do
|
|
17
|
-
it "doesn't add errors in model" do
|
|
18
|
-
subject.validate_each(@mock, "cnpj", "85961757000102")
|
|
19
|
-
expect(@mock.errors.messages).to be_empty
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
context "when Cnpj is blank" do
|
|
24
|
-
it "doesn't add errors in model" do
|
|
25
|
-
subject.validate_each(@mock, "cnpj", "")
|
|
26
|
-
expect(@mock.errors.messages).to be_empty
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
context "when Cnpj is invalid" do
|
|
31
|
-
it "adds errors in model" do
|
|
32
|
-
subject.validate_each(@mock, "cnpj", "85961757000103")
|
|
33
|
-
expect(@mock.errors.messages).to_not be_empty
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
data/spec/cpf_validator_spec.rb
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
|
|
3
|
-
describe CpfValidator do
|
|
4
|
-
before(:each) do
|
|
5
|
-
@validator = CpfValidator.new(attributes: "cpf")
|
|
6
|
-
@mock = double("model")
|
|
7
|
-
allow(@mock).to receive(:errors).and_return([])
|
|
8
|
-
allow(@mock.errors).to receive(:messages).and_return({})
|
|
9
|
-
allow(@mock.errors).to receive(:add) do | attribute, error |
|
|
10
|
-
@mock.errors.messages[attribute] = [error]
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
subject { @validator }
|
|
15
|
-
|
|
16
|
-
context "when Cpf is valid" do
|
|
17
|
-
it "doesn't add errors in model" do
|
|
18
|
-
subject.validate_each(@mock, "cpf", "01233254120")
|
|
19
|
-
expect(@mock.errors.messages).to be_empty
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
context "when Cpf is blank" do
|
|
24
|
-
it "doesn't add errors in model" do
|
|
25
|
-
subject.validate_each(@mock, "cpf", "")
|
|
26
|
-
expect(@mock.errors.messages).to be_empty
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
context "when Cpf is invalid" do
|
|
31
|
-
it "adds errors in model" do
|
|
32
|
-
subject.validate_each(@mock, "cpf", "01233254121")
|
|
33
|
-
expect(@mock.errors.messages).to_not be_empty
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
data/spec/ie/ac_spec.rb
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
require_relative "shared_examples_for_to_remove_all_masks"
|
|
3
|
-
|
|
4
|
-
RSpec.describe BrDocuments::IE::AC do
|
|
5
|
-
describe "#formatted" do
|
|
6
|
-
it "returns a formatted ie" do
|
|
7
|
-
ie = described_class.new("1234567890123")
|
|
8
|
-
expect(ie.formatted).to eq "12.345.678/901-23"
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
describe "#valid?" do
|
|
13
|
-
it "is invalid with malformed number" do
|
|
14
|
-
["01.448.52/88.91-50", "01.278.704/5555-7", "01.AB7.904/028-50"].each do |number|
|
|
15
|
-
ie = described_class.new(number)
|
|
16
|
-
expect(ie).to_not be_valid
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
it "is invalid with length different to 13" do
|
|
21
|
-
["1234567890", "123456789012"].each do |number|
|
|
22
|
-
ie = described_class.new(number)
|
|
23
|
-
expect(ie).to_not be_valid
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
it "is invalid with invalid check number" do
|
|
28
|
-
["0135184641523", "0172567054082"].each do |number|
|
|
29
|
-
ie = described_class.new(number)
|
|
30
|
-
expect(ie).to_not be_valid
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
it "is valid with valid number" do
|
|
35
|
-
["0182235562573", "0104754560901"].each do |number|
|
|
36
|
-
ie = described_class.new(number)
|
|
37
|
-
expect(ie).to be_valid
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
include_examples "for to remove all masks", "01.047.545/609-01"
|
|
42
|
-
end
|
|
43
|
-
end
|
data/spec/ie/al_spec.rb
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
require_relative "shared_examples_for_to_remove_all_masks"
|
|
3
|
-
|
|
4
|
-
describe BrDocuments::IE::AL do
|
|
5
|
-
describe "#formatted" do
|
|
6
|
-
it "returns a formatted ie" do
|
|
7
|
-
ie = described_class.new("123456789")
|
|
8
|
-
expect(ie.formatted).to eq "123456789"
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
describe "#valid?" do
|
|
13
|
-
it "is invalid with length different to 9" do
|
|
14
|
-
["1234567", "122345678901"].each do |number|
|
|
15
|
-
ie = described_class.new(number)
|
|
16
|
-
expect(ie).to_not be_valid
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
it "is invalid with invalid check number" do
|
|
21
|
-
["245320152", "240046248"].each do |number|
|
|
22
|
-
ie = described_class.new(number)
|
|
23
|
-
expect(ie).to_not be_valid
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
it "is valid with valid number" do
|
|
28
|
-
["247975494", "248466313"].each do |number|
|
|
29
|
-
ie = described_class.new(number)
|
|
30
|
-
expect(ie).to be_valid
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
include_examples "for to remove all masks", "248466313"
|
|
35
|
-
end
|
|
36
|
-
end
|
data/spec/ie/am_spec.rb
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
require_relative "shared_examples_for_to_remove_all_masks"
|
|
3
|
-
|
|
4
|
-
describe BrDocuments::IE::AM do
|
|
5
|
-
describe "#formatted" do
|
|
6
|
-
it "returns a formatted ie" do
|
|
7
|
-
ie = described_class.new("123456789")
|
|
8
|
-
expect(ie.formatted).to eq "12.345.678-9"
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
describe "#valid?" do
|
|
13
|
-
it "is invalid with malformed number" do
|
|
14
|
-
["8.535.410-60", "884.67.826-1", "13.BA9.093-6"].each do |number|
|
|
15
|
-
ie = described_class.new(number)
|
|
16
|
-
expect(ie).to_not be_valid
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
it "is invalid with length different to 9" do
|
|
21
|
-
["1234567", "12345678901"].each do |number|
|
|
22
|
-
ie = described_class.new(number)
|
|
23
|
-
expect(ie).to_not be_valid
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
it "is invalid with invalid check number" do
|
|
28
|
-
["500085276", "886770232"].each do |number|
|
|
29
|
-
ie = described_class.new(number)
|
|
30
|
-
expect(ie).to_not be_valid
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
it "is valid with valid number" do
|
|
35
|
-
["425721221", "310636396"].each do |number|
|
|
36
|
-
ie = described_class.new(number)
|
|
37
|
-
expect(ie).to be_valid
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
include_examples "for to remove all masks", "31.063.639-6"
|
|
42
|
-
end
|
|
43
|
-
end
|
data/spec/ie/ap_spec.rb
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
require_relative "shared_examples_for_to_remove_all_masks"
|
|
3
|
-
|
|
4
|
-
RSpec.describe BrDocuments::IE::AP do
|
|
5
|
-
describe "#formatted" do
|
|
6
|
-
it "returns a formatted ie" do
|
|
7
|
-
ie = described_class.new("123456789")
|
|
8
|
-
expect(ie.formatted).to eq "123456789"
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
describe "#valid?" do
|
|
13
|
-
it "is invalid with length different to 9" do
|
|
14
|
-
["1234567", "123456789012"].each do |number|
|
|
15
|
-
ie = described_class.new(number)
|
|
16
|
-
expect(ie).to_not be_valid
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
it "is invalid with invalid check number" do
|
|
21
|
-
["030123456", "030182454"].each do |number|
|
|
22
|
-
ie = described_class.new(number)
|
|
23
|
-
expect(ie).to_not be_valid
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
it "is valid with valid number" do
|
|
28
|
-
["030123459", "030183458", "030213452"].each do |number|
|
|
29
|
-
ie = described_class.new(number)
|
|
30
|
-
expect(ie).to be_valid
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
include_examples "for to remove all masks", "030213452"
|
|
35
|
-
end
|
|
36
|
-
end
|
data/spec/ie/ba_spec.rb
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
require_relative "shared_examples_for_to_remove_all_masks"
|
|
3
|
-
|
|
4
|
-
RSpec.describe BrDocuments::IE::BA do
|
|
5
|
-
describe "#formatted" do
|
|
6
|
-
context "when having 8 digits" do
|
|
7
|
-
it "returns a formatted ie" do
|
|
8
|
-
ie = described_class.new("12345678")
|
|
9
|
-
expect(ie.formatted).to eq "123456-78"
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
context "when having 9 digits" do
|
|
14
|
-
it "returns a formatted ie" do
|
|
15
|
-
ie = described_class.new("123456789")
|
|
16
|
-
expect(ie.formatted).to eq "1234567-89"
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
describe "#valid?" do
|
|
22
|
-
it "is invalid with malformed number" do
|
|
23
|
-
["82.060.187.373", "528843171-72", "AD402552219"].each do |number|
|
|
24
|
-
ie = described_class.new(number)
|
|
25
|
-
expect(ie).to_not be_valid
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
it "is invalid with length different to 8 or 9" do
|
|
30
|
-
["1234567", "1234567890"].each do |number|
|
|
31
|
-
ie = described_class.new(number)
|
|
32
|
-
expect(ie).to_not be_valid
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
context "when having 8 digits" do
|
|
37
|
-
it "is invalid with invalid check number" do
|
|
38
|
-
["12345682", "61934523", "39034325"].each do |number|
|
|
39
|
-
ie = described_class.new(number)
|
|
40
|
-
expect(ie).to_not be_valid
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
it "is valid with valid number" do
|
|
45
|
-
["123456-63", "61234557"].each do |number|
|
|
46
|
-
ie = described_class.new(number)
|
|
47
|
-
expect(ie).to be_valid
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
context "when having 9 digits" do
|
|
53
|
-
it "is invalid with invalid check number" do
|
|
54
|
-
ie = described_class.new("100052398")
|
|
55
|
-
expect(ie).to_not be_valid
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
it "is valid with valid number" do
|
|
59
|
-
["1000003-06", "066.486.527"].each do |number|
|
|
60
|
-
ie = described_class.new(number)
|
|
61
|
-
expect(ie).to be_valid
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
include_examples "for to remove all masks", "1000003-06"
|
|
67
|
-
include_examples "for to remove all masks", "100.000.306"
|
|
68
|
-
end
|
|
69
|
-
end
|
data/spec/ie/ce_spec.rb
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
require_relative "shared_examples_for_pattern1"
|
|
3
|
-
require_relative "shared_examples_for_to_remove_all_masks"
|
|
4
|
-
|
|
5
|
-
describe BrDocuments::IE::CE do
|
|
6
|
-
describe "#formatted" do
|
|
7
|
-
it "returns a formatted ie" do
|
|
8
|
-
ie = described_class.new("123456789")
|
|
9
|
-
expect(ie.formatted).to eq "12345678-9"
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
it_behaves_like "a pattern1", "CE"
|
|
14
|
-
|
|
15
|
-
include_examples "for to remove all masks", "12345678-9"
|
|
16
|
-
end
|
data/spec/ie/df_spec.rb
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
require_relative "shared_examples_for_to_remove_all_masks"
|
|
3
|
-
|
|
4
|
-
describe BrDocuments::IE::DF do
|
|
5
|
-
describe "#formatted" do
|
|
6
|
-
it "returns a formatted ie" do
|
|
7
|
-
ie = described_class.new("1234567890123")
|
|
8
|
-
expect(ie.formatted).to eq "12345678901-23"
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
describe "#valid?" do
|
|
13
|
-
it "is invalid with malformed number" do
|
|
14
|
-
["070648022871-3", "07.064.802.287-13", "0AB49871799-12"].each do |number|
|
|
15
|
-
ie = described_class.new(number)
|
|
16
|
-
expect(ie).to_not be_valid
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
it "is invalid with length different to 13" do
|
|
21
|
-
["1234567890", "123456789012345"].each do |number|
|
|
22
|
-
ie = described_class.new(number)
|
|
23
|
-
expect(ie).to_not be_valid
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
it "is invalid with invalid check number" do
|
|
28
|
-
["0733002219945", "0733002219943"].each do |number|
|
|
29
|
-
ie = described_class.new(number)
|
|
30
|
-
expect(ie).to_not be_valid
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
it "is valid with valid number" do
|
|
35
|
-
["0746069399231", "0784748156211"].each do |number|
|
|
36
|
-
ie = described_class.new(number)
|
|
37
|
-
expect(ie).to be_valid
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
include_examples "for to remove all masks", "07847481562-11"
|
|
42
|
-
end
|
|
43
|
-
end
|
data/spec/ie/es_spec.rb
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
require_relative "shared_examples_for_pattern1"
|
|
3
|
-
require_relative "shared_examples_for_to_remove_all_masks"
|
|
4
|
-
|
|
5
|
-
describe BrDocuments::IE::ES do
|
|
6
|
-
describe "#formatted" do
|
|
7
|
-
it "returns a formatted ie" do
|
|
8
|
-
ie = described_class.new("123456789")
|
|
9
|
-
expect(ie.formatted).to eq "123456789"
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
it_behaves_like "a pattern1", "ES"
|
|
14
|
-
|
|
15
|
-
include_examples "for to remove all masks", "12345678-9"
|
|
16
|
-
end
|