activevalidators 5.1.0 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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