Skip to content

Commit

Permalink
fix:Avoid adding all new conversations when on a custom view (#8905)
Browse files Browse the repository at this point in the history
  • Loading branch information
cyprusad committed Feb 12, 2024
1 parent 227d999 commit fc6a22b
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 2 deletions.
Expand Up @@ -8,6 +8,7 @@ import {
buildConversationList,
isOnMentionsView,
isOnUnattendedView,
isOnFoldersView,
} from './helpers/actionHelpers';
import messageReadActions from './actions/messageReadActions';
import messageTranslateActions from './actions/messageTranslateActions';
Expand Down Expand Up @@ -321,12 +322,12 @@ const actions = {
inbox_id: inboxId,
meta: { sender },
} = conversation;

const hasAppliedFilters = !!appliedFilters.length;
const isMatchingInboxFilter =
!currentInbox || Number(currentInbox) === inboxId;
if (
!hasAppliedFilters &&
!isOnFoldersView(rootState) &&
!isOnMentionsView(rootState) &&
!isOnUnattendedView(rootState) &&
isMatchingInboxFilter
Expand Down
Expand Up @@ -30,6 +30,14 @@ export const isOnUnattendedView = ({ route: { name: routeName } }) => {
return UNATTENDED_ROUTES.includes(routeName);
};

export const isOnFoldersView = ({ route: { name: routeName } }) => {
const FOLDER_ROUTES = [
'folder_conversations',
'conversations_through_folders',
];
return FOLDER_ROUTES.includes(routeName);
};

export const buildConversationList = (
context,
requestPayload,
Expand Down
@@ -1,4 +1,4 @@
import { isOnMentionsView } from '../actionHelpers';
import { isOnMentionsView, isOnFoldersView } from '../actionHelpers';

describe('#isOnMentionsView', () => {
it('return valid responses when passing the state', () => {
Expand All @@ -10,3 +10,17 @@ describe('#isOnMentionsView', () => {
);
});
});

describe('#isOnFoldersView', () => {
it('return valid responses when passing the state', () => {
expect(isOnFoldersView({ route: { name: 'folder_conversations' } })).toBe(
true
);
expect(
isOnFoldersView({ route: { name: 'conversations_through_folders' } })
).toBe(true);
expect(isOnFoldersView({ route: { name: 'conversation_messages' } })).toBe(
false
);
});
});
Expand Up @@ -181,6 +181,26 @@ describe('#actions', () => {
expect(dispatch.mock.calls).toEqual([]);
});

it('doesnot send mutation if the view is conversation folders', () => {
const conversation = {
id: 1,
messages: [],
meta: { sender: { id: 1, name: 'john-doe' } },
inbox_id: 1,
};
actions.addConversation(
{
commit,
rootState: { route: { name: 'folder_conversations' } },
dispatch,
state: { currentInbox: 1, appliedFilters: [{ id: 'random-filter' }] },
},
conversation
);
expect(commit.mock.calls).toEqual([]);
expect(dispatch.mock.calls).toEqual([]);
});

it('sends correct mutations', () => {
const conversation = {
id: 1,
Expand Down

0 comments on commit fc6a22b

Please sign in to comment.