Development questions
How do you unit test an LWC with Jest?
DevelopmentMedium
Use the @salesforce/sfdx-lwc-jest package; tests live in a __tests__ folder next to the component.
javascript
import { createElement } from 'lwc';
import Greeting from 'c/greeting';
describe('c-greeting', () => {
afterEach(() => { while (document.body.firstChild) document.body.removeChild(document.body.firstChild); });
it('renders name', async () => {
const el = createElement('c-greeting', { is: Greeting });
el.name = 'Vikas';
document.body.appendChild(el);
await Promise.resolve(); // wait for re-render
expect(el.shadowRoot.querySelector('p').textContent).toBe('Hello, Vikas');
});
});
Mock Apex with jest.mock('@salesforce/apex/...', ..., { virtual: true }), and use @salesforce/sfdx-lwc-jest wire test utilities (registerLdsTestWireAdapter, emit) for wire adapters. Run with npm run test:unit.
lwcjesttesting
More Development questions
- What is an Apex Trigger in Salesforce and when should you use it over Flows?
- What is the difference between before triggers and after triggers?
- Explain all Trigger context variables (isInsert, isUpdate, isDelete, isUndelete, isBefore, isAfter, isExecuting, size, operationType).
- What is the difference between Trigger.new and Trigger.old?
- In which trigger events are Trigger.new and Trigger.newMap available?
- In which trigger events are Trigger.old and Trigger.oldMap available?