activevalidators 5.1.0 → 6.0.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.
@@ -14,21 +14,21 @@ describe "Respond To Validation" do
14
14
  subject.global_condition = true
15
15
  subject.local_condition = true
16
16
 
17
- subject.valid?.must_equal true
18
- subject.errors.size.must_equal 0
17
+ _(subject.valid?).must_equal(true)
18
+ _(subject.errors.size).must_equal(0)
19
19
  end
20
20
 
21
21
  describe "when does not respond_to?" do
22
22
  it "rejects the responder" do
23
23
  subject = build_respond_to_record :responder => 42, :global_condition => true, :local_condition => true
24
- subject.valid?.must_equal false
25
- subject.errors.size.must_equal 1
24
+ _(subject.valid?).must_equal(false)
25
+ _(subject.errors.size).must_equal(1)
26
26
  end
27
27
 
28
28
  it "generates an error message of type invalid" do
29
29
  subject = build_respond_to_record :responder => 42, :global_condition => true, :local_condition => true
30
- subject.valid?.must_equal false
31
- subject.errors[:responder].include?(subject.errors.generate_message(:responder, :invalid)).must_equal true
30
+ _(subject.valid?).must_equal(false)
31
+ _(subject.errors[:responder].include?(subject.errors.generate_message(:responder, :invalid))).must_equal(true)
32
32
  end
33
33
  end
34
34
  end
@@ -6,66 +6,66 @@ describe "SIN validations" do
6
6
  describe "for invalid" do
7
7
  it "rejects empty sin" do
8
8
  subject = build_sin_record({:sin => ''})
9
- subject.valid?.must_equal false
9
+ _(subject.valid?).must_equal(false)
10
10
  end
11
11
 
12
12
  it "rejects sin made out of zeroes" do
13
13
  subject = build_sin_record({:sin => '000 000 000'}, {:country => :canada})
14
- subject.valid?.must_equal false
14
+ _(subject.valid?).must_equal(false)
15
15
  end
16
16
 
17
17
  it "rejects empty sin when country is provided" do
18
18
  subject = build_sin_record({:sin => ''}, {:country => :canada })
19
- subject.valid?.must_equal false
19
+ _(subject.valid?).must_equal(false)
20
20
  end
21
21
 
22
22
  it "rejects too long sin" do
23
23
  subject = build_sin_record({:sin => '123 456 789 0'}, {:country => :canada })
24
- subject.valid?.must_equal false
24
+ _(subject.valid?).must_equal(false)
25
25
  end
26
26
 
27
27
  it "rejects too short sin" do
28
28
  subject = build_sin_record({:sin => '123'}, {:country => :canada })
29
- subject.valid?.must_equal false
29
+ _(subject.valid?).must_equal(false)
30
30
  end
31
31
 
32
32
  it "rejects valid sin for temporary residents by default" do
33
33
  subject = build_sin_record({:sin => '996 454 286'}, {:country => :canada })
34
- subject.valid?.must_equal false
34
+ _(subject.valid?).must_equal(false)
35
35
  end
36
36
 
37
37
  it "rejects valid business numbers by default" do
38
38
  subject = build_sin_record({:sin => '897 454 286'}, {:country => :canada })
39
- subject.valid?.must_equal false
39
+ _(subject.valid?).must_equal(false)
40
40
  end
41
41
 
42
42
  it "rejects invalid sin for permanent residents" do
43
43
  subject = build_sin_record({:sin => '123 456 789'}, {:country => :canada })
44
- subject.valid?.must_equal false
44
+ _(subject.valid?).must_equal(false)
45
45
  end
46
46
  end
47
47
 
48
48
  describe "for valid" do
49
49
  it "accept valid sin for permanent residents without flags (Canada by default)" do
50
50
  subject = build_sin_record({:sin => '046 454 286'}, true)
51
- subject.valid?.must_equal true
51
+ _(subject.valid?).must_equal(true)
52
52
  end
53
53
 
54
54
  it "accept valid sin for permanent residents" do
55
55
  subject = build_sin_record({:sin => '046 454 286'}, {:country => :canada })
56
- subject.valid?.must_equal true
56
+ _(subject.valid?).must_equal(true)
57
57
  end
58
58
 
59
59
  it "accept valid sin for temporary residents when flag is provided" do
60
60
  subject = build_sin_record({:sin => '996 454 286'},
61
61
  {:country => :canada, :country_options => { allow_permanent_residents: true } })
62
- subject.valid?.must_equal true
62
+ _(subject.valid?).must_equal(true)
63
63
  end
64
64
 
65
65
  it "accept valid business numbers when flag is provided" do
