github.com/go-email-validator/go-email-validator@v0.0.0-20230409163946-b8b9e6a0552e/pkg/ev/validator_whitelist_domain_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_whiteListValidator_Validate(t *testing.T) { 12 type fields struct { 13 d contains.InSet 14 } 15 type args struct { 16 email evmail.Address 17 } 18 tests := []struct { 19 name string 20 fields fields 21 args args 22 want ValidationResult 23 }{ 24 { 25 name: "email is in white list", 26 fields: fields{ 27 d: mockContains{t: t, want: validEmail.Domain(), ret: true}, 28 }, 29 args: args{ 30 email: validEmail, 31 }, 32 want: NewResult(true, nil, nil, WhiteListDomainValidatorName), 33 }, 34 { 35 name: "email is not in white list", 36 fields: fields{ 37 d: mockContains{t: t, want: validEmail.Domain(), ret: false}, 38 }, 39 args: args{ 40 email: validEmail, 41 }, 42 want: NewResult(false, utils.Errs(WhiteListError{}), nil, WhiteListDomainValidatorName), 43 }, 44 } 45 for _, tt := range tests { 46 t.Run(tt.name, func(t *testing.T) { 47 w := NewWhiteListValidator(tt.fields.d) 48 if got := w.Validate(NewInput(tt.args.email)); !reflect.DeepEqual(got, tt.want) { 49 t.Errorf("Validate() = %v, want %v", got, tt.want) 50 } 51 }) 52 } 53 } 54 55 func TestWhiteListError_Error(t *testing.T) { 56 tests := []struct { 57 name string 58 want string 59 }{ 60 { 61 want: WhiteListErr, 62 }, 63 } 64 for _, tt := range tests { 65 t.Run(tt.name, func(t *testing.T) { 66 wh := WhiteListError{} 67 if got := wh.Error(); got != tt.want { 68 t.Errorf("Error() = %v, want %v", got, tt.want) 69 } 70 }) 71 } 72 }