vat_id_validator 0.0.2 → 0.1.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: ecc7209a52f4b1c5e1adfa7d690465d17d609c8d
4
- data.tar.gz: 8669e92aad4b428409e17e514c1f69c2ede1565b
3
+ metadata.gz: f7e561972f975d1a75617f7dbee35f8080661be9
4
+ data.tar.gz: 6f06ca5e167c909f1307a6a07506c1739cc32bb4
5
5
  SHA512:
6
- metadata.gz: 7a89c19e89adfb022ee15bd024bd97040459a97dd2b9c9bce747c6e894b62180565f58a5f567f8004250796dd92c898439867c59090f522a8f7cd8510996824b
7
- data.tar.gz: 283e16f0d41c6dc96728c7485b60089a64799375ba275fd76d71bfd703bc7ea5ac26cf23eba47998cf55f49ad90e4316f3df79a0694d4c6ee944f1c45984082a
6
+ metadata.gz: 3439ac1cca3617c9445ea2fc593b5ade67b89d18c91861e4959750e2a1748ea97adee2b9569db1478d5b9baa99e1312d89153a17afc6be0a87448e705560f8f8
7
+ data.tar.gz: fff9ac2c3ba6f979ebaa099da4db65971a69c67634b399dac7a663cd4c6fd4a3468fd0e52380f944bf55f0e70dab9586e9312689c5b6a372c2fec987aad8655a
@@ -0,0 +1 @@
1
+ inherit_from: .rubocop_todo.yml
@@ -0,0 +1,19 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2016-10-19 14:57:55 +0200 using RuboCop version 0.44.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 59
10
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives.
11
+ # URISchemes: http, https
12
+ Metrics/LineLength:
13
+ Max: 100
14
+
15
+ # Offense count: 1
16
+ # Configuration parameters: MinBodyLength.
17
+ Style/GuardClause:
18
+ Exclude:
19
+ - 'lib/active_model/validations/vat_id_validator.rb'
@@ -0,0 +1,16 @@
1
+ ### Next
2
+
3
+ #### Features
4
+
5
+ * Your contribution here.
6
+
7
+ #### Fixes
8
+
9
+ * Your contribution here.
10
+
11
+
12
+ ### 0.1.0 (2016/10/19)
13
+
14
+ #### Features
15
+
16
+ * [5](https://github.com/Sage/vat_id_validator/pull/5): Makes ready for rails 4 and 5 - [@LeFnord](https://github.com/LeFnord).
data/Fudgefile CHANGED
@@ -1,4 +1,5 @@
1
1
  build :default do
2
+ shell 'bundle exec rubocop --format simple'
2
3
  yard 'stats --list-undoc -q', :coverage => 100
3
4
  cane :max_width => 200
4
5
  rspec :coverage => 100
data/Guardfile CHANGED
@@ -1,5 +1,5 @@
1
- guard 'rspec', :version => 2, :cli => '--drb' do
1
+ guard 'rspec', version: 2, cli: '--drb' do
2
2
  watch(%r{^spec/.+_spec\.rb$})
3
3
  watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
4
- watch('spec/spec_helper.rb') { "spec" }
4
+ watch('spec/spec_helper.rb') { 'spec' }
5
5
  end
data/Rakefile CHANGED
@@ -3,4 +3,4 @@ require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
@@ -8,67 +8,66 @@ module ActiveModel
8
8
  module Validations
9
9
  # Validator for VAT-ID based on ActiveModel::EachValidator.
10
10
  class VatIdValidator < ::ActiveModel::EachValidator
11
-
12
11
  # All Countries with the vat pattern
13
12
  VAT_PATTERNS = {
14
- 'AL' => /\AAL(J|K)[0-9]{8}[A-Z]\Z/, # Albania
15
- 'AR' => /\AAR[0-9]{11}\Z/, # Argentina
16
- 'AT' => /\AATU[0-9]{8}\Z/, # Austria
17
- 'AU' => /\AAU[0-9]{9}\Z/, # Australia
18
- 'BE' => /\ABE0[0-9]{9}\Z/, # Belgium
19
- 'BG' => /\ABG[0-9]{9,10}\Z/, # Bulgaria
20
- 'BO' => /\ABO/, # Bolivia
21
- 'BR' => /\ABR[0-9]{8}\Z/, # Brasil
22
- 'BY' => /\ABY[0-9]{9}\Z/, # Belarus
23
- 'CA' => /\ACA[0-9]{15}\Z/, # Canada
24
- 'CH' => /\ACHE[0-9]{9}(MWST|TVA|IVA)\Z/, # Switzerland
25
- 'CL' => /\ACL[0-9]{9}\Z/, # Chile
26
- 'CO' => /\ACO[0-9]{10}\Z/, # Colombia
27
- 'CR' => /\ACR/, # Costa Rica
28
- 'CY' => /\ACY[0-9]{8}[A-Z]\Z/, # Cyprus
29
- 'CZ' => /\ACZ[0-9]{8,10}\Z/, # Czech Republic
30
- 'DE' => /\ADE[0-9]{9}\Z/, # Germany
31
- 'DK' => /\ADK[0-9]{8}\Z/, # Denmark
32
- 'DO' => /\ADO/, # Dominican Republic
33
- 'EC' => /\AEC[0-9]{13}\Z/, # Ecuador
34
- 'EE' => /\AEE[0-9]{9}\Z/, # Estonia
35
- 'EL' => /\AEL[0-9]{9}\Z/, # Greece
36
- 'ES' => /\AES([A-Z][0-9]{8}|[0-9]{8}[A-Z]|[A-Z][0-9]{7}[A-Z])\Z/, # Spain
37
- 'FI' => /\AFI[0-9]{8}\Z/, # Finland
38
- 'FR' => /\AFR[A-Z0-9]{2}[0-9]{9}\Z/, # France
39
- 'GB' => /\AGB([0-9]{9}|[0-9]{12}|(HA|GD)[0-9]{3})\Z/, # United Kingdom
40
- 'GT' => /\AGT[0-9]{8}\Z/, # Guatemala
41
- 'HN' => /\AHN/, # Honduras
42
- 'HR' => /\AHR[0-9]{11}\Z/, # Croatia
43
- 'HU' => /\AHU[0-9]{8}\Z/, # Hungary
44
- 'IE' => /\AIE([0-9][A-Z][0-9]{5}|[0-9]{7})[A-Z]\Z/, # Ireland
45
- 'IT' => /\AIT[0-9]{11}\Z/, # Italy
46
- 'LT' => /\ALT([0-9]{9}|[0-9]{12})\Z/, # Lithuania
47
- 'LU' => /\ALU[0-9]{8}\Z/, # Luxembourg
48
- 'LV' => /\ALV[0-9]{11}\Z/, # Latvia
49
- 'MT' => /\AMT[0-9]{8}\Z/, # Malta
50
- 'MX' => /\AMX[0-9]{12}\Z/, # Mexico
51
- 'NI' => /\ANI/, # Nicaragua
52
- 'NL' => /\ANL[0-9]{9}B[0-9]{2}\Z/, # Netherlands
53
- 'NO' => /\ANO[0-9]{9}\Z/, # Norway
54
- 'PA' => /\APA/, # Panama
55
- 'PE' => /\APE/, # Peru
56
- 'PH' => /\APH[0-9]{12}\Z/, # Philippines
57
- 'PL' => /\APL[0-9]{10}\Z/, # Poland
58
- 'PT' => /\APT[0-9]{9}\Z/, # Portugal
59
- 'PY' => /\APY/, # Paraguay
60
- 'RO' => /\ARO[1-9][0-9]{1,9}\Z/, # Romania
61
- 'RU' => /\ARU[0-9]{10}\Z/, # Russia
62
- 'SE' => /\ASE[0-9]{10}01\Z/, # Sweden
63
- 'SI' => /\ASI[0-9]{8}\Z/, # Slovenia
64
- 'SK' => /\ASK[0-9]{10}\Z/, # Slovakia
65
- 'SM' => /\ASM[0-9]{5}\Z/, # San Marino
66
- 'SV' => /\ASV/, # El Salvador
67
- 'TR' => /\ATR[0-9]{10}\Z/, # Turkey
68
- 'UA' => /\AUA[0-9]{12}\Z/, # Ukraine
69
- 'UY' => /\AUY/, # Uruguay
70
- 'VE' => /\AVE(J|G|V|E)[0-9]{9}\Z/ # Venezuela
71
- }
13
+ 'AL' => /\AAL(J|K)[0-9]{8}[A-Z]\Z/, # Albania
14
+ 'AR' => /\AAR[0-9]{11}\Z/, # Argentina
15
+ 'AT' => /\AATU[0-9]{8}\Z/, # Austria
16
+ 'AU' => /\AAU[0-9]{9}\Z/, # Australia
17
+ 'BE' => /\ABE0[0-9]{9}\Z/, # Belgium
18
+ 'BG' => /\ABG[0-9]{9,10}\Z/, # Bulgaria
19
+ 'BO' => /\ABO/, # Bolivia
20
+ 'BR' => /\ABR[0-9]{8}\Z/, # Brasil
21
+ 'BY' => /\ABY[0-9]{9}\Z/, # Belarus
22
+ 'CA' => /\ACA[0-9]{15}\Z/, # Canada
23
+ 'CH' => /\ACHE[0-9]{9}(MWST|TVA|IVA)\Z/, # Switzerland
24
+ 'CL' => /\ACL[0-9]{9}\Z/, # Chile
25
+ 'CO' => /\ACO[0-9]{10}\Z/, # Colombia
26
+ 'CR' => /\ACR/, # Costa Rica
27
+ 'CY' => /\ACY[0-9]{8}[A-Z]\Z/, # Cyprus
28
+ 'CZ' => /\ACZ[0-9]{8,10}\Z/, # Czech Republic
29
+ 'DE' => /\ADE[0-9]{9}\Z/, # Germany
30
+ 'DK' => /\ADK[0-9]{8}\Z/, # Denmark
31
+ 'DO' => /\ADO/, # Dominican Republic
32
+ 'EC' => /\AEC[0-9]{13}\Z/, # Ecuador
33
+ 'EE' => /\AEE[0-9]{9}\Z/, # Estonia
34
+ 'EL' => /\AEL[0-9]{9}\Z/, # Greece
35
+ 'ES' => /\AES([A-Z][0-9]{8}|[0-9]{8}[A-Z]|[A-Z][0-9]{7}[A-Z])\Z/, # Spain
36
+ 'FI' => /\AFI[0-9]{8}\Z/, # Finland
37
+ 'FR' => /\AFR[A-Z0-9]{2}[0-9]{9}\Z/, # France
38
+ 'GB' => /\AGB([0-9]{9}|[0-9]{12}|(HA|GD)[0-9]{3})\Z/, # United Kingdom
39
+ 'GT' => /\AGT[0-9]{8}\Z/, # Guatemala
40
+ 'HN' => /\AHN/, # Honduras
41
+ 'HR' => /\AHR[0-9]{11}\Z/, # Croatia
42
+ 'HU' => /\AHU[0-9]{8}\Z/, # Hungary
43
+ 'IE' => /\AIE([0-9][A-Z][0-9]{5}|[0-9]{7})[A-Z]{1,2}\Z/, # Ireland
44
+ 'IT' => /\AIT[0-9]{11}\Z/, # Italy
45
+ 'LT' => /\ALT([0-9]{9}|[0-9]{12})\Z/, # Lithuania
46
+ 'LU' => /\ALU[0-9]{8}\Z/, # Luxembourg
47
+ 'LV' => /\ALV[0-9]{11}\Z/, # Latvia
48
+ 'MT' => /\AMT[0-9]{8}\Z/, # Malta
49
+ 'MX' => /\AMX[0-9]{12}\Z/, # Mexico
50
+ 'NI' => /\ANI/, # Nicaragua
51
+ 'NL' => /\ANL[0-9]{9}B[0-9]{2}\Z/, # Netherlands
52
+ 'NO' => /\ANO[0-9]{9}\Z/, # Norway
53
+ 'PA' => /\APA/, # Panama
54
+ 'PE' => /\APE/, # Peru
55
+ 'PH' => /\APH[0-9]{12}\Z/, # Philippines
56
+ 'PL' => /\APL[0-9]{10}\Z/, # Poland
57
+ 'PT' => /\APT[0-9]{9}\Z/, # Portugal
58
+ 'PY' => /\APY/, # Paraguay
59
+ 'RO' => /\ARO[1-9][0-9]{1,9}\Z/, # Romania
60
+ 'RU' => /\ARU[0-9]{10}\Z/, # Russia
61
+ 'SE' => /\ASE[0-9]{10}01\Z/, # Sweden
62
+ 'SI' => /\ASI[0-9]{8}\Z/, # Slovenia
63
+ 'SK' => /\ASK[0-9]{10}\Z/, # Slovakia
64
+ 'SM' => /\ASM[0-9]{5}\Z/, # San Marino
65
+ 'SV' => /\ASV/, # El Salvador
66
+ 'TR' => /\ATR[0-9]{10}\Z/, # Turkey
67
+ 'UA' => /\AUA[0-9]{12}\Z/, # Ukraine
68
+ 'UY' => /\AUY/, # Uruguay
69
+ 'VE' => /\AVE(J|G|V|E)[0-9]{9}\Z/ # Venezuela
70
+ }.freeze
72
71
 
