You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
879 B
Go

package events
// Tests for event base fields and event type string behavior.
import (
"testing"
"time"
"github.com/stretchr/testify/require"
)
// TestNewBaseEvent verifies event fields and timestamp range.
func TestNewBaseEvent(t *testing.T) {
before := time.Now()
base := NewBaseEvent(GameSessionStarted, "agg-1", "session")
after := time.Now()
require.Equal(t, GameSessionStarted, base.EventType())
require.Equal(t, "agg-1", base.AggregateID())
require.Equal(t, "session", base.AggregateType())
require.True(t, base.OccurredAt().After(before) || base.OccurredAt().Equal(before))
require.True(t, base.OccurredAt().Before(after) || base.OccurredAt().Equal(after))
}
// TestEventType_String ensures event type string returns the underlying value.
func TestEventType_String(t *testing.T) {
require.Equal(t, "game_session.started", GameSessionStarted.String())
}