github.com/go-email-validator/go-email-validator@v0.0.0-20230409163946-b8b9e6a0552e/pkg/ev/validator_role_test.go (about) 1 package ev 2 3 import ( 4 "github.com/go-email-validator/go-email-validator/pkg/ev/contains" 5 "github.com/go-email-validator/go-email-validator/pkg/ev/evmail" 6 "github.com/go-email-validator/go-email-validator/pkg/ev/utils" 7 "reflect" 8 "testing" 9 ) 10 11 func Test_roleValidator_Validate(t *testing.T) { 12 type fields struct { 13 r contains.InSet 14 } 15 type args struct { 16 email evmail.Address 17 in1 []ValidationResult 18 } 19 tests := []struct { 20 name string 21 fields fields 22 args args 23 want ValidationResult 24 }{ 25 { 26 name: "email has not role", 27 fields: fields{ 28 r: mockContains{t: t, want: validEmail.Username(), ret: false}, 29 }, 30 args: args{ 31 email: validEmail, 32 }, 33 want: NewResult(true, nil, nil, RoleValidatorName), 34 }, 35 { 36 name: "email has role", 37 fields: fields{ 38 r: mockContains{t: t, want: validEmail.Username(), ret: true}, 39 }, 40 args: args{ 41 email: validEmail, 42 }, 43 want: NewResult(false, utils.Errs(RoleError{}), nil, RoleValidatorName), 44 }, 45 } 46 for _, tt := range tests { 47 t.Run(tt.name, func(t *testing.T) { 48 r := NewRoleValidator(tt.fields.r) 49 if got := r.Validate(NewInput(tt.args.email), tt.args.in1...); !reflect.DeepEqual(got, tt.want) { 50 t.Errorf("Validate() = %v, want %v", got, tt.want) 51 } 52 }) 53 } 54 } 55 56 func TestRoleError_Error(t *testing.T) { 57 tests := []struct { 58 name string 59 want string 60 }{ 61 { 62 want: RoleErr, 63 }, 64 } 65 for _, tt := range tests { 66 t.Run(tt.name, func(t *testing.T) { 67 ro := RoleError{} 68 if got := ro.Error(); got != tt.want { 69 t.Errorf("Error() = %v, want %v", got, tt.want) 70 } 71 }) 72 } 73 }