73
72
  # Validates an attribute of a record if it contains a valid VAT-ID.
74
73
  #
@@ -21,7 +21,7 @@ module VatIdValidator # :nodoc:
21
21
  # @return [boolean]
22
22
  def matches?(actual)
23
23
  validators = actual._validators[@expected]
24
- validators.select { |val| val.kind_of?(ActiveModel::Validations::VatIdValidator) }.count > 0
24
+ validators.select { |val| val.is_a?(ActiveModel::Validations::VatIdValidator) }.count > 0
25
25
  end
26
26
 
27
27
  # Returns a error message for should matches
@@ -42,7 +42,7 @@ module VatIdValidator # :nodoc:
42
42
  #
43
43
  # @return [String] the description
44
44
  def description
45
- "be a vat id"
45
+ 'be a vat id'
46
46
  end
47
47
  end
48
48
  end
@@ -1,5 +1,5 @@
1
1
  # Namespace module.
2
2
  module VatIdValidator
3
3
  # :nodoc:
4
- VERSION = "0.0.2"
4
+ VERSION = '0.1.0'.freeze
5
5
  end
@@ -7,203 +7,202 @@ describe ActiveModel::Validations::VatIdValidator do
7
7
  shared_examples_for 'tax_number with 8 digits' do
8
8
  it 'should be valid with 8 digits' do
