All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 5m6s
37 lines
798 B
Go
37 lines
798 B
Go
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)
|
|
}
|