66
66
  subject = build_sin_record({:sin => '897 454 286'},
67
67
  {:country => :canada, :country_options => { allow_business_numbers: true } })
68
- subject.valid?.must_equal true
68
+ _(subject.valid?).must_equal(true)
69
69
  end
70
70
  end
71
71
  end
@@ -4,47 +4,47 @@ ActiveValidators.activate(:siren)
4
4
  describe "Siren Validation" do
5
5
  it "Rejects if not supplied" do
6
6
  subject = build_siren_record true
7
- subject.valid?.must_equal false
8
- subject.errors.size.must_equal 1
7
+ _(subject.valid?).must_equal(false)
8
+ _(subject.errors.size).must_equal(1)
9
9
  end
10
10
 
11
11
  describe 'supplied as a string' do
12
12
  it "Accepts if valid" do
13
13
  subject = build_siren_record true, :siren => '552100554'
14
- subject.valid?.must_equal true
15
- subject.errors.size.must_equal 0
14
+ _(subject.valid?).must_equal(true)
15
+ _(subject.errors.size).must_equal(0)
16
16
  end
17
17
 
18
18
  it "Reject if invalid" do
19
19
  subject = build_siren_record true, :siren => '552100553'
20
- subject.valid?.must_equal false
21
- subject.errors.size.must_equal 1
20
+ _(subject.valid?).must_equal(false)
21
+ _(subject.errors.size).must_equal(1)
22
22
  end
23
23
 
24
24
  it "Reject if not the right size" do
25
25
  subject = build_siren_record true, :siren => '55210055'
26
- subject.valid?.must_equal false
27
- subject.errors.size.must_equal 1
26
+ _(subject.valid?).must_equal(false)
27
+ _(subject.errors.size).must_equal(1)
28
28
  end
29
29
  end
30
30
 
31
31
  describe 'supplied as a number' do
32
32
  it "Accepts if valid" do
33
33
  subject = build_siren_record true, :siren => 732829320
34
- subject.valid?.must_equal true
35
- subject.errors.size.must_equal 0
34
+ _(subject.valid?).must_equal(true)
35
+ _(subject.errors.size).must_equal(0)
36
36
  end
37
37
 
38
38
  it "Reject if invalid" do
39
39
  subject = build_siren_record true, :siren => 732829321
40
- subject.valid?.must_equal false
41
- subject.errors.size.must_equal 1
40
+ _(subject.valid?).must_equal(false)
41
+ _(subject.errors.size).must_equal(1)
42
42
  end
43
43
 
44
44
  it "Reject if not the right size" do
45
45
  subject = build_siren_record true, :siren => 73282932
46
- subject.valid?.must_equal false
47
- subject.errors.size.must_equal 1
46
+ _(subject.valid?).must_equal(false)
47
+ _(subject.errors.size).must_equal(1)
48
48
  end
49
49
  end
50
50
 
@@ -11,29 +11,29 @@ describe "Slug Validation" do
11
11
  it "accepts valid slugs" do
12
12
  subject = build_slug_validation
13
13
  subject.slug = '1234567890-foo-bar-bar'
14
- subject.valid?.must_equal true
15
- subject.errors.size.must_equal 0
14
+ _(subject.valid?).must_equal(true)
15
+ _(subject.errors.size).must_equal(0)
16
16
  end
17
17
 
18
18
  describe "for invalid slugs" do
19
19
  it "rejects invalid slugs" do
20
20
  subject = build_slug_validation :slug => '@#$%^'
21
- subject.valid?.must_equal false
22
- subject.errors.size.must_equal 1
21
+ _(subject.valid?).must_equal(false)
22
+ _(subject.errors.size).must_equal(1)
23
23
  end
24
24
 
25
25
  it "generates an error message of type invalid" do
26
26
  subject = build_slug_validation :slug => '@#$%^'
27
- subject.valid?.must_equal false
28
- subject.errors[:slug].include?(subject.errors.generate_message(:slug, :invalid)).must_equal true
27
+ _(subject.valid?).must_equal(false)
28
+ _(subject.errors[:slug].include?(subject.errors.generate_message(:slug, :invalid))).must_equal(true)
29
29
  end
30
30
  end
31
31
 
32
32
  describe "for empty slugs" do
33
33
  it "generates an error message of type blank" do
34
34
  subject = build_slug_validation :slug => nil
35
- subject.valid?.must_equal false
36
- subject.errors[:slug].include?(subject.errors.generate_message(:slug, :blank)).must_equal true
35
+ _(subject.valid?).must_equal(false)
36
+ _(subject.errors[:slug].include?(subject.errors.generate_message(:slug, :blank))).must_equal(true)
37
37
  end