9
9
  subject.tax_number = prefix + '12345678'
10
- subject.should be_valid
10
+ expect(subject).to be_valid
11
11
  end
12
12
 
13
13
  it 'should not be valid with less then 8 digits' do
14
14
  subject.tax_number = prefix + '1234567'
15
- subject.should_not be_valid
15
+ expect(subject).not_to be_valid
16
16
  end
17
17
 
18
18
  it 'should not be valid with more then 8 digits' do
19
19
  subject.tax_number = prefix + '123456789'
20
- subject.should_not be_valid
20
+ expect(subject).not_to be_valid
21
21
  end
22
22
  end
23
23
 
24
24
  shared_examples_for 'tax_number with 9 digits' do
25
25
  it 'should be valid with 9 digits' do
26
26
  subject.tax_number = prefix + '123456789'
27
- subject.should be_valid
27
+ expect(subject).to be_valid
28
28
  end
29
29
 
30
30
  it 'should not be valid with less then 9 digits' do
31
31
  subject.tax_number = prefix + '12345678'
32
- subject.should_not be_valid
32
+ expect(subject).not_to be_valid
33
33
  end
34
34
 
35
35
  it 'should not be valid with more then 9 digits' do
36
36
  subject.tax_number = prefix + '1234567890'
37
- subject.should_not be_valid
37
+ expect(subject).not_to be_valid
38
38
  end
39
39
  end
40
40
 
41
41
  shared_examples_for 'tax_number with 10 digits' do
42
42
  it 'should be valid with 10 digits' do
43
43
  subject.tax_number = prefix + '1234567890'
44
- subject.should be_valid
44
+ expect(subject).to be_valid
45
45
  end
46
46
 
47
47
  it 'should not be valid with less then 10 digits' do
48
48
  subject.tax_number = prefix + '123456789'
49
- subject.should_not be_valid
49
+ expect(subject).not_to be_valid
50
50
  end
51
51
 
52
52
  it 'should not be valid with more then 10 digits' do
53
53
  subject.tax_number = prefix + '12345678901'
54
- subject.should_not be_valid
54
+ expect(subject).not_to be_valid
55
55
  end
56
56
  end
57
57
 
58
58
  shared_examples_for 'tax_number with 11 digits' do
59
59
  it 'should be valid with 11 digits' do
60
60
  subject.tax_number = prefix + '12345678901'
61
- subject.should be_valid
61
+ expect(subject).to be_valid
62
62
  end
63
63
 
64
64
  it 'should not be valid with less then 11 digits' do
65
65
  subject.tax_number = prefix + '1234567890'
66
- subject.should_not be_valid
66
+ expect(subject).not_to be_valid
67
67
  end
68
68
 
69
69
  it 'should not be valid with more then 11 digits' do
70
70
  subject.tax_number = prefix + '123456789012'
71
- subject.should_not be_valid
71
+ expect(subject).not_to be_valid
72
72
  end
73
73
  end
74
74
 
75
75
  shared_examples_for 'tax_number with 12 digits' do
76
76
  it 'should be valid with 12 digits' do
77
77
  subject.tax_number = prefix + '123456789012'
78
- subject.should be_valid
78
+ expect(subject).to be_valid
79
79
  end
80
80
 
81
81
  it 'should not be valid with less then 12 digits' do
82
82
  subject.tax_number = prefix + '12345678901'
83
- subject.should_not be_valid
83
+ expect(subject).not_to be_valid
84
84
  end
85
85
 
86
86
  it 'should not be valid with more then 12 digits' do
87
87
  subject.tax_number = prefix + '1234567890123'
88
- subject.should_not be_valid
88
+ expect(subject).not_to be_valid
89
89
  end
90
90
  end
91
91
 
92
92
  shared_examples_for 'tax_number with only prefix check' do
93
93
  it 'should be valid with the given prefix' do
94
94
  subject.tax_number = prefix + '123ABC'
95
- subject.should be_valid
95
+ expect(subject).to be_valid
96
96
  end
97
97
  end
98
98
 
99
99
  it 'should be valid without tax_number' do
100
- should be_valid
100
+ is_expected.to be_valid
101
101
  end
102
102
 
103
103
  it 'should not be valid without prefix' do
104
104
  subject.tax_number = '123456789'
105
- subject.should_not be_valid
105
+ expect(subject).not_to be_valid
106
106
  end
107
107
 
108
108
  it 'should ignore special character and spaces for validation (formatting)' do
109
109
  subject.tax_number = 'DE 12-345.678/9'
110
- subject.should be_valid
110
+ expect(subject).to be_valid
111
111
  end
112
112
 
113
113
  context 'when the tax_number starts with' do
114
-
115
114
  context 'AL (Albania)' do
116
115
  let(:prefix) { 'AL' }
117
-
116
+
118
117
  it 'should be valid with "K" + 8 digits + 1 char' do
119
118
  subject.tax_number = prefix + 'K12345678X'
