62 lines
2.1 KiB
Go
62 lines
2.1 KiB
Go
package entities
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestLoadObjectPerLineJsonFile(t *testing.T) {
|
|
/*
|
|
filename := "testdata/object-per-line.json"
|
|
|
|
assert.Equal(t, "", GetEntity("testrow", "0"), "Value should match expected value")
|
|
|
|
loadEntityFileJson(filename, "testrow")
|
|
|
|
assert.Equal(t, "1234567890", GetEntity("testrow", "0"), "Value should match expected value")
|
|
*/
|
|
}
|
|
|
|
func TestGetEntityInstancesOrdered_numericKeys(t *testing.T) {
|
|
ClearEntitiesOfType("order_test")
|
|
defer ClearEntitiesOfType("order_test")
|
|
|
|
AddEntity("order_test", "2", map[string]any{"title": "Second"})
|
|
AddEntity("order_test", "0", map[string]any{"title": "Zeroth"})
|
|
AddEntity("order_test", "10", map[string]any{"title": "Tenth"})
|
|
AddEntity("order_test", "1", map[string]any{"title": "First"})
|
|
|
|
ordered := GetEntityInstancesOrdered("order_test")
|
|
require.Len(t, ordered, 4, "should return 4 entities")
|
|
assert.Equal(t, "0", ordered[0].UniqueKey, "first key should be 0")
|
|
assert.Equal(t, "1", ordered[1].UniqueKey, "second key should be 1")
|
|
assert.Equal(t, "2", ordered[2].UniqueKey, "third key should be 2")
|
|
assert.Equal(t, "10", ordered[3].UniqueKey, "fourth key should be 10 (numeric order)")
|
|
}
|
|
|
|
func TestGetEntityInstancesOrdered_lexicographicKeys(t *testing.T) {
|
|
ClearEntitiesOfType("order_test_lex")
|
|
defer ClearEntitiesOfType("order_test_lex")
|
|
|
|
AddEntity("order_test_lex", "zebra", map[string]any{"title": "Z"})
|
|
AddEntity("order_test_lex", "alpha", map[string]any{"title": "A"})
|
|
AddEntity("order_test_lex", "beta", map[string]any{"title": "B"})
|
|
|
|
ordered := GetEntityInstancesOrdered("order_test_lex")
|
|
require.Len(t, ordered, 3, "should return 3 entities")
|
|
assert.Equal(t, "alpha", ordered[0].UniqueKey)
|
|
assert.Equal(t, "beta", ordered[1].UniqueKey)
|
|
assert.Equal(t, "zebra", ordered[2].UniqueKey)
|
|
}
|
|
|
|
func TestGetEntityInstancesOrdered_emptyOrMissing(t *testing.T) {
|
|
ordered := GetEntityInstancesOrdered("nonexistent_type")
|
|
assert.Nil(t, ordered)
|
|
|
|
ClearEntitiesOfType("empty_test")
|
|
ordered = GetEntityInstancesOrdered("empty_test")
|
|
assert.Nil(t, ordered)
|
|
}
|