fix: Prevents duplicate action trigger on interactive messages (#6448)

Co-authored-by: raph941 <45232708+raph941@users.noreply.github.com>
Co-authored-by: phunguyenmurcul <51897872+phunguyenmurcul@users.noreply.github.com>
This commit is contained in:
GitStart
2023-02-15 01:42:22 +05:45
committed by GitHub
parent 98ff185d42
commit 97b1b4c6f9
2 changed files with 31 additions and 2 deletions

View File

@@ -12,9 +12,12 @@ export const getters = {
export const actions = {
update: async (
{ commit, dispatch },
{ commit, dispatch, getters: { getUIFlags: uiFlags } },
{ email, messageId, submittedValues }
) => {
if (uiFlags.isUpdating) {
return;
}
commit('toggleUpdateStatus', true);
try {
await MessageAPI.update({

View File

@@ -17,7 +17,17 @@ describe('#actions', () => {
API.patch.mockResolvedValue({
data: { contact: { pubsub_token: '8npuMUfDgizrwVoqcK1t7FMY' } },
});
await actions.update({ commit }, user);
await actions.update(
{
commit,
getters: {
getUIFlags: {
isUpdating: false,
},
},
},
user
);
expect(commit.mock.calls).toEqual([
['toggleUpdateStatus', true],
[
@@ -34,5 +44,21 @@ describe('#actions', () => {
['toggleUpdateStatus', false],
]);
});
it('blocks all new action calls when isUpdating', async () => {
await actions.update(
{
commit,
getters: {
getUIFlags: {
isUpdating: true,
},
},
},
{}
);
expect(commit.mock.calls).toEqual([]);
});
});
});