package client import ( "testing" "github.com/google/uuid" "github.com/stretchr/testify/assert" ) func TestNormalizeName(t *testing.T) { name := "name" err := normalizeName(&name) assert.NoError(t, err) assert.Equal(t, "name", name) name = "" err = normalizeName(&name) assert.Error(t, err) name = " name\t" err = normalizeName(&name) assert.NoError(t, err) assert.Equal(t, "name", name) name = "name second" err = normalizeName(&name) assert.NoError(t, err) assert.Equal(t, "name second", name) name = "name\t second" err = normalizeName(&name) assert.NoError(t, err) assert.Equal(t, "name second", name) name = "name_second" err = normalizeName(&name) assert.NoError(t, err) assert.Equal(t, "name_second", name) name = "name-second" err = normalizeName(&name) assert.NoError(t, err) assert.Equal(t, "name-second", name) name = "name123" err = normalizeName(&name) assert.NoError(t, err) assert.Equal(t, "name123", name) } func TestNormalizeCanSyncUpdate(t *testing.T) { c := Client{ ID: uuid.New(), CanSync: true, } c.normalizeCanSyncUpdate(nil) var val *bool c.normalizeCanSyncUpdate(&val) assert.Nil(t, val) v := true val = &v c.normalizeCanSyncUpdate(&val) assert.Nil(t, val) v = false val = &v c.normalizeCanSyncUpdate(&val) assert.NotNil(t, *val) } func TestNormalizeNameUpdate(t *testing.T) { c := Client{ ID: uuid.New(), Name: "example_name", } err := c.normalizeNameUpdate(nil) assert.NoError(t, err) v := "update_name" val := &v err = c.normalizeNameUpdate(&val) assert.NoError(t, err) assert.NotNil(t, val) assert.Equal(t, "update_name", *val) v = c.Name val = &v err = c.normalizeNameUpdate(&val) assert.NoError(t, err) assert.Nil(t, val) v = "###" val = &v err = c.normalizeNameUpdate(&val) assert.Error(t, err) }