github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/validate/validatetpl/phone_test.go (about)

     1  package validatetpl
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestValidatePhone(t *testing.T) {
     8  	type args struct {
     9  		v interface{}
    10  	}
    11  	tests := []struct {
    12  		name  string
    13  		args  args
    14  		want  bool
    15  		want1 string
    16  	}{
    17  		{
    18  			name: "normal",
    19  			args: args{
    20  				v: "13478902992",
    21  			},
    22  			want:  true,
    23  			want1: "",
    24  		},
    25  		{
    26  			name: "ExceedLength",
    27  			args: args{
    28  				v: "134789029932",
    29  			},
    30  			want:  false,
    31  			want1: InvalidPhoneNoValue,
    32  		},
    33  		{
    34  			name: "shortLength",
    35  			args: args{
    36  				v: "1347890292",
    37  			},
    38  			want:  false,
    39  			want1: InvalidPhoneNoValue,
    40  		},
    41  		{
    42  			name: "notAllNumber",
    43  			args: args{
    44  				v: "134789a2992",
    45  			},
    46  			want:  false,
    47  			want1: InvalidPhoneNoValue,
    48  		},
    49  		{
    50  			name: "intType",
    51  			args: args{
    52  				v: 13478902992,
    53  			},
    54  			want:  false,
    55  			want1: InvalidPhoneNoType,
    56  		},
    57  		{
    58  			name: "empty",
    59  			args: args{
    60  				v: "",
    61  			},
    62  			want:  false,
    63  			want1: InvalidPhoneNoValue,
    64  		},
    65  	}
    66  	for _, tt := range tests {
    67  		got, got1 := ValidatePhone(tt.args.v)
    68  		if got != tt.want {
    69  			t.Errorf("%q. ValidatePhone() got = %v, want %v", tt.name, got, tt.want)
    70  		}
    71  		if got1 != tt.want1 {
    72  			t.Errorf("%q. ValidatePhone() got1 = %v, want %v", tt.name, got1, tt.want1)
    73  		}
    74  	}
    75  }