Skip to content

Cover the operator label drag, the computing-unit rows and the menu clipboard #7775

Description

@aglinxinyuan

Task Summary

Four workspace and dashboard files with genuinely untested bindings and handlers:

File Coverage
workspace/component/left-panel/operator-menu/operator-label/operator-label.component.ts 72.7%
dashboard/component/user/user-computing-unit/user-computing-unit.component.html 81.2%
workspace/service/dynamic-schema/dynamic-schema.service.ts 96.4%
workspace/service/operator-menu/operator-menu.service.ts 98.0%

None is an instance of #7458 — no spec here uses TestBed.overrideComponent, which the non-zero percentages already predict. The remedy from #7535/#7627/#7629/#7661/#7681/#7727 is not what these need; they need rendering and interaction.

Two things to know before starting:

  1. The computing-unit rows live in a CDK virtual viewport, and jsdom does no layout — the viewport measures 0px and renders nothing, so the rows appear unreachable. They are reachable via viewport.setRenderedRange(...), following the existing precedent in computing-unit-create-modal.component.spec.ts.
  2. Measure from a full-suite run, not a targets-only one. Three of these files are also touched by other specs, so a filtered run misreports them. Computing istanbul line coverage the way lcov does (MAX hit-count per statement start line) reproduces the reported figures exactly.

Two regions should be left alone:

  • UserDatasetListItemComponent is orphaned. Its selector texera-user-dataset-list-item appears repo-wide only in its own @Component declaration and its own spec's test host; the sole other reference is a standalone entry in app.module.ts:325 with no consumer. The dataset page moved to texera-card-item/texera-search-results in feat: add card view to the user dataset listing #5947. All 8 of its uncovered template listeners belong to a component nothing renders — worth deleting rather than testing.
  • DynamicSchemaService.dynamicSchemaExists has exactly one occurrence repo-wide: its own declaration. Zero call sites in production or tests, while every sibling method has 2–5.

Task Type

  • Refactor / Cleanup
  • DevOps / Deployment / CI
  • Testing / QA
  • Documentation
  • Performance
  • Other

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions