ngMocks.click
There are several ways how to click an element in Angular unit tests.
However, .triggerEventHandler
does not respect disabled
state and does not call a native click
event.
And .click
on a nativeElement
does not allow customizing event properties.
ngMocks.click
is a simple tool which covers these limitations:
- it respects disabled state
- it allows customizations of events
- it causes native events
const el = ngMocks.find('a');
// we can click debug elements
ngMocks.click(el);
// we can click native elements
// with custom coordinates
ngMocks.click(el.nativeElement, {
x: 150,
y: 150,
});
or simply with selectors which are supported by ngMocks.find
.
ngMocks.click('a');
ngMocks.click('[data-role="link"]');
ngMocks.click(['data-role']);
ngMocks.click(['data-role', 'link']);
Under the hood ngMocks.click
uses ngMocks.trigger
,
therefore all features of ngMocks.trigger
can be used.