github.com/go-email-validator/go-email-validator@v0.0.0-20230409163946-b8b9e6a0552e/pkg/ev/validator_disposable_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  	"reflect"
     7  	"testing"
     8  )
     9  
    10  func TestDisposableValidator_Validate(t *testing.T) {
    11  	type fields struct {
    12  		d contains.InSet
    13  	}
    14  	type args struct {
    15  		email evmail.Address
    16  		in1   []ValidationResult
    17  	}
    18  	tests := []struct {
    19  		name   string
    20  		fields fields
    21  		args   args
    22  		want   ValidationResult
    23  	}{
    24  		{
    25  			name: "valid",
    26  			fields: fields{
    27  				d: mockContains{t: t, want: validEmail.Domain(), ret: false},
    28  			},
    29  			args: args{email: validEmail},
    30  			want: NewResult(true, nil, nil, DisposableValidatorName),
    31  		},
    32  		{
    33  			name: "invalid",
    34  			fields: fields{
    35  				d: mockContains{t: t, want: validEmail.Domain(), ret: true},
    36  			},
    37  			args: args{email: validEmail},
    38  			want: NewResult(false, []error{DisposableError{}}, nil, DisposableValidatorName),
    39  		},
    40  	}
    41  	for _, tt := range tests {
    42  		t.Run(tt.name, func(t *testing.T) {
    43  			d := NewDisposableValidator(tt.fields.d)
    44  			if got := d.Validate(NewInput(tt.args.email), tt.args.in1...); !reflect.DeepEqual(got, tt.want) {
    45  				t.Errorf("Validate() = %v, want %v", got, tt.want)
    46  			}
    47  		})
    48  	}
    49  }
    50  
    51  func TestDisposableError_Error(t *testing.T) {
    52  	tests := []struct {
    53  		name string
    54  		want string
    55  	}{
    56  		{
    57  			want: DisposableErr,
    58  		},
    59  	}
    60  	for _, tt := range tests {
    61  		t.Run(tt.name, func(t *testing.T) {
    62  			di := DisposableError{}
    63  			if got := di.Error(); got != tt.want {
    64  				t.Errorf("Error() = %v, want %v", got, tt.want)
    65  			}
    66  		})
    67  	}
    68  }