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:
21212121Metrics/ClassLength :
21222122 Description : " Avoid classes longer than 100 lines of code."
21232123 Enabled : true
2124+ Exclude :
2125+ - " test/**/*"
21242126 VersionAdded : " 0.25"
21252127 VersionChanged : " 0.87"
21262128 CountComments : false # count full line comments?
Original file line number Diff line number Diff line change 33class User < ApplicationRecord
44 has_secure_password
55
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
710 validates :first_name , presence : true
811 validates :last_name , presence : true
912end
Original file line number Diff line number Diff line change @@ -74,7 +74,15 @@ def perform(args = {})
7474 parameters = build_parameters ( @user )
7575 result = perform ( parameters )
7676
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' ] )
7886 end
7987
8088 test 'should not register without password' do
Original file line number Diff line number Diff line change @@ -93,7 +93,7 @@ def perform(args = {})
9393 }
9494 result = perform ( parameters )
9595
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' ] )
9797 end
9898
9999 test 'should not update with pre-existing email' do
@@ -108,5 +108,18 @@ def perform(args = {})
108108
109109 assert_equal ( 'Invalid input: Email has already been taken' , result [ 'errors' ] [ 0 ] [ 'message' ] )
110110 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
111124 end
112125end
Original file line number Diff line number Diff line change @@ -41,6 +41,14 @@ def setup
4141 assert_not_nil ( user . errors [ :email ] , 'duplicate email present' )
4242 end
4343
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+
4452 test 'should not create without password' do
4553 user = User . new ( first_name : @user [ :first_name ] )
4654
You can’t perform that action at this time.
0 commit comments