120
- subject.should be_valid
119
+ expect(subject).to be_valid
121
120
  end
122
-
121
+
123
122
  it 'should be valid with "J" + 8 digits + 1 char' do
124
123
  subject.tax_number = prefix + 'J12345678X'
125
- subject.should be_valid
124
+ expect(subject).to be_valid
126
125
  end
127
-
126
+
128
127
  it 'should not be valid if the first char is not "K" or "J"' do
129
128
  subject.tax_number = prefix + 'X12345678X'
130
- subject.should_not be_valid
129
+ expect(subject).not_to be_valid
131
130
  end
132
-
131
+
133
132
  it 'should not be valid with less then 8 digits' do
134
133
  subject.tax_number = prefix + 'J1234567X'
135
- subject.should_not be_valid
134
+ expect(subject).not_to be_valid
136
135
  end
137
-
136
+
138
137
  it 'should not be valid with more then 8 digits' do
139
138
  subject.tax_number = prefix + 'K123456789X'
140
- subject.should_not be_valid
139
+ expect(subject).not_to be_valid
141
140
  end
142
141
  end
143
-
142
+
144
143
  context 'AR (Argentina)' do
145
144
  let(:prefix) { 'AR' }
146
145
 
147
146
  it_behaves_like 'tax_number with 11 digits'
148
147
  end
149
-
148
+
150
149
  context 'ATU (Austria)' do
151
150
  let(:prefix) { 'ATU' }
152
-
151
+
153
152
  it_behaves_like 'tax_number with 8 digits'
154
153
  end
155
-
154
+
156
155
  context 'AU (Australia)' do
157
156
  let(:prefix) { 'AU' }
158
-
157
+
159
158
  it_behaves_like 'tax_number with 9 digits'
160
159
  end
161
-
160
+
162
161
  context 'BE (Belgium)' do
163
162
  let(:prefix) { 'BE' }
164
-
163
+
165
164
  it 'should be valid with 10 digits (first digit == 0)' do
166
165
  subject.tax_number = prefix + '0123456789'
167
- subject.should be_valid
166
+ expect(subject).to be_valid
168
167
  end
169
-
168
+
170
169
  it 'should not be valid with 10 digits (first digit != 0)' do
171
170
  subject.tax_number = prefix + '1123456789'
172
- subject.should_not be_valid
171
+ expect(subject).not_to be_valid
173
172
  end
174
-
173
+
175
174
  it 'should not be valid with less then 10 digits' do
176
175
  subject.tax_number = prefix + '012345678'
177
- subject.should_not be_valid
176
+ expect(subject).not_to be_valid
178
177
  end
179
-
178
+
180
179
  it 'should not be valid with more then 10 digits' do
181
180
  subject.tax_number = prefix + '01234567890'
182
- subject.should_not be_valid
181
+ expect(subject).not_to be_valid
183
182
  end
184
183
  end
185
-
184
+
186
185
  context 'BG (Bulgaria)' do
187
186
  let(:prefix) { 'BG' }
188
-
187
+
189
188
  it 'should be valid with 9 digits' do
190
189
  subject.tax_number = prefix + '123456789'
191
- subject.should be_valid
190
+ expect(subject).to be_valid
192
191
  end
193
-
192
+
194
193
  it 'should be valid with 10 digits' do
195
194
  subject.tax_number = prefix + '1234567890'
196
- subject.should be_valid
195
+ expect(subject).to be_valid
197
196
  end
198
-
197
+
199
198
  it 'should not be valid with less then 9 digits' do
200
199
  subject.tax_number = prefix + '12345678'
201
- subject.should_not be_valid
200
+ expect(subject).not_to be_valid
202
201
  end
203
-
202
+
204
203
  it 'should not be valid with more then 10 digits' do
205
204
  subject.tax_number = prefix + '12345678901'
206
- subject.should_not be_valid
205
+ expect(subject).not_to be_valid
207
206
  end
208
207
  end
209
208
 
@@ -221,93 +220,91 @@ describe ActiveModel::Validations::VatIdValidator do
221
220
 
222
221
  context 'BY (Belarus)' do
223
222
  let(:prefix) { 'BY' }
224
-
223
+
225
224
  it_behaves_like 'tax_number with 9 digits'
226
225
  end
227
-
226
+
228
227
  context 'CA (Canada)' do
229
228
  let(:prefix) { 'CA' }
230
-
229
+
231
230
  it 'should be valid with 15 digits' do
232
231
  subject.tax_number = prefix + '123456789012345'
233
- subject.should be_valid
232
+ expect(subject).to be_valid
234
233
  end
235
-
234
+
236
235
  it 'should not be valid with less then 15 digits' do
237
236
  subject.tax_number = prefix + '12345678901234'
238
- subject.should_not be_valid
237
+ expect(subject).not_to be_valid
239
238
  end
240
-
239
+
241
240
  it 'should not be valid with more then 15 digits' do
242
241
  subject.tax_number = prefix + '1234567890123456'
243
- subject.should_not be_valid
242
+ expect(subject).not_to be_valid
244
243
  end
245
244
  end
246
-
245
+
247
246
  context 'CHE (Switzerland)' do
248
247
  let(:prefix) { 'CHE' }
249
-
248
+
250
249
  it 'should not be valid without suffix' do
251
250
  subject.tax_number = prefix + '123456789'
252
- subject.should_not be_valid
251
+ expect(subject).not_to be_valid
253
252
  end
254
-
253
+
255
254
  context 'and the tax_number ends with MWST (de-CH)' do
256
255
  let(:suffix) { 'MWST' }
257
256
  it 'should be valid with 9 digits' do
258
257
  subject.tax_number = prefix + '123456789' + suffix
259
- subject.should be_valid
258
+ expect(subject).to be_valid
260
259
  end
261
-
260
+
262
261
  it 'should not be valid with less then 9 digits' do
263
262
  subject.tax_number = prefix + '12345678' + suffix
264
- subject.should_not be_valid
263
+ expect(subject).not_to be_valid
265
264
  end
266
-
265
+
267
266
  it 'should not be valid with more then 9 digits' do
268
267
  subject.tax_number = prefix + '1234567890' + suffix
269
- subject.should_not be_valid
268
+ expect(subject).not_to be_valid
270
269
  end
271
270
  end
272
-
271
+
273
272
  context 'and the tax_number ends with TVA (de-FR)' do
274
273
  let(:suffix) { 'TVA' }
275
-
274
+
276
275
  it 'should be valid with 9 digits' do
277
276
  subject.tax_number = prefix + '123456789' + suffix