38
38
  end
39
39
 
@@ -6,45 +6,45 @@ describe "SSN validations" do
6
6
  describe "for invalid" do
7
7
  it "rejects empty ssn" do
8
8
  subject = build_ssn_record({:ssn => ''}, true)
9
- subject.valid?.must_equal false
9
+ _(subject.valid?).must_equal(false)
10
10
  end
11
11
 
12
12
  it "rejects ssn when it doesn't consist of numbers" do
13
13
  subject = build_ssn_record({:ssn => 'aaabbcccc'}, true)
14
- subject.valid?.must_equal false
14
+ _(subject.valid?).must_equal(false)
15
15
  end
16
16
 
17
17
  it "rejects ssn when the first group of digits is 000" do
18
18
  subject = build_ssn_record({:ssn => '000112222'}, true)
19
- subject.valid?.must_equal false
19
+ _(subject.valid?).must_equal(false)
20
20
  end
21
21
 
22
22
  it "rejects ssn when the first group of digits is 666" do
23
23
  subject = build_ssn_record({:ssn => '666112222'}, true)
24
- subject.valid?.must_equal false
24
+ _(subject.valid?).must_equal(false)
25
25
  end
26
26
 
27
27
  (900..999).each do |first_group_num|
28
28
  it "rejects ssn when the first group of digits is #{first_group_num}" do
29
29
  subject = build_ssn_record({:ssn => "#{first_group_num}112222"}, true)
30
- subject.valid?.must_equal false
30
+ _(subject.valid?).must_equal(false)
31
31
  end
32
32
  end
33
33
 
34
34
  it "reject ssn when the second group of digits is 00" do
35
35
  subject = build_ssn_record({:ssn => "555002222"}, true)
36
- subject.valid?.must_equal false
36
+ _(subject.valid?).must_equal(false)
37
37
  end
38
38
 
39
39
  it "reject ssn when the third group of digits is 0000" do
40
40
  subject = build_ssn_record({:ssn => "555660000"}, true)
41
- subject.valid?.must_equal false
41
+ _(subject.valid?).must_equal(false)
42
42
  end
43
43
 
44
44
  (987654320..987654329).each do |reserved_ssn|
45
45
  it "rejects reserved ssn such as #{reserved_ssn}" do
46
46
  subject = build_ssn_record({:ssn => "#{reserved_ssn}"}, true)
47
- subject.valid?.must_equal false
47
+ _(subject.valid?).must_equal(false)
48
48
  end
49
49
  end
50
50
  end
@@ -53,13 +53,13 @@ describe "SSN validations" do
53
53
  it "supports deprecated usa_ssn syntax" do
54
54
  assert_deprecated do
55
55
  subject = build_ssn_record({:ssn => '444556666'}, {:type => :usa_ssn})
56
- subject.valid?.must_equal true
56
+ _(subject.valid?).must_equal(true)
57
57
  end
58
58
  end
59
59
 
60
60
  it "accept ssn without type (and use by default 'usa_ssn')" do
61
61
  subject = build_ssn_record({:ssn => '444556666'}, true)
62
- subject.valid?.must_equal true
62
+ _(subject.valid?).must_equal(true)
63
63
  end
64
64
  end
65
65
  end
@@ -13,16 +13,16 @@ describe "Tracking Number Validation" do
13
13
  def assert_valid_tracking_number(carrier_opts, tracking_number, &block)
14
14
  subject = build_tracking_number_record(carrier_opts, &block)
15
15
  subject.tracking_number = tracking_number
16
- subject.valid?.must_equal true
17
- subject.errors.size.must_equal 0
16
+ _(subject.valid?).must_equal(true)
17
+ _(subject.errors.size).must_equal(0)
18
18
  end
19
19
 
20
20
  def assert_invalid_tracking_number(carrier_opts, tracking_number, &block)
21
21
  subject = build_tracking_number_record(carrier_opts, &block)
22
22
  subject.tracking_number = tracking_number
23
- subject.valid?.must_equal false
24
- subject.errors.size.must_equal 1
25
- subject.errors[:tracking_number].must_include subject.errors.generate_message(:tracking_number, :invalid)
23
+ _(subject.valid?).must_equal(false)
24
+ _(subject.errors.size).must_equal(1)
25
+ _(subject.errors[:tracking_number]).must_include(subject.errors.generate_message(:tracking_number, :invalid))
26
26
  end
27
27
 
28
28
  describe "when no carrier parameter is given" do
@@ -11,84 +11,84 @@ describe "Twitter Validation" do
11
11
 
12
12
  it "rejects invalid urls" do
