I implemented dynamic row level action as mentioned in documentation
getRowActions (row, doneCallback) {
const actions = [];
if (row['status'] == 'Active') {
actions.push({
'label': 'Export',
'name': 'export'
},
{
'label': 'Delete',
'name': 'delete'
}
);
} else {
actions.push({
'label': 'Export',
'name': 'export'
});
}
setTimeout(() => {
doneCallback(actions);
});
}
getRowActions being called perfectly fine from UI.
However, does not get called when I run it from Jest context.(Dispatching event) Any suggestion on how to test this functionality?
more code: HTML:
<div class=data-table style="height: 500px;">
<lightning-datatable
key-field="id"
data={data}
columns={columns}
onrowaction={handleRowAction}>
</lightning-datatable>
</div>
handleRowAction
handleRowAction(event){
const requestId = event.detail.row.legalHoldId
if(event.detail.action.name==='delete'){
code
}
else if(event.detail.action.name==='export') {
code
}
}
Event dispatched successfully on jest.