The GitHub Actions job "Required Checks" on texera.git/gh-readonly-queue/main/pr-6938-ee41d9a2a6d977ddc10b8cee0ef1f04da7b3ef31 has succeeded. Run started by GitHub user xuang7 (triggered by xuang7).
Head commit for run: e3ecfca1b8a36ae55b8ed5af4606f74da79fa602 / Ranjani Veena Belavadi <[email protected]> test(frontend): add unit tests for serializePortIdentity (#6938) ### What changes were proposed in this PR? Adds `port-identity-serde.spec.ts` to cover `serializePortIdentity`, a previously untested pure utility function in `common/util/` that serializes a `PortIdentity` into the stable string key `id_internal`. This format is one half of a cross-language contract: the backend produces the identical string in `PortIdentityKeySerializer.portIdToString` and reads it back by splitting on `"_"` in `PortIdentityKeyDeserializer`. A format mismatch on either side would cause the frontend's schema lookup to silently return `undefined` rather than fail, so the exact output is worth pinning. Covers four groups of behavior: - **Format**: exact key for external and internal ports, including the `id: 0` falsy-number boundary and large and negative ids passing through unvalidated. These mirror `PortIdentityKeySerializerSpec.scala`'s case table exactly, so both ends of the contract are now pinned by matching assertions. - **Distinctness**: ports differing only by `id`, or only by `internal`, cannot collide on the same key. - **Stability**: equal inputs always serialize identically. - **Real usage**: the key works for object lookup when generated independently at write and read time, and remains splittable into exactly two fields for the backend deserializer. No production code was changed. ### Any related issues, documentation, discussions? Closes #6631 ### How was this PR tested? Added 12 new unit tests in `port-identity-serde.spec.ts` covering all behavior described in the issue. Ran locally via `ng test --include src/app/common/util/port-identity-serde.spec.ts --watch=false`; all 12 pass. Full suite also green via `yarn test` (3817 passed, 2 skipped, 198 files). ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Claude Opus 4.8) Co-authored-by: Yicong Huang <[email protected]> Report URL: https://github.com/apache/texera/actions/runs/30327097145 With regards, GitHub Actions via GitBox
