package domain import ( "errors" "testing" ) func TestOperationValidate(t *testing.T) { tests := []struct { name string op Operation want error }{ { name: "valid operation", op: Operation{ ID: "op-1", TargetID: "env-1", Type: "create-environment", Status: OperationStatusRunning, }, }, { name: "missing target", op: Operation{ ID: "op-1", Type: "create-environment", Status: OperationStatusRunning, }, want: ErrInvalidArgument, }, { name: "invalid status", op: Operation{ ID: "op-1", TargetID: "env-1", Type: "create-environment", Status: OperationStatus("UNKNOWN"), }, want: ErrInvalidStatus, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { err := tt.op.Validate() if !errors.Is(err, tt.want) { t.Fatalf("Validate() error = %v, want %v", err, tt.want) } }) } }