https://sonarly.com/issue/33687?type=bug
The `evaluateUuidFilter` function in the workflow filter step only handles `IS` and `IS_NOT` operands, throwing an unhandled error when a UUID-type filter uses the valid `IS_NOT_NULL` operand. This causes the entire workflow run to fail.
Fix: Added `IS_NOT_NULL`, `IS_NOT_EMPTY`, and `IS_EMPTY` operand handling to `evaluateUuidFilter` in `evaluate-filter-conditions.util.ts`.
**The problem:** `evaluateUuidFilter` only handled `IS` and `IS_NOT` operands. When a workflow Filter step used a UUID-typed field with the `IS_NOT_NULL` operand (a valid `ViewFilterOperand` enum member), the function hit the `default` branch and threw `Error: Operand IS_NOT_NULL not supported for uuid filter`, crashing the workflow run.
**The fix:** Added three new cases to the switch statement, following the exact same pattern used in `evaluateRelationFilter` (same file, same semantics):
- `IS_EMPTY`: returns `!isNonEmptyString(filter.leftOperand)` — true when the UUID is empty/missing
- `IS_NOT_NULL` (falls through to `IS_NOT_EMPTY`): returns `isNonEmptyString(filter.leftOperand)` — true when the UUID has a value
- `IS_NOT_EMPTY`: returns `isNonEmptyString(filter.leftOperand)` — same as IS_NOT_NULL
**Tests added:** 6 new test cases in the existing `UUID filter operands` describe block:
- IS_NOT_NULL with non-empty UUID → true
- IS_NOT_NULL with empty string → false
- IS_NOT_EMPTY with non-empty UUID → true
- IS_NOT_EMPTY with empty string → false
- IS_EMPTY with empty string → true
- IS_EMPTY with non-empty UUID → false