13
13
  subject = build_twitter_record true
14
- subject.valid?.must_equal false
15
- subject.errors.size.must_equal 1
14
+ _(subject.valid?).must_equal(false)
15
+ _(subject.errors.size).must_equal(1)
16
16
  end
17
17
 
18
18
  it "generates an error message of type blank" do
19
19
  subject = build_twitter_record true
20
- subject.valid?.must_equal false
20
+ _(subject.valid?).must_equal(false)
21
21
 
22
22
  message = subject.errors.generate_message(:twitter_username, :blank)
23
- subject.errors[:twitter_username].include?(message).must_equal true
23
+ _(subject.errors[:twitter_username].include?(message)).must_equal(true)
24
24
  end
25
25
 
26
26
  describe "for twitter url validator" do
27
27
  it "validates with http" do
28
28
  subject = build_twitter_record :format => :url
29
29
  subject.twitter_username = 'http://twitter.com/garrettb'
30
- subject.valid?.must_equal true
30
+ _(subject.valid?).must_equal(true)
31
31
  end
32
32
 
33
33
  it "validates with https protocol" do
34
34
  subject = build_twitter_record :format => :url
35
35
  subject.twitter_username = 'https://twitter.com/garrettb'
36
- subject.valid?.must_equal true
36
+ _(subject.valid?).must_equal(true)
37
37
  end
38
38
 
39
39
  it "generate error with ftp protocol" do
40
40
  subject = build_twitter_record :format => :url
41
41
  subject.twitter_username = 'ftp://twitter.com/garrettb'
42
- subject.valid?.must_equal false
43
- subject.errors.size.must_equal 1
42
+ _(subject.valid?).must_equal(false)
43
+ _(subject.errors.size).must_equal(1)
44
44
  end
45
45
 
46
46
  it "validates with www and http" do
47
47
  subject = build_twitter_record :format => :url
48
48
  subject.twitter_username = 'http://www.twitter.com/garrettb'
49
- subject.valid?.must_equal true
49
+ _(subject.valid?).must_equal(true)
50
50
  end
51
51
 
52
52
  it "generate error without www dot" do
53
53
  subject = build_twitter_record :format => :url
54
54
  subject.twitter_username = 'http://wwwtwitter.com/garrettb'
55
- subject.valid?.must_equal false
56
- subject.errors.size.must_equal 1
55
+ _(subject.valid?).must_equal(false)
56
+ _(subject.errors.size).must_equal(1)
57
57
  end
58
58
 
59
59
  it "generate error without no username" do
60
60
  subject = build_twitter_record :format => :url
61
61
  subject.twitter_username = 'http://twitter.com'
62
- subject.valid?.must_equal false
63
- subject.errors.size.must_equal 1
62
+ _(subject.valid?).must_equal(false)
63
+ _(subject.errors.size).must_equal(1)
64
64
  end
65
65
 
66
66
  it "generate error without no username and trailing slash" do
67
67
  subject = build_twitter_record :format => :url
68
68
  subject.twitter_username = 'http://twitter.com/'
69
- subject.valid?.must_equal false
70
- subject.errors.size.must_equal 1
69
+ _(subject.valid?).must_equal(false)
70
+ _(subject.errors.size).must_equal(1)
71
71
  end
72
72
 
73
73
  it "generate error with too long of username" do
74
74
  subject = build_twitter_record :format => :url
75
75
  subject.twitter_username = 'http://twitter.com/garrettbjerkhoelwashere'
76
- subject.valid?.must_equal false
77
- subject.errors.size.must_equal 1
76
+ _(subject.valid?).must_equal(false)
77
+ _(subject.errors.size).must_equal(1)
78
78
  end
79
79
 
80
80
  it "generate error with invalid character" do
81
81
  subject = build_twitter_record :format => :url
82
82
  subject.twitter_username = 'http://twitter.com/garrettbjerkhoé'
83
- subject.valid?.must_equal false
84
- subject.errors.size.must_equal 1
83
+ _(subject.valid?).must_equal(false)
84
+ _(subject.errors.size).must_equal(1)
85
85
  end
86
86
 
87
87
  it "generates error with injected content" do
88
88
  subject = build_twitter_record :format => :url
89
89
  subject.twitter_username = "javascript:alert('xss');\nhttp://twitter.com/garrettbjerkhoelwashere"
90
- subject.valid?.must_equal false
91
- subject.errors.size.must_equal 1
90
+ _(subject.valid?).must_equal(false)
91
+ _(subject.errors.size).must_equal(1)
92
92
  end
93
93
  end
94
94
 
@@ -96,41 +96,41 @@ describe "Twitter Validation" do
96
96
  it "validate with valid username" do
