github.com/ravendb/ravendb-go-client@v0.0.0-20240229102137-4474ee7aa0fa/tests/non_null_time.go (about)

     1  package tests
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/ravendb/ravendb-go-client"
     8  	"github.com/stretchr/testify/assert"
     9  )
    10  
    11  func TestNonNilTimeError(t *testing.T) {
    12  	driver := createTestDriver(t)
    13  	test_case_string_non_nil_error(t, driver)
    14  }
    15  
    16  func test_case_string_non_nil_error(t *testing.T, driver *RavenTestDriver) {
    17  
    18  	id := "customer1"
    19  
    20  	var err error
    21  	store := driver.getDocumentStoreMust(t)
    22  	defer store.Close()
    23  
    24  	var time time.Time
    25  	time, err = ravendb.ParseTime("2006-01-02T15:04:05.9999999Z")
    26  	rtime := ravendb.Time(time)
    27  
    28  	obj := &CustomerNilTime{
    29  		ID:        id,
    30  		CreatedAt: &rtime,
    31  	}
    32  
    33  	{
    34  		session := openSessionMust(t, store)
    35  		err = session.Store(obj)
    36  		assert.NoError(t, err)
    37  		session.SaveChanges()
    38  		session.Close()
    39  	}
    40  
    41  	{
    42  		session := openSessionMust(t, store)
    43  		var customer *CustomerNilTime
    44  		err = session.Load(&customer, id)
    45  
    46  		assert.True(t, customer.CreatedAt != nil)
    47  
    48  		session.Close()
    49  	}
    50  }