Skip to content

Commit

Permalink
fix: Prevents duplicate action trigger on interactive messages (#6448)
Browse files Browse the repository at this point in the history
Co-authored-by: raph941 <45232708+raph941@users.noreply.github.com>
Co-authored-by: phunguyenmurcul <51897872+phunguyenmurcul@users.noreply.github.com>
  • Loading branch information
3 people committed Feb 14, 2023
1 parent 98ff185 commit 97b1b4c
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 2 deletions.
5 changes: 4 additions & 1 deletion app/javascript/widget/store/modules/message.js
Expand Up @@ -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({
Expand Down
Expand Up @@ -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],
[
Expand All @@ -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([]);
});
});
});

0 comments on commit 97b1b4c

Please sign in to comment.