278
- subject.should be_valid
277
+ expect(subject).to be_valid
279
278
  end
280
-
279
+
281
280
  it 'should not be valid with less then 9 digits' do
282
281
  subject.tax_number = prefix + '12345678' + suffix
283
- subject.should_not be_valid
282
+ expect(subject).not_to be_valid
284
283
  end
285
-
284
+
286
285
  it 'should not be valid with more then 9 digits' do
287
286
  subject.tax_number = prefix + '1234567890' + suffix
288
- subject.should_not be_valid
287
+ expect(subject).not_to be_valid
289
288
  end
290
289
  end
291
-
290
+
292
291
  context 'and the tax_number ends with IVA (de-IT)' do
293
292
  let(:suffix) { 'IVA' }
294
293
  it 'should be valid with 9 digits' do
295
294
  subject.tax_number = prefix + '123456789' + suffix
296
- subject.should be_valid
295
+ expect(subject).to be_valid
297
296
  end
298
-
297
+
299
298
  it 'should not be valid with less then 9 digits' do
300
299
  subject.tax_number = prefix + '12345678' + suffix
301
- subject.should_not be_valid
300
+ expect(subject).not_to be_valid
302
301
  end
303
-
302
+
304
303
  it 'should not be valid with more then 9 digits' do
305
304
  subject.tax_number = prefix + '1234567890' + suffix
306
- subject.should_not be_valid
305
+ expect(subject).not_to be_valid
307
306
  end
308
307
  end
309
-
310
-
311
308
  end
312
309
 
313
310
  context 'CL (Chile)' do
@@ -331,66 +328,66 @@ describe ActiveModel::Validations::VatIdValidator do
331
328
  context 'CY (Cyprus)' do
332
329
  let(:prefix) { 'CY' }
333
330
  let(:suffix) { 'L' } # A-Z
334
-
331
+
335
332
  it 'should not be valid without suffix' do
336
333
  subject.tax_number = prefix + '12345678'
337
- subject.should_not be_valid
334
+ expect(subject).not_to be_valid
338
335
  end
339
-
336
+
340
337
  it 'should be valid with 8 digits' do
341
338
  subject.tax_number = prefix + '12345678' + suffix
342
- subject.should be_valid
339
+ expect(subject).to be_valid
343
340
  end
344
-
341
+
345
342
  it 'should not be valid with less then 8 digits' do
346
343
  subject.tax_number = prefix + '1234567' + suffix
347
- subject.should_not be_valid
344
+ expect(subject).not_to be_valid
348
345
  end
349
-
346
+
350
347
  it 'should not be valid with more then 8 digits' do
351
348
  subject.tax_number = prefix + '123456789' + suffix
352
- subject.should_not be_valid
349
+ expect(subject).not_to be_valid
353
350
  end
354
351
  end
355
-
352
+
356
353
  context 'CZ (Czech Republic)' do
357
354
  let(:prefix) { 'CZ' }
358
-
355
+
359
356
  it 'should be valid with 8 digits' do
360
357
  subject.tax_number = prefix + '12345678'
361
- subject.should be_valid
358
+ expect(subject).to be_valid
362
359
  end
363
-
360
+
364
361
  it 'should be valid with 9 digits' do
365
362
  subject.tax_number = prefix + '123456789'
366
- subject.should be_valid
363
+ expect(subject).to be_valid
367
364
  end
368
-
365
+
369
366
  it 'should be valid with 10 digits' do
370
367
  subject.tax_number = prefix + '1234567890'
371
- subject.should be_valid
368
+ expect(subject).to be_valid
372
369
  end
373
-
370
+
374
371
  it 'should not be valid with less then 8 digits' do
375
372
  subject.tax_number = prefix + '1234567'
376
- subject.should_not be_valid
373
+ expect(subject).not_to be_valid
377
374
  end
378
-
375
+
379
376
  it 'should not be valid with more then 10 digits' do
380
377
  subject.tax_number = prefix + '12345678901'
381
- subject.should_not be_valid
378
+ expect(subject).not_to be_valid
382
379
  end
383
380
  end
384
-
381
+
385
382
  context 'DE (Germany)' do
386
383
  let(:prefix) { 'DE' }
387
-
384
+
388
385
  it_behaves_like 'tax_number with 9 digits'
389
386
  end
390
-
387
+
391
388
  context 'DK (Denmark)' do
392
389
  let(:prefix) { 'DK' }
393
-
390
+
394
391
  it_behaves_like 'tax_number with 8 digits'
395
392
  end
396
393
 
@@ -405,156 +402,156 @@ describe ActiveModel::Validations::VatIdValidator do
405
402
 
406
403
  it 'should be valid with 13 digits' do
407
404
  subject.tax_number = prefix + '1234567890123'
408
- subject.should be_valid
405
+ expect(subject).to be_valid
409
406
  end
410
407
 
411
408
  it 'should not be valid with less then 13 digits' do
412
409
  subject.tax_number = prefix + '123456789012'
413
- subject.should_not be_valid
410
+ expect(subject).not_to be_valid
414
411
  end
415
412
 
416
413
  it 'should not be valid with more then 13 digits' do
417
414
  subject.tax_number = prefix + '12345678901234'
418
- subject.should_not be_valid
415
+ expect(subject).not_to be_valid
419
416
  end
420
417
  end
421
418
 
422
419
  context 'EE (Estonia)' do
423
420
  let(:prefix) { 'EE' }
424
-
421
+
425
422
  it_behaves_like 'tax_number with 9 digits'
426
423
  end
427
-
424
+
428
425
  context 'EL (Greece)' do
429
426
  let(:prefix) { 'EL' }
430
-
427
+
431
428
  it_behaves_like 'tax_number with 9 digits'
432
429
  end
433
-
430
+
434
431
  context 'ES (Spain)' do
435
432
  let(:prefix) { 'ES' }
436
-
433
+
437
434
  it 'should be valid with 1 char + 8 digits' do
438
435
  subject.tax_number = prefix + 'X12345678'
439
- subject.should be_valid
436
+ expect(subject).to be_valid
440
437
  end
441
-
438
+
442
439
  it 'should be valid with 8 digits + 1 char' do
443
440
  subject.tax_number = prefix + '12345678X'
444
- subject.should be_valid
441
+ expect(subject).to be_valid
445
442
  end
446
-
443
+
447
444
  it 'should be valid with 1 char + 7 digits + 1 char' do
448
445
  subject.tax_number = prefix + 'X1234567X'
449
- subject.should be_valid
446
+ expect(subject).to be_valid
450
447
  end
