package model import ( "errors" "testing" "github.com/QuantumNous/new-api/common" "github.com/stretchr/testify/require" "gorm.io/gorm" ) func TestRecordExistClassifiesSuccessNotFoundAndDatabaseError(t *testing.T) { exists, err := RecordExist(nil) require.True(t, exists) require.NoError(t, err) exists, err = RecordExist(gorm.ErrRecordNotFound) require.False(t, exists) require.NoError(t, err) dbErr := errors.New("database unavailable") exists, err = RecordExist(dbErr) require.False(t, exists) require.ErrorIs(t, err, dbErr) } func TestShouldUpdateRedisRequiresRedisDatabaseSourceAndNoError(t *testing.T) { oldRedisEnabled := common.RedisEnabled t.Cleanup(func() { common.RedisEnabled = oldRedisEnabled }) common.RedisEnabled = false require.False(t, shouldUpdateRedis(true, nil)) common.RedisEnabled = true require.False(t, shouldUpdateRedis(false, nil)) require.False(t, shouldUpdateRedis(true, errors.New("query failed"))) require.True(t, shouldUpdateRedis(true, nil)) }