github.com/plutov/paypal/v4@v4.7.1/filter_test.go (about)

     1  package paypal
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  )
     7  
     8  func TestFilter_AddTextField(t *testing.T) {
     9  	filter := &Filter{}
    10  	filter.AddTextField("sort_by").Is = "create_time"
    11  	filter.AddTextField("count").Is = "30"
    12  	filter.AddTextField("sort_order").Is = "desc"
    13  
    14  	expected := "?sort_by=create_time&count=30&sort_order=desc"
    15  	if filter.String() != expected {
    16  		t.Errorf("filter string was %s, wanted %s", filter.String(), expected)
    17  	}
    18  }
    19  
    20  func TestFilter_AddTimeField(t *testing.T) {
    21  	filter := &Filter{}
    22  	startTime := time.Time{}
    23  	endTime := startTime.Add(time.Hour * 24 * 30)
    24  	filter.AddTimeField("start_time").Is = startTime
    25  	filter.AddTimeField("stop_time").Is = endTime
    26  
    27  	expected := "?start_time=0001-01-01T00:00:00Z&stop_time=0001-01-31T00:00:00Z"
    28  	if filter.String() != expected {
    29  		t.Errorf("filter string was %s, wanted %s", filter.String(), expected)
    30  	}
    31  }
    32  
    33  func TestFilter_AddMixedFields(t *testing.T) {
    34  	filter := &Filter{}
    35  	startTime := time.Time{}
    36  	endTime := startTime.Add(time.Hour * 24 * 30)
    37  	filter.AddTimeField("stop_time").Is = endTime
    38  	filter.AddTextField("count").Is = "30"
    39  
    40  	expected := "?stop_time=0001-01-31T00:00:00Z&count=30"
    41  	if filter.String() != expected {
    42  		t.Errorf("filter string was %s, wanted %s", filter.String(), expected)
    43  	}
    44  }