451
-
448
+
452
449
  it 'should not be valid with less then 9 digits/chars' do
453
450
  subject.tax_number = prefix + 'X1234567'
454
- subject.should_not be_valid
451
+ expect(subject).not_to be_valid
455
452
  end
456
-
453
+
457
454
  it 'should not be valid with more then 9 digits/chats' do
458
455
  subject.tax_number = prefix + '123456789X'
459
- subject.should_not be_valid
456
+ expect(subject).not_to be_valid
460
457
  end
461
458
  end
462
-
459
+
463
460
  context 'FI (Finland)' do
464
461
  let(:prefix) { 'FI' }
465
-
462
+
466
463
  it_behaves_like 'tax_number with 8 digits'
467
464
  end
468
-
465
+
469
466
  context 'FR (France)' do
470
467
  let(:prefix) { 'FR' }
471
-
468
+
472
469
  it 'should be valid with 2 digits/chars + 9 digits' do
473
470
  subject.tax_number = prefix + '1X123456789'
474
- subject.should be_valid
471
+ expect(subject).to be_valid
475
472
  end
476
-
473
+
477
474
  it 'should not be valid with less then 11 digits' do
478
475
  subject.tax_number = prefix + '1234567890'
479
- subject.should_not be_valid
476
+ expect(subject).not_to be_valid
480
477
  end
481
-
478
+
482
479
  it 'should not be valid with more then 11 digits' do
483
480
  subject.tax_number = prefix + '123456789012'
484
- subject.should_not be_valid
481
+ expect(subject).not_to be_valid
485
482
  end
486
483
  end
487
-
484
+
488
485
  context 'GB (United Kingdom)' do
489
486
  let(:prefix) { 'GB' }
490
-
487
+
491
488
  context 'with digets only' do
492
489
  it 'should be valid with 9 digits (standard)' do
493
490
  subject.tax_number = prefix + '123456789'
494
- subject.should be_valid
491
+ expect(subject).to be_valid
495
492
  end
496
-
493
+
497
494
  it 'should be valid with 12 digits (branch traders)' do
498
495
  subject.tax_number = prefix + '123456789012'
499
- subject.should be_valid
496
+ expect(subject).to be_valid
500
497
  end
501
-
498
+
502
499
  it 'should not be valid with less then 9 digits' do
503
500
  subject.tax_number = prefix + '12345678'
504
- subject.should_not be_valid
501
+ expect(subject).not_to be_valid
505
502
  end
506
-
503
+
507
504
  it 'should not be valid with 10 digits' do
508
505
  subject.tax_number = prefix + '1234567890'
509
- subject.should_not be_valid
506
+ expect(subject).not_to be_valid
510
507
  end
511
-
508
+
512
509
  it 'should not be valid with 11 digits' do
513
510
  subject.tax_number = prefix + '12345678901'
514
- subject.should_not be_valid
511
+ expect(subject).not_to be_valid
515
512
  end
516
-
513
+
517
514
  it 'should not be valid with more then 12 digits' do
518
515
  subject.tax_number = prefix + '1234567890123'
519
- subject.should_not be_valid
516
+ expect(subject).not_to be_valid
520
517
  end
521
518
  end
522
-
519
+
523
520
  context 'with prefix addition "HA" (health authorities)' do
524
521
  let(:addition) { 'HA' }
525
-
522
+
526
523
  it 'should be valid with 3 digits' do
527
524
  subject.tax_number = prefix + addition + '123'
528
- subject.should be_valid
525
+ expect(subject).to be_valid
529
526
  end
530
-
527
+
531
528
  it 'should not be valid with less then 3 digits' do
532
529
  subject.tax_number = prefix + addition + '12'
533
- subject.should_not be_valid
530
+ expect(subject).not_to be_valid
534
531
  end
535
-
532
+
536
533
  it 'should not be valid with more then 3 digits' do
537
534
  subject.tax_number = prefix + addition + '1234'
538
- subject.should_not be_valid
535
+ expect(subject).not_to be_valid
539
536
  end
540
537
  end
541
-
538
+
542
539
  context 'with prefix addition "GD" (government departments)' do
543
540
  let(:addition) { 'GD' }
544
-
541
+
545
542
  it 'should be valid with 3 digits' do
546
543
  subject.tax_number = prefix + addition + '123'
547
- subject.should be_valid
544
+ expect(subject).to be_valid
548
545
  end
549
-
546
+
550
547
  it 'should not be valid with less then 3 digits' do
551
548
  subject.tax_number = prefix + addition + '12'
552
- subject.should_not be_valid
549
+ expect(subject).not_to be_valid
553
550
  end
554
-
551
+
555
552
  it 'should not be valid with more then 3 digits' do
556
553
  subject.tax_number = prefix + addition + '1234'
557
- subject.should_not be_valid
554
+ expect(subject).not_to be_valid
558
555
  end
559
556
  end
560
557
  end
@@ -573,100 +570,105 @@ describe ActiveModel::Validations::VatIdValidator do
573
570
 
574
571
  context 'HR (Croatia)' do
575
572
  let(:prefix) { 'HR' }
576
-
573
+
577
574
  it_behaves_like 'tax_number with 11 digits'
578
575
  end
579
-
576
+
580
577
  context 'HU (Hungary)' do
581
578
  let(:prefix) { 'HU' }
582
-
579
+
583
580
  it_behaves_like 'tax_number with 8 digits'
584
581
  end
585
-
582
+
586
583
  context 'IE (Ireland)' do
587
584
  let(:prefix) { 'IE' }
588
-
589
- it 'should be valid with 1 digit + 1 char + 5 digets + 1 char' do
590
- subject.tax_number = prefix + '1X12345L'
591
- subject.should be_valid
585
+
586
+ it 'should be valid with 1 digit + 1 char + 5 digets + 2 char' do
587
+ subject.tax_number = prefix + '1X12345LT'
588
+ expect(subject).to be_valid
592
589
  end
593
-
590
+
594
591
  it 'should be valid with 7 digits + 1 char' do
595
592
  subject.tax_number = prefix + '1234567L'
596
- subject.should be_valid
593
+ expect(subject).to be_valid
597
594
  end
598
-
595
+
596
+ it 'should be valid with 7 digits + 2 char' do
597
+ subject.tax_number = prefix + '1234567LS'
598
+ expect(subject).to be_valid
599
+ end
600
+
599
601
  it 'should not be valid if last is not a char' do
600
602
  subject.tax_number = prefix + '12345678'
601
- subject.should_not be_valid
603
+ expect(subject).not_to be_valid
602
604
  end
