25 lines
809 B
Go
25 lines
809 B
Go
package core
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/evcc-io/evcc/api"
|
|
"github.com/evcc-io/evcc/util/config"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
// TestFilterConfigurableCurtailers ensures curtailment device refs are not filtered
|
|
// against the meter registry, which would drop them from the persisted settings
|
|
func TestFilterConfigurableCurtailers(t *testing.T) {
|
|
name := config.NameForID(1)
|
|
|
|
conf := &config.Config{ID: 1}
|
|
|
|
var m api.Curtailer = &curtailableMeter{}
|
|
dev := config.NewConfigurableDevice(conf, m)
|
|
require.NoError(t, config.Curtailers().Add(dev))
|
|
t.Cleanup(func() { _ = config.Curtailers().Delete(name) })
|
|
|
|
require.Equal(t, []string{name}, filterConfigurableCurtailers([]string{name}))
|
|
require.Empty(t, filterConfigurableMeter([]string{name}), "curtailer must not resolve as meter")
|
|
}
|