package domain import ( "errors" "testing" "time" ) func TestEnvironmentValidate(t *testing.T) { now := time.Now() tests := []struct { name string env Environment want error }{ { name: "valid environment", env: Environment{ ID: "env-1", Name: "dev", Status: EnvironmentStatusActive, CreatedAt: now, UpdatedAt: now, }, }, { name: "missing id", env: Environment{ Name: "dev", Status: EnvironmentStatusActive, }, want: ErrInvalidArgument, }, { name: "invalid status", env: Environment{ ID: "env-1", Name: "dev", Status: EnvironmentStatus("UNKNOWN"), }, want: ErrInvalidStatus, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { err := tt.env.Validate() if !errors.Is(err, tt.want) { t.Fatalf("Validate() error = %v, want %v", err, tt.want) } }) } }