feat(components): add test harnesses for grids, list-builder, and text-editor#10
Open
devin-ai-integration[bot] wants to merge 3 commits intomainfrom
Open
feat(components): add test harnesses for grids, list-builder, and text-editor#10devin-ai-integration[bot] wants to merge 3 commits intomainfrom
devin-ai-integration[bot] wants to merge 3 commits intomainfrom
Conversation
…t-editor Add test harnesses for the following components: - @skyux/grids: SkyGridHarness with methods for column/row operations - @skyux/list-builder: SkyListHarness with basic container functionality - @skyux/text-editor: SkyTextEditorHarness with label, hint, and state methods Each harness follows the established patterns: - Extends SkyComponentHarness - Implements static hostSelector and with() method - Uses private locators for internal element access - Includes filter interfaces for harness filtering - Includes comprehensive test files Co-Authored-By: benc@cognition.ai <Benc@windsurf.com>
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
The test harnesses import from @angular/cdk/testing, so @angular/cdk must be listed as a peer dependency in the library package.json files. Co-Authored-By: benc@cognition.ai <Benc@windsurf.com>
Run dev:update-library-dependencies to update project.json files with proper build inputs and dependencies for the new testing libraries. Co-Authored-By: benc@cognition.ai <Benc@windsurf.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds Angular CDK test harnesses for three SKY UX components that were missing them:
SkyGridHarnesswith methods for column/row operations (getColumnCount, getRowCount, getCellText, clickRow, etc.)SkyListHarnesswith basic container functionalitySkyTextEditorHarnesswith methods for label, hint text, and state checking (isDisabled, hasErrors, isFocused, isRequired)Each harness follows the established patterns in the codebase: extends
SkyComponentHarness, implements statichostSelectorandwith()method, uses private locators, and includes filter interfaces.Updates since last revision
@angular/cdkas a peer dependency to grids, list-builder, and text-editorpackage.jsonfiles (required since harnesses import from@angular/cdk/testing)npm run dev:update-library-dependenciesto updateproject.jsonfiles with proper build inputs and dependenciesmanifest:build- exit code 130 (interrupted/timeout)conventional-title- missing GITHUB_TOKEN in workflowReview & Testing Checklist for Human
manifest:buildfailure and Percy token issues are pre-existing/infrastructure issues, not caused by this PRgetCellTextlogic (grid-harness.ts:76-86) - Uses index calculation (rowIndex * columnCount + columnIndex) to find cells. Verify this works correctly with the actual grid DOM structure.sky-text-editor-disabled,sky-text-editor-invalid,sky-text-editor-wrapper-focused. Confirm these match the actual component.Recommended test plan: Manually test each harness in a consuming application to verify the methods work as expected with real component instances.
Notes
SkyGridHarnessincludes a@deprecatedJSDoc tag since the underlyingSkyGridComponentis deprecatedtsconfig.base.jsonfor all three testing exportsLink to Devin run: https://app.devin.ai/sessions/88b9b3ffe13049679f03c3afe4fa52e3
Requested by: @bcmake