97
97
  subject = build_twitter_record :format => :username_with_at
98
98
  subject.twitter_username = '@garrettb'
99
- subject.valid?.must_equal true
99
+ _(subject.valid?).must_equal(true)
100
100
  end
101
101
 
102
102
  it "validate with one character" do
103
103
  subject = build_twitter_record :format => :username_with_at
104
104
  subject.twitter_username = '@a'
105
- subject.valid?.must_equal true
105
+ _(subject.valid?).must_equal(true)
106
106
  end
107
107
 
108
108
  it "generate error with too long of username" do
109
109
  subject = build_twitter_record :format => :username_with_at
110
110
  subject.twitter_username = '@garrettbjerkhoelwashere'
111
- subject.valid?.must_equal false
112
- subject.errors.size.must_equal 1
111
+ _(subject.valid?).must_equal(false)
112
+ _(subject.errors.size).must_equal(1)
113
113
  end
114
114
 
115
115
  it "generate error with no username" do
116
116
  subject = build_twitter_record :format => :username_with_at
117
117
  subject.twitter_username = '@'
118
- subject.valid?.must_equal false
119
- subject.errors.size.must_equal 1
118
+ _(subject.valid?).must_equal(false)
119
+ _(subject.errors.size).must_equal(1)
120
120
  end
121
121
 
122
122
  it "generate error with invalid character" do
123
123
  subject = build_twitter_record :format => :username_with_at
124
124
  subject.twitter_username = '@érik'
125
- subject.valid?.must_equal false
126
- subject.errors.size.must_equal 1
125
+ _(subject.valid?).must_equal(false)
126
+ _(subject.errors.size).must_equal(1)
127
127
  end
128
128
 
129
129
  it "generate error with injected content" do
130
130
  subject = build_twitter_record :format => :username_with_at
131
131
  subject.twitter_username = "injected\n@erik"
132
- subject.valid?.must_equal false
133
- subject.errors.size.must_equal 1
132
+ _(subject.valid?).must_equal(false)
133
+ _(subject.errors.size).must_equal(1)
134
134
  end
135
135
  end
136
136
 
@@ -138,48 +138,48 @@ describe "Twitter Validation" do
138
138
  it "validate with valid username" do
139
139
  subject = build_twitter_record true
140
140
  subject.twitter_username = 'garrettb'
141
- subject.valid?.must_equal true
141
+ _(subject.valid?).must_equal(true)
142
142
  end
143
143
 
144
144
  it "validate with one character" do
145
145
  subject = build_twitter_record true
146
146
  subject.twitter_username = 'a'
147
- subject.valid?.must_equal true
147
+ _(subject.valid?).must_equal(true)
148
148
  end
149
149
 
150
150
  it "generate error with too long of username" do
151
151
  subject = build_twitter_record true
152
152
  subject.twitter_username = 'garrettbjerkhoelwashere'
153
- subject.valid?.must_equal false
154
- subject.errors.size.must_equal 1
153
+ _(subject.valid?).must_equal(false)
154
+ _(subject.errors.size).must_equal(1)
155
155
  end
156
156
 
157
157
  it "generate error with no username" do
158
158
  subject = build_twitter_record true
159
159
  subject.twitter_username = ''
160
- subject.valid?.must_equal false
161
- subject.errors.size.must_equal 1
160
+ _(subject.valid?).must_equal(false)
161
+ _(subject.errors.size).must_equal(1)
162
162
  end
163
163
 
164
164
  it "generate error with invalid character" do
165
165
  subject = build_twitter_record true
166
166
  subject.twitter_username = 'érik'
167
- subject.valid?.must_equal false
168
- subject.errors.size.must_equal 1
167
+ _(subject.valid?).must_equal(false)
168
+ _(subject.errors.size).must_equal(1)
169
169
  end
170
170
 
171
171
  it "generate error with at sign character" do
172
172
  subject = build_twitter_record true
173
173
  subject.twitter_username = '@garrettb'
174
- subject.valid?.must_equal false
175
- subject.errors.size.must_equal 1
174
+ _(subject.valid?).must_equal(false)
175
+ _(subject.errors.size).must_equal(1)
176
176
  end
177
177
 
178
178
  it "generate error with at injected data" do
179
179
  subject = build_twitter_record true
180
180
  subject.twitter_username = "something\ngarrettb\nelse"
181
- subject.valid?.must_equal false
182
- subject.errors.size.must_equal 1
181
+ _(subject.valid?).must_equal(false)
182
+ _(subject.errors.size).must_equal(1)
183
183
  end
184
184
  end
185
185
  end