fix: Remove duplicate message in slow networks (#1332)
This commit is contained in:
@@ -61,4 +61,103 @@ describe('#mutations', () => {
|
||||
expect(state.allConversations[0].can_reply).toEqual(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#ADD_MESSAGE', () => {
|
||||
it('does not add message to the store if conversation does not exist', () => {
|
||||
const state = { allConversations: [] };
|
||||
mutations[types.ADD_MESSAGE](state, { conversationId: 1 });
|
||||
expect(state.allConversations).toEqual([]);
|
||||
});
|
||||
|
||||
it('add message to the conversation if it does not exist in the store', () => {
|
||||
global.bus = { $emit: jest.fn() };
|
||||
const state = {
|
||||
allConversations: [{ id: 1, messages: [] }],
|
||||
selectedChatId: -1,
|
||||
};
|
||||
mutations[types.ADD_MESSAGE](state, {
|
||||
conversation_id: 1,
|
||||
content: 'Test message',
|
||||
created_at: 1602256198,
|
||||
});
|
||||
expect(state.allConversations).toEqual([
|
||||
{
|
||||
id: 1,
|
||||
messages: [
|
||||
{
|
||||
conversation_id: 1,
|
||||
content: 'Test message',
|
||||
created_at: 1602256198,
|
||||
},
|
||||
],
|
||||
timestamp: 1602256198,
|
||||
},
|
||||
]);
|
||||
expect(global.bus.$emit).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('add message to the conversation and emit scrollToMessage if it does not exist in the store', () => {
|
||||
global.bus = { $emit: jest.fn() };
|
||||
const state = {
|
||||
allConversations: [{ id: 1, messages: [] }],
|
||||
selectedChatId: 1,
|
||||
};
|
||||
mutations[types.ADD_MESSAGE](state, {
|
||||
conversation_id: 1,
|
||||
content: 'Test message',
|
||||
created_at: 1602256198,
|
||||
});
|
||||
expect(state.allConversations).toEqual([
|
||||
{
|
||||
id: 1,
|
||||
messages: [
|
||||
{
|
||||
conversation_id: 1,
|
||||
content: 'Test message',
|
||||
created_at: 1602256198,
|
||||
},
|
||||
],
|
||||
timestamp: 1602256198,
|
||||
},
|
||||
]);
|
||||
expect(global.bus.$emit).toHaveBeenCalledWith('scrollToMessage');
|
||||
});
|
||||
|
||||
it('update message if it exist in the store', () => {
|
||||
global.bus = { $emit: jest.fn() };
|
||||
const state = {
|
||||
allConversations: [
|
||||
{
|
||||
id: 1,
|
||||
messages: [
|
||||
{
|
||||
conversation_id: 1,
|
||||
content: 'Test message',
|
||||
created_at: 1602256198,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
selectedChatId: 1,
|
||||
};
|
||||
mutations[types.ADD_MESSAGE](state, {
|
||||
conversation_id: 1,
|
||||
content: 'Test message 1',
|
||||
created_at: 1602256198,
|
||||
});
|
||||
expect(state.allConversations).toEqual([
|
||||
{
|
||||
id: 1,
|
||||
messages: [
|
||||
{
|
||||
conversation_id: 1,
|
||||
content: 'Test message 1',
|
||||
created_at: 1602256198,
|
||||
},
|
||||
],
|
||||
},
|
||||
]);
|
||||
expect(global.bus.$emit).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user