package userbehavior

import (
	"context"
	"strings"
	"time"

	. "github.com/onsi/ginkgo/v2"
	. "github.com/onsi/gomega"
	mgmtevent "github.com/tidbcloud/tidb-management-service/utilities/clusterevent"
)

var _ = Describe("cluster user behavior event", func() {
	Describe("DefaultText", func() {
		It("includes the cluster event time", func() {
			bizRegion := "APAC"
			tenantName := "Tenant"
			tenantAlias := "tenant-alias"
			clusterName := "cluster"
			predicate := "created"
			eventTime := time.Date(2026, 5, 15, 8, 24, 52, 0, time.UTC)
			ev := &clusterUBEvent{
				originEv: &mgmtevent.ClusterEvent{
					IsDevTier:        true,
					EventCreatedAtMs: eventTime.UnixMilli(),
				},
				tenantName:               &tenantName,
				tenantID:                 60205,
				tenantAlias:              &tenantAlias,
				bizRegion:                &bizRegion,
				clusterID:                10404588406487010759,
				clusterName:              &clusterName,
				clusterBehaviorPredicate: &predicate,
			}

			text := ev.DefaultText(context.Background())

			Expect(strings.Contains(text, "**Event Time:** 2026-05-15T08:24:52Z")).To(BeTrue())
		})
	})
})
