user_mapper_activity_test.go 892 B

123456789101112131415161718192021222324252627282930313233
  1. package dto
  2. import (
  3. "testing"
  4. "time"
  5. "github.com/Wei-Shaw/sub2api/internal/service"
  6. "github.com/stretchr/testify/require"
  7. )
  8. func TestUserFromServiceAdmin_MapsActivityTimestamps(t *testing.T) {
  9. t.Parallel()
  10. lastLoginAt := time.Date(2026, time.April, 20, 10, 0, 0, 0, time.UTC)
  11. lastActiveAt := lastLoginAt.Add(15 * time.Minute)
  12. lastUsedAt := lastLoginAt.Add(45 * time.Minute)
  13. out := UserFromServiceAdmin(&service.User{
  14. ID: 42,
  15. Email: "admin@example.com",
  16. Username: "admin",
  17. Role: service.RoleAdmin,
  18. Status: service.StatusActive,
  19. LastActiveAt: &lastActiveAt,
  20. LastUsedAt: &lastUsedAt,
  21. })
  22. require.NotNil(t, out)
  23. require.NotNil(t, out.LastActiveAt)
  24. require.NotNil(t, out.LastUsedAt)
  25. require.WithinDuration(t, lastActiveAt, *out.LastActiveAt, time.Second)
  26. require.WithinDuration(t, lastUsedAt, *out.LastUsedAt, time.Second)
  27. }