2025-01-21 18:24:14 +00:00
|
|
|
package client
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
2025-03-19 11:54:14 +00:00
|
|
|
"github.com/stretchr/testify/require"
|
2025-01-21 18:24:14 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestNormalizeName(t *testing.T) {
|
2025-03-11 16:31:06 +00:00
|
|
|
names := map[string]string{
|
|
|
|
|
"name": "name",
|
|
|
|
|
" name\t": "name",
|
|
|
|
|
"name second": "name second",
|
|
|
|
|
"name\t second": "name second",
|
|
|
|
|
"name_second": "name_second",
|
|
|
|
|
"name-second": "name-second",
|
|
|
|
|
"name123": "name123",
|
|
|
|
|
"Name One - Two": "Name One - Two",
|
|
|
|
|
"Name, Inc.": "Name, Inc.",
|
|
|
|
|
"Namer - Two": "Namer - Two",
|
|
|
|
|
"Name (Hello One)": "Name (Hello One)",
|
|
|
|
|
"Name (Hello One) Bye": "Name (Hello One) Bye",
|
|
|
|
|
}
|
|
|
|
|
for key, value := range names {
|
|
|
|
|
err := normalizeName(&key)
|
2025-03-19 11:54:14 +00:00
|
|
|
require.NoError(t, err)
|
2025-03-11 16:31:06 +00:00
|
|
|
assert.Equal(t, value, key)
|
|
|
|
|
}
|
2025-01-21 18:24:14 +00:00
|
|
|
|
2025-03-11 16:31:06 +00:00
|
|
|
name := ""
|
|
|
|
|
err := normalizeName(&name)
|
2025-02-03 17:30:50 +00:00
|
|
|
assert.Error(t, err)
|
2025-01-21 18:24:14 +00:00
|
|
|
}
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
func TestNormalizeCanSyncUpdate(t *testing.T) {
|
2025-06-03 13:52:10 +00:00
|
|
|
testClient := Client{
|
2025-04-02 18:50:03 +00:00
|
|
|
ID: "EXAMPLE",
|
2025-01-21 18:24:14 +00:00
|
|
|
CanSync: true,
|
|
|
|
|
}
|
|
|
|
|
|
2025-06-03 13:52:10 +00:00
|
|
|
testClient.NormalizeCanSyncUpdate(nil)
|
|
|
|
|
var updateCanSync *bool
|
|
|
|
|
testClient.NormalizeCanSyncUpdate(&updateCanSync)
|
|
|
|
|
assert.Nil(t, updateCanSync)
|
2025-01-29 16:26:11 +00:00
|
|
|
|
2025-06-03 13:52:10 +00:00
|
|
|
canSync := true
|
|
|
|
|
updateCanSync = &canSync
|
|
|
|
|
testClient.NormalizeCanSyncUpdate(&updateCanSync)
|
|
|
|
|
assert.Nil(t, updateCanSync)
|
2025-01-29 16:26:11 +00:00
|
|
|
|
2025-06-03 13:52:10 +00:00
|
|
|
canSync = false
|
|
|
|
|
updateCanSync = &canSync
|
|
|
|
|
testClient.NormalizeCanSyncUpdate(&updateCanSync)
|
|
|
|
|
assert.NotNil(t, *updateCanSync)
|
2025-01-21 18:24:14 +00:00
|
|
|
}
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
func TestNormalizeNameUpdate(t *testing.T) {
|
2025-06-03 13:52:10 +00:00
|
|
|
testClient := Client{
|
2025-04-02 18:50:03 +00:00
|
|
|
ID: "EXAMPLE",
|
2025-01-21 18:24:14 +00:00
|
|
|
Name: "example_name",
|
|
|
|
|
}
|
|
|
|
|
|
2025-06-03 13:52:10 +00:00
|
|
|
err := testClient.NormalizeNameUpdate(nil)
|
2025-03-19 11:54:14 +00:00
|
|
|
require.NoError(t, err)
|
2025-01-29 16:26:11 +00:00
|
|
|
|
2025-06-03 13:52:10 +00:00
|
|
|
name := "update_name"
|
|
|
|
|
updateName := &name
|
|
|
|
|
err = testClient.NormalizeNameUpdate(&updateName)
|
2025-03-19 11:54:14 +00:00
|
|
|
require.NoError(t, err)
|
2025-06-03 13:52:10 +00:00
|
|
|
assert.NotNil(t, updateName)
|
|
|
|
|
assert.Equal(t, "update_name", *updateName)
|
2025-01-21 18:24:14 +00:00
|
|
|
|
2025-06-03 13:52:10 +00:00
|
|
|
name = testClient.Name
|
|
|
|
|
updateName = &name
|
|
|
|
|
err = testClient.NormalizeNameUpdate(&updateName)
|
2025-03-19 11:54:14 +00:00
|
|
|
require.NoError(t, err)
|
2025-06-03 13:52:10 +00:00
|
|
|
assert.Nil(t, updateName)
|
2025-01-21 18:24:14 +00:00
|
|
|
|
2025-06-03 13:52:10 +00:00
|
|
|
name = "###"
|
|
|
|
|
updateName = &name
|
|
|
|
|
err = testClient.NormalizeNameUpdate(&updateName)
|
2025-01-21 18:24:14 +00:00
|
|
|
assert.Error(t, err)
|
|
|
|
|
}
|