package helper import ( "testing" "github.com/QuantumNous/new-api/constant" "github.com/stretchr/testify/require" ) func TestSupportsMatrixUsageBilling(t *testing.T) { require.True(t, SupportsMatrixUsageBilling("seedance-2", constant.ChannelTypeDoubaoVideo, "seedance-2")) require.False(t, SupportsMatrixUsageBilling("seedance-2", constant.ChannelTypeOpenAI, "seedance-2")) require.False(t, SupportsMatrixUsageBilling("unknown", constant.ChannelTypeDoubaoVideo, "unknown")) } func TestResolvePricingModelMapping(t *testing.T) { mapped, err := ResolvePricingModelMapping("seedance-2", `{"seedance-2":"doubao-video-seedance"}`) require.NoError(t, err) require.Equal(t, "doubao-video-seedance", mapped) mapped, err = ResolvePricingModelMapping("seedance-2", `{"seedance-2":"a","a":"b"}`) require.NoError(t, err) require.Equal(t, "b", mapped) _, err = ResolvePricingModelMapping("seedance-2", `{"seedance-2":"a","a":"seedance-2"}`) require.ErrorContains(t, err, "model_mapping_contains_cycle") }