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

     1  package tests
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  // Note: must rename as it conflicts with Order in order_test.go
    10  type CustomerNilReference struct {
    11  	ID        string  `json:"Id"`
    12  	Reference *string `json:"reference"`
    13  	Name      string  `json:"name"`
    14  }
    15  
    16  func TestStringNilError(t *testing.T) {
    17  	driver := createTestDriver(t)
    18  	test_case_string_nil_error(t, driver)
    19  }
    20  
    21  func test_case_string_nil_error(t *testing.T, driver *RavenTestDriver) {
    22  
    23  	id := "customer1"
    24  	reference := "reference"
    25  
    26  	var err error
    27  	store := driver.getDocumentStoreMust(t)
    28  	defer store.Close()
    29  
    30  	obj := &CustomerNilReference{
    31  		ID:   id,
    32  		Name: "customer_name",
    33  	}
    34  
    35  	{
    36  		session := openSessionMust(t, store)
    37  		err = session.Store(obj)
    38  		assert.NoError(t, err)
    39  		session.SaveChanges()
    40  		session.Close()
    41  	}
    42  
    43  	{
    44  		session := openSessionMust(t, store)
    45  		var customer *CustomerNilReference
    46  		err = session.Load(&customer, id)
    47  
    48  		customer.Reference = &reference
    49  
    50  		session.SaveChanges()
    51  
    52  		session.Close()
    53  	}
    54  }