package httpdriver import ( "testing" "github.com/samber/lo" "github.com/stretchr/testify/require" "github.com/openmeterio/openmeter/api" "github.com/openmeterio/openmeter/openmeter/billing" ) func TestFromAPIBillingWorkflowSubscriptionEndProrationModeDefaults(t *testing.T) { createConfig, err := fromAPIBillingWorkflowCreate(api.BillingWorkflowCreate{}) require.NoError(t, err) require.Equal(t, billing.SubscriptionEndProrationModeBillActualPeriod, createConfig.Invoicing.SubscriptionEndProrationMode) updateConfig, err := fromAPIBillingWorkflow(api.BillingWorkflow{}) require.NoError(t, err) require.Empty(t, updateConfig.Invoicing.SubscriptionEndProrationMode) explicitMode := api.BillingWorkflowInvoicingSubscriptionEndProrationModeBillFullPeriod explicitConfig, err := fromAPIBillingWorkflowCreate(api.BillingWorkflowCreate{ Invoicing: &api.BillingWorkflowInvoicingSettings{ SubscriptionEndProrationMode: lo.ToPtr(explicitMode), }, }) require.NoError(t, err) require.Equal(t, billing.SubscriptionEndProrationModeBillFullPeriod, explicitConfig.Invoicing.SubscriptionEndProrationMode) }