603
-
605
+
604
606
  it 'should not be valid with less then 7 digits + 1 char' do
605
607
  subject.tax_number = prefix + '123456L'
606
- subject.should_not be_valid
608
+ expect(subject).not_to be_valid
607
609
  end
608
-
610
+
609
611
  it 'should not be valid with more then 7 digits + 1 char' do
610
612
  subject.tax_number = prefix + '12345678L'
611
- subject.should_not be_valid
613
+ expect(subject).not_to be_valid
612
614
  end
613
615
  end
614
-
616
+
615
617
  context 'IT (Italy)' do
616
618
  let(:prefix) { 'IT' }
617
-
619
+
618
620
  it_behaves_like 'tax_number with 11 digits'
619
621
  end
620
-
622
+
621
623
  context 'LT (Lithuania)' do
622
624
  let(:prefix) { 'LT' }
623
-
625
+
624
626
  it 'should be valid with 9 digits' do
625
627
  subject.tax_number = prefix + '123456789'
626
- subject.should be_valid
628
+ expect(subject).to be_valid
627
629
  end
628
-
630
+
629
631
  it 'should be valid with 12 digits' do
630
632
  subject.tax_number = prefix + '123456789012'
631
- subject.should be_valid
633
+ expect(subject).to be_valid
632
634
  end
633
-
635
+
634
636
  it 'should not be valid with less then 9 digits' do
635
637
  subject.tax_number = prefix + '12345678'
636
- subject.should_not be_valid
638
+ expect(subject).not_to be_valid
637
639
  end
638
-
640
+
639
641
  it 'should not be valid with 10 digits' do
640
642
  subject.tax_number = prefix + '1234567890'
641
- subject.should_not be_valid
643
+ expect(subject).not_to be_valid
642
644
  end
643
-
645
+
644
646
  it 'should not be valid with 11 digits' do
645
647
  subject.tax_number = prefix + '12345678901'
646
- subject.should_not be_valid
648
+ expect(subject).not_to be_valid
647
649
  end
648
-
650
+
649
651
  it 'should not be valid with more then 12 digits' do
650
652
  subject.tax_number = prefix + '1234567890123'
651
- subject.should_not be_valid
653
+ expect(subject).not_to be_valid
652
654
  end
653
655
  end
654
-
656
+
655
657
  context 'LU (Luxembourg)' do
656
658
  let(:prefix) { 'LU' }
657
-
659
+
658
660
  it_behaves_like 'tax_number with 8 digits'
659
661
  end
660
-
662
+
661
663
  context 'LV (Latvia)' do
662
664
  let(:prefix) { 'LV' }
663
-
665
+
664
666
  it_behaves_like 'tax_number with 11 digits'
665
667
  end
666
668
 
667
669
  context 'MT (Malta)' do
668
670
  let(:prefix) { 'MT' }
669
-
671
+
670
672
  it_behaves_like 'tax_number with 8 digits'
671
673
  end
672
674
 
@@ -684,41 +686,41 @@ describe ActiveModel::Validations::VatIdValidator do
684
686
 
685
687
  context 'NL (Netherlands)' do
686
688
  let(:prefix) { 'NL' }
687
-
689
+
688
690
  it 'should be valid with 9 digits + "B" + 2 digits' do
689
691
  subject.tax_number = prefix + '123456789B12'
690
- subject.should be_valid
692
+ expect(subject).to be_valid
691
693
  end
692
-
694
+
693
695
  it 'should not be valid without "B" on the 10 position' do
694
696
  subject.tax_number = prefix + '123456789X12'
695
- subject.should_not be_valid
697
+ expect(subject).not_to be_valid
696
698
  end
697
-
699
+
698
700
  it 'should not be valid with less 9 digits + "B" + 2 digits' do
699
701
  subject.tax_number = prefix + '12345678B12'
700
- subject.should_not be_valid
702
+ expect(subject).not_to be_valid
701
703
  end
702
-
704
+
703
705
  it 'should not be valid with more 9 digits + "B" + 2 digits' do
704
706
  subject.tax_number = prefix + '1234567890B12'
705
- subject.should_not be_valid
707
+ expect(subject).not_to be_valid
706
708
  end
707
-
709
+
708
710
  it 'should not be valid with 8 digits + "B" + less then 2 digits' do
709
711
  subject.tax_number = prefix + '12345678B1'
710
- subject.should_not be_valid
712
+ expect(subject).not_to be_valid
711
713
  end
712
-
714
+
713
715
  it 'should not be valid with more 8 digits + "B" + more then 2 digits' do
714
716
  subject.tax_number = prefix + '12345678B123'
715
- subject.should_not be_valid
717
+ expect(subject).not_to be_valid
716
718
  end
717
719
  end
718
-
720
+
719
721
  context 'NO (Norway)' do
720
722
  let(:prefix) { 'NO' }
721
-
723
+
722
724
  it_behaves_like 'tax_number with 9 digits'
723
725
  end
724
726
 
@@ -736,19 +738,19 @@ describe ActiveModel::Validations::VatIdValidator do
736
738
 
737
739
  context 'PH (Philippines)' do
738
740
  let(:prefix) { 'PH' }
739
-
741
+
740
742
  it_behaves_like 'tax_number with 12 digits'
741
743
  end
742
-
744
+
743
745
  context 'PL (Poland)' do
744
746
  let(:prefix) { 'PL' }
745
-
747
+
746
748
  it_behaves_like 'tax_number with 10 digits'
747
749
  end
748
-
750
+
749
751
  context 'PT (Portugal)' do
750
752
  let(:prefix) { 'PT' }
751
-
753
+
752
754
  it_behaves_like 'tax_number with 9 digits'
753
755
  end
754
756
 
@@ -760,126 +762,126 @@ describe ActiveModel::Validations::VatIdValidator do
760
762
 
761
763
  context 'RO (Romania)' do
762
764
  let(:prefix) { 'RO' }
763
-
765
+
764
766
  it 'should be valid with 2 digits' do
765
767
  subject.tax_number = prefix + '12'
766
- subject.should be_valid
768
+ expect(subject).to be_valid
767
769
  end
768
-
770
+
769
771
  it 'should be valid with 3 digits' do
770
772
  subject.tax_number = prefix + '123'
771
- subject.should be_valid
773
+ expect(subject).to be_valid
772
774
  end
773
-
775
+
774
776
  it 'should be valid with 4 digits' do
775
777
  subject.tax_number = prefix + '1234'
776
- subject.should be_valid
778
+ expect(subject).to be_valid
777
779
  end
778
-
780
+
779
781
  it 'should be valid with 5 digits' do
780
782
  subject.tax_number = prefix + '12345'
781
- subject.should be_valid
783
+ expect(subject).to be_valid
782
784
  end
783
-
785
+
784
786
  it 'should be valid with 6 digits' do
785
787
  subject.tax_number = prefix + '123456'
786
- subject.should be_valid
788
+ expect(subject).to be_valid
787
789
  end
788
-
790
+
789
791
  it 'should be valid with 7 digits' do
790
792
  subject.tax_number = prefix + '1234567'
791
- subject.should be_valid
793
+ expect(subject).to be_valid
792
794
  end
793
-
795
+
794
796
  it 'should be valid with 8 digits' do
795
797
  subject.tax_number = prefix + '12345678'
796
- subject.should be_valid
798
+ expect(subject).to be_valid
797
799
  end
798
-
800
+
799
801
  it 'should be valid with 9 digits' do
800
802
  subject.tax_number = prefix + '123456789'
801
- subject.should be_valid
803
+ expect(subject).to be_valid
802
804
  end
803
-
805
+
804
806
  it 'should be valid with 10 digits' do
805
807
  subject.tax_number = prefix + '123456789'
806
- subject.should be_valid
808
+ expect(subject).to be_valid
807
809
  end
808
-
810
+
809
811
  it 'should not be valid if the first digit is 0' do
810
812
  subject.tax_number = prefix + '01'
811
- subject.should_not be_valid
813
+ expect(subject).not_to be_valid
812
814
  end
813
-
815
+
814
816
  it 'should not be valid with less then 2 digits' do
815
817
  subject.tax_number = prefix + '1'
816
- subject.should_not be_valid
818
+ expect(subject).not_to be_valid
817
819
  end
818
-
820
+
819
821
  it 'should not be valid with more then 10 digits' do
820
822
  subject.tax_number = prefix + '12345678901'
821
- subject.should_not be_valid
823
+ expect(subject).not_to be_valid
822
824
  end
823
825
  end
824
-
826
+
825
827
  context 'RU (Russia)' do
826
828
  let(:prefix) { 'RU' }
827
-
829
+
828
830
  it_behaves_like 'tax_number with 10 digits'
829
831
  end
830
-
832
+
831
833
  context 'SE (Sweden)' do
832
834
  let(:prefix) { 'SE' }
833
-
835
+
834
836
  it 'should be valid with 10 digits + "01"' do
835
837
  subject.tax_number = prefix + '123456789001'
836
- subject.should be_valid
838
+ expect(subject).to be_valid
837
839
  end
838
-
840
+
839
841
  it 'should not be valid without "01" at the end' do
840
842
  subject.tax_number = prefix + '123456789012'
841
- subject.should_not be_valid
843
+ expect(subject).not_to be_valid
842
844
  end
843
-
845
+
844
846
  it 'should not be valid with less then 10 digits + "01"' do
845
847
  subject.tax_number = prefix + '12345678901'
846
- subject.should_not be_valid
848
+ expect(subject).not_to be_valid
847
849
  end
848
-
850
+
849
851
  it 'should not be valid with more then 10 digits + "01"' do
850
852
  subject.tax_number = prefix + '1234567890101'
851
- subject.should_not be_valid
853
+ expect(subject).not_to be_valid
852
854
  end
853
855
  end
854
-
856
+
855
857
  context 'SI (Slovenia)' do
856
858
  let(:prefix) { 'SI' }
857
-
859
+
858
860
  it_behaves_like 'tax_number with 8 digits'
859
861
  end
860
-
862
+
861
863
  context 'SK (Slovakia)' do
862
864
  let(:prefix) { 'SK' }
863
-
865
+
864
866
  it_behaves_like 'tax_number with 10 digits'
865
867
  end
866
-
868
+
867
869
  context 'SM (San Marino)' do
868
870
  let(:prefix) { 'SM' }
869
-
871
+
870
872
  it 'should be valid with 5 digits' do
871
873
  subject.tax_number = prefix + '12345'
872
- subject.should be_valid
874
+ expect(subject).to be_valid
873
875
  end
874
-
876
+
875
877
  it 'should not be valid with less then 5 digits' do
876
878
  subject.tax_number = prefix + '1234'
877
- subject.should_not be_valid
879
+ expect(subject).not_to be_valid
878
880
  end
879
-
881
+
880
882
  it 'should not be valid with more then 5 digits' do
881
883
  subject.tax_number = prefix + '123456'
882
- subject.should_not be_valid
884
+ expect(subject).not_to be_valid
883
885
  end
884
886
  end
885
887
 
@@ -891,13 +893,13 @@ describe ActiveModel::Validations::VatIdValidator do
891
893
 
892
894
  context 'TR (Turkey)' do
893
895
  let(:prefix) { 'TR' }
894
-
896
+
895
897
  it_behaves_like 'tax_number with 10 digits'
896
898
  end
897
-
899
+
898
900
  context 'UA (Ukraine)' do
899
901
  let(:prefix) { 'UA' }
900
-
902
+
901
903
  it_behaves_like 'tax_number with 12 digits'
902
904
  end
903
905
 
@@ -912,32 +914,32 @@ describe ActiveModel::Validations::VatIdValidator do
912
914
 
913
915
  it 'should be valid with "J" + 9 digits' do
914
916
  subject.tax_number = prefix + 'J123456789'
915
- subject.should be_valid
917
+ expect(subject).to be_valid
916
918
  end
917
919
 
918
920
  it 'should be valid with "G" + 9 digits' do
919
921
  subject.tax_number = prefix + 'G123456789'
920
- subject.should be_valid
922
+ expect(subject).to be_valid
921
923
  end
922
924
 
923
925
  it 'should be valid with "V" + 9 digits' do
924
926
  subject.tax_number = prefix + 'V123456789'
925
- subject.should be_valid
927
+ expect(subject).to be_valid
926
928
  end
927
929
 
928
930
  it 'should be valid with "E" + 9 digits' do
929
931
  subject.tax_number = prefix + 'E123456789'
930
- subject.should be_valid
932
+ expect(subject).to be_valid
931
933
  end
932
934
 
933
935
  it 'should not be valid with less then 9 digits' do
934
936
  subject.tax_number = prefix + 'E12345678'
935
- subject.should_not be_valid
937
+ expect(subject).not_to be_valid
936
938
  end
937
939
 
938
940
  it 'should not be valid with more then 9 digits' do
939
941
  subject.tax_number = prefix + 'E1234567890'
940
- subject.should_not be_valid
942
+ expect(subject).not_to be_valid
941
943
  end
942
944
  end
943
945
  end