github.com/altipla-consulting/ravendb-go-client@v0.1.3/range_builder_test.go (about)

     1  package ravendb
     2  
     3  import (
     4  	"github.com/stretchr/testify/assert"
     5  	"strings"
     6  	"testing"
     7  )
     8  
     9  func TestRangeBuilder(t *testing.T) {
    10  	{
    11  		b := NewRangeBuilder("foo")
    12  		b = b.IsLessThan(3)
    13  		b = b.IsLessThan(4)
    14  		b = b.IsLessThan(5)
    15  		assert.Error(t, b.Err())
    16  		assert.True(t, strings.Contains(b.Err().Error(), "Less bound was already set"))
    17  	}
    18  
    19  	{
    20  		b := NewRangeBuilder("foo")
    21  		b = b.IsLessThan(3)
    22  		b = b.IsLessThanOrEqualTo(18)
    23  		b = b.IsLessThanOrEqualTo(22)
    24  		assert.Error(t, b.Err())
    25  		assert.True(t, strings.Contains(b.Err().Error(), "Less bound was already set"))
    26  	}
    27  
    28  	{
    29  		b := NewRangeBuilder("foo")
    30  		b = b.IsGreaterThan(3)
    31  		b = b.IsGreaterThan(18)
    32  		b = b.IsGreaterThan(3)
    33  		assert.Error(t, b.Err())
    34  		assert.True(t, strings.Contains(b.Err().Error(), "Greater bound was already set"))
    35  	}
    36  
    37  	{
    38  		b := NewRangeBuilder("foo")
    39  		b = b.IsGreaterThanOrEqualTo(3)
    40  		b = b.IsGreaterThan(18)
    41  		b = b.IsGreaterThanOrEqualTo(12)
    42  		assert.Error(t, b.Err())
    43  		assert.True(t, strings.Contains(b.Err().Error(), "Greater bound was already set"))
    44  
    45  		addQueryParameter := func(interface{}) string {
    46  			return ""
    47  		}
    48  		_, err := b.GetStringRepresentation(addQueryParameter)
    49  		assert.Error(t, err)
    50  		assert.True(t, strings.Contains(err.Error(), "Greater bound was already set"))
    51  	}
    52  
    53  	{
    54  		b := NewRangeBuilder("foo")
    55  		addQueryParameter := func(interface{}) string {
    56  			return ""
    57  		}
    58  		s, err := b.GetStringRepresentation(addQueryParameter)
    59  		assert.Equal(t, s, "")
    60  		assert.Error(t, err)
    61  		assert.True(t, strings.Contains(err.Error(), "Bounds were not set"))
    62  	}
    63  }