package common import ( "context" "testing" "time" "github.com/perfect-panel/server/internal/model/user" "github.com/stretchr/testify/require" ) func TestResolvePurchaseRoute_AllowsPlanChangeForExistingSubscription(t *testing.T) { anchor := &user.Subscribe{ Id: 10, UserId: 20, OrderId: 30, SubscribeId: 1, Token: "existing-token", ExpireTime: time.Now().Add(time.Hour), } decision, err := ResolvePurchaseRoute( context.Background(), true, anchor.UserId, 2, func(context.Context, int64) (*user.Subscribe, error) { return anchor, nil }, ) require.NoError(t, err) require.Equal(t, PurchaseRoutePurchaseToRenewal, decision.Route) require.Equal(t, int64(2), decision.ResolvedSubscribeID) require.Equal(t, anchor, decision.Anchor) }