diff --git a/PackageComponents/lwc/lscMobileInline_SimpleWidget/__tests__/lscMobileInline_SimpleWidget.test.js b/PackageComponents/lwc/lscMobileInline_SimpleWidget/__tests__/lscMobileInline_SimpleWidget.test.js index 38b99ea..edaf738 100644 --- a/PackageComponents/lwc/lscMobileInline_SimpleWidget/__tests__/lscMobileInline_SimpleWidget.test.js +++ b/PackageComponents/lwc/lscMobileInline_SimpleWidget/__tests__/lscMobileInline_SimpleWidget.test.js @@ -1,11 +1,14 @@ import { createElement } from '@lwc/engine-dom'; import LscMobileInline_SimpleWidget from 'c/lscMobileInline_SimpleWidget'; -// Mock the lightning/barcodeScanner module -jest.mock('lightning/barcodeScanner', () => { +// Mock the lightning/mobileCapabilities module (the component imports getBarcodeScanner from it) +jest.mock('lightning/mobileCapabilities', () => { return { - scan: jest.fn().mockImplementation(() => Promise.resolve({ value: '12345' })), - BarcodeScanner: jest.fn() + getBarcodeScanner: jest.fn().mockImplementation(() => ({ + isAvailable: jest.fn().mockReturnValue(false), + beginCapture: jest.fn().mockImplementation(() => Promise.resolve({ value: '12345' })), + endCapture: jest.fn() + })) }; }, { virtual: true }); diff --git a/jest.config.js b/jest.config.js index f5a9fed..42def83 100644 --- a/jest.config.js +++ b/jest.config.js @@ -2,5 +2,11 @@ const { jestConfig } = require('@salesforce/sfdx-lwc-jest/config'); module.exports = { ...jestConfig, - modulePathIgnorePatterns: ['/.localdevserver'] + modulePathIgnorePatterns: ['/.localdevserver'], + // Components live under PackageComponents/lwc, which is not a sfdx-project.json + // packageDirectory, so the default resolver can't map `c/*` imports to them. + moduleNameMapper: { + ...(jestConfig.moduleNameMapper || {}), + '^c/(.+)$': '/PackageComponents/lwc/$1/$1' + } };