fix: make LWC unit tests pass on a clean checkout (resolve c/* imports, correct mobileCapabilities mock)#39
Open
dcarnicer wants to merge 1 commit into
Open
Conversation
|
Thanks for the contribution! Unfortunately we can't verify the commit author(s): David Carnicer <d***@o***.com>. One possible solution is to add that email to your GitHub account. Alternatively you can change your commits to another email and force push the change. After getting your commits associated with your GitHub account, sign the Salesforce Inc. Contributor License Agreement and this Pull Request will be revalidated. |
Two independent issues caused 5 of 7 Jest suites to fail: 1. c/* imports for components under PackageComponents/lwc did not resolve, because sfdx-project.json only declares force-app as a packageDirectory and the sfdx-lwc-jest resolver derives module paths from it. Added a moduleNameMapper for the c/ namespace. 2. The lscMobileInline_SimpleWidget test mocked lightning/barcodeScanner, but the component imports getBarcodeScanner from lightning/mobileCapabilities. Corrected the mock target. Result: 7 suites / 29 tests pass. Fixes SalesforceLabs#38
67acb2a to
2bf2004
Compare
|
Thanks for the contribution! Before we can merge this, we need @dcarnicer to sign the Salesforce Inc. Contributor License Agreement. |
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.
Fixes #38.
What
Gets the LWC unit test suite to 7/7 passing on a clean checkout. Previously 5 of 7 suites failed to run.
Changes
c/*imports for components underPackageComponents/lwc(jest.config.js). Added amoduleNameMapperfor thec/namespace. These components are not under aforce-apppackageDirectory, so the default sfdx-lwc-jest resolver could not resolvec/imports. Alternative: declarePackageComponentsinsfdx-project.json; I kept the change Jest-only to avoid altering deploy scope, but happy to switch if maintainers prefer that approach.lscMobileInline_SimpleWidgettest. The component importsgetBarcodeScannerfromlightning/mobileCapabilities, but the test mockedlightning/barcodeScanner. Updated the mock target so the import resolves.Test plan
npm testresults in: Test Suites: 7 passed, 7 total. Tests: 29 passed, 29 total.