File tree Expand file tree Collapse file tree 5 files changed +37
-3
lines changed Expand file tree Collapse file tree 5 files changed +37
-3
lines changed Original file line number Diff line number Diff line change @@ -2121,6 +2121,8 @@ Metrics/BlockNesting:
2121
2121
Metrics/ClassLength :
2122
2122
Description : " Avoid classes longer than 100 lines of code."
2123
2123
Enabled : true
2124
+ Exclude :
2125
+ - " test/**/*"
2124
2126
VersionAdded : " 0.25"
2125
2127
VersionChanged : " 0.87"
2126
2128
CountComments : false # count full line comments?
Original file line number Diff line number Diff line change 3
3
class User < ApplicationRecord
4
4
has_secure_password
5
5
6
- validates :email , presence : true , uniqueness : true
6
+ validates :email , format : {
7
+ message : 'invalid format' ,
8
+ with : URI ::MailTo ::EMAIL_REGEXP
9
+ } , presence : true , uniqueness : true
7
10
validates :first_name , presence : true
8
11
validates :last_name , presence : true
9
12
end
Original file line number Diff line number Diff line change @@ -74,7 +74,15 @@ def perform(args = {})
74
74
parameters = build_parameters ( @user )
75
75
result = perform ( parameters )
76
76
77
- assert_equal ( "Invalid input: Email can't be blank" , result [ 'errors' ] [ 0 ] [ 'message' ] )
77
+ assert_equal ( "Invalid input: Email invalid format, Email can't be blank" , result [ 'errors' ] [ 0 ] [ 'message' ] )
78
+ end
79
+
80
+ test 'should not register without valid email' do
81
+ @user [ :email ] = 'taylorlocalhost'
82
+ parameters = build_parameters ( @user )
83
+ result = perform ( parameters )
84
+
85
+ assert_equal ( 'Invalid input: Email invalid format' , result [ 'errors' ] [ 0 ] [ 'message' ] )
78
86
end
79
87
80
88
test 'should not register without password' do
Original file line number Diff line number Diff line change @@ -93,7 +93,7 @@ def perform(args = {})
93
93
}
94
94
result = perform ( parameters )
95
95
96
- assert_equal ( "Invalid input: Email can't be blank" , result [ 'errors' ] [ 0 ] [ 'message' ] )
96
+ assert_equal ( "Invalid input: Email invalid format, Email can't be blank" , result [ 'errors' ] [ 0 ] [ 'message' ] )
97
97
end
98
98
99
99
test 'should not update with pre-existing email' do
@@ -108,5 +108,18 @@ def perform(args = {})
108
108
109
109
assert_equal ( 'Invalid input: Email has already been taken' , result [ 'errors' ] [ 0 ] [ 'message' ] )
110
110
end
111
+
112
+ test 'should not update without valid email' do
113
+ parameters = {
114
+ input : {
115
+ arguments : {
116
+ email : 'janedoelocalhost'
117
+ }
118
+ }
119
+ }
120
+ result = perform ( parameters )
121
+
122
+ assert_equal ( 'Invalid input: Email invalid format' , result [ 'errors' ] [ 0 ] [ 'message' ] )
123
+ end
111
124
end
112
125
end
Original file line number Diff line number Diff line change @@ -41,6 +41,14 @@ def setup
41
41
assert_not_nil ( user . errors [ :email ] , 'duplicate email present' )
42
42
end
43
43
44
+ test 'should not create without valid email' do
45
+ @user [ :email ] = 'johndoelocalhost'
46
+ user = User . create ( @user )
47
+
48
+ refute ( user . valid? )
49
+ assert_equal ( user . errors [ :email ] [ 0 ] , 'invalid format' )
50
+ end
51
+
44
52
test 'should not create without password' do
45
53
user = User . new ( first_name : @user [ :first_name ] )
46
54
You can’t perform that action at this time.
0 commit comments