chore: Add the specs for sort conversation (#7047)
This commit is contained in:
@@ -404,6 +404,33 @@ describe('#actions', () => {
|
|||||||
expect(commit.mock.calls).toEqual([[types.CLEAR_CONVERSATION_FILTERS]]);
|
expect(commit.mock.calls).toEqual([[types.CLEAR_CONVERSATION_FILTERS]]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('#updateConversationLastActivity', () => {
|
||||||
|
it('sends correct action', async () => {
|
||||||
|
await actions.updateConversationLastActivity(
|
||||||
|
{ commit },
|
||||||
|
{ conversationId: 1, lastActivityAt: 12121212 }
|
||||||
|
);
|
||||||
|
expect(commit.mock.calls).toEqual([
|
||||||
|
[
|
||||||
|
'UPDATE_CONVERSATION_LAST_ACTIVITY',
|
||||||
|
{ conversationId: 1, lastActivityAt: 12121212 },
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('#setChatSortFilter', () => {
|
||||||
|
it('sends correct action', async () => {
|
||||||
|
await actions.setChatSortFilter(
|
||||||
|
{ commit },
|
||||||
|
{ data: 'sort_on_created_at' }
|
||||||
|
);
|
||||||
|
expect(commit.mock.calls).toEqual([
|
||||||
|
['CHANGE_CHAT_SORT_FILTER', { data: 'sort_on_created_at' }],
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#deleteMessage', () => {
|
describe('#deleteMessage', () => {
|
||||||
|
|||||||
@@ -6,43 +6,127 @@ commonHelpers();
|
|||||||
|
|
||||||
describe('#getters', () => {
|
describe('#getters', () => {
|
||||||
describe('#getAllConversations', () => {
|
describe('#getAllConversations', () => {
|
||||||
it('order conversations based on last message date', () => {
|
it('order conversations based on last activity', () => {
|
||||||
const state = {
|
const state = {
|
||||||
allConversations: [
|
allConversations: [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
messages: [
|
messages: [
|
||||||
{
|
{
|
||||||
created_at: 1466424480,
|
content: 'test1',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
created_at: 2466424490,
|
||||||
|
last_activity_at: 2466424490,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
messages: [
|
messages: [{ content: 'test2' }],
|
||||||
{
|
created_at: 1466424480,
|
||||||
created_at: 2466424490,
|
last_activity_at: 1466424480,
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
expect(getters.getAllConversations(state)).toEqual([
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
messages: [
|
||||||
|
{
|
||||||
|
content: 'test1',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
created_at: 2466424490,
|
||||||
|
last_activity_at: 2466424490,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
messages: [{ content: 'test2' }],
|
||||||
|
created_at: 1466424480,
|
||||||
|
last_activity_at: 1466424480,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
it('order conversations based on created at', () => {
|
||||||
|
const state = {
|
||||||
|
allConversations: [
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
messages: [
|
||||||
|
{
|
||||||
|
content: 'test1',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
created_at: 1683645801, // Tuesday, 9 May 2023
|
||||||
|
last_activity_at: 2466424490,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
messages: [{ content: 'test2' }],
|
||||||
|
created_at: 1652109801, // Monday, 9 May 2022
|
||||||
|
last_activity_at: 1466424480,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
chatSortFilter: 'sort_on_created_at',
|
||||||
|
};
|
||||||
|
|
||||||
expect(getters.getAllConversations(state)).toEqual([
|
expect(getters.getAllConversations(state)).toEqual([
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
messages: [
|
messages: [{ content: 'test2' }],
|
||||||
{
|
created_at: 1652109801,
|
||||||
created_at: 2466424490,
|
last_activity_at: 1466424480,
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
messages: [
|
messages: [
|
||||||
{
|
{
|
||||||
created_at: 1466424480,
|
content: 'test1',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
created_at: 1683645801,
|
||||||
|
last_activity_at: 2466424490,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
it('order conversations based on default order', () => {
|
||||||
|
const state = {
|
||||||
|
allConversations: [
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
messages: [
|
||||||
|
{
|
||||||
|
content: 'test1',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
created_at: 2466424490,
|
||||||
|
last_activity_at: 2466424490,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
messages: [{ content: 'test2' }],
|
||||||
|
created_at: 1466424480,
|
||||||
|
last_activity_at: 1466424480,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
expect(getters.getAllConversations(state)).toEqual([
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
messages: [
|
||||||
|
{
|
||||||
|
content: 'test1',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
created_at: 2466424490,
|
||||||
|
last_activity_at: 2466424490,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
messages: [{ content: 'test2' }],
|
||||||
|
created_at: 1466424480,
|
||||||
|
last_activity_at: 1466424480,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -39,6 +39,19 @@ describe('#mutations', () => {
|
|||||||
|
|
||||||
describe('#ASSIGN_TEAM', () => {
|
describe('#ASSIGN_TEAM', () => {
|
||||||
it('clears current chat window', () => {
|
it('clears current chat window', () => {
|
||||||
|
const state = { allConversations: [{ id: 1, meta: {} }] };
|
||||||
|
mutations[types.UPDATE_CONVERSATION_LAST_ACTIVITY](state, {
|
||||||
|
lastActivityAt: 1602256198,
|
||||||
|
conversationId: 1,
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(state.allConversations).toEqual([
|
||||||
|
{ id: 1, meta: {}, last_activity_at: 1602256198 },
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe('#UPDATE_CONVERSATION_LAST_ACTIVITY', () => {
|
||||||
|
it('update conversation last activity', () => {
|
||||||
const state = { allConversations: [{ id: 1, meta: {} }] };
|
const state = { allConversations: [{ id: 1, meta: {} }] };
|
||||||
mutations[types.ASSIGN_TEAM](state, {
|
mutations[types.ASSIGN_TEAM](state, {
|
||||||
team: { id: 1, name: 'Team 1' },
|
team: { id: 1, name: 'Team 1' },
|
||||||
@@ -50,6 +63,16 @@ describe('#mutations', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('#CHANGE_CHAT_SORT_FILTER', () => {
|
||||||
|
it('update conversation sort filter', () => {
|
||||||
|
const state = { chatSortFilter: 'latest' };
|
||||||
|
mutations[types.CHANGE_CHAT_SORT_FILTER](state, {
|
||||||
|
data: 'sort_on_created_at',
|
||||||
|
});
|
||||||
|
expect(state.chatSortFilter).toEqual({ data: 'sort_on_created_at' });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('#SET_CURRENT_CHAT_WINDOW', () => {
|
describe('#SET_CURRENT_CHAT_WINDOW', () => {
|
||||||
it('set current chat window', () => {
|
it('set current chat window', () => {
|
||||||
const state = { selectedChatId: 1 };
|
const state = { selectedChatId: 1 };
|
||||||
|
|||||||
Reference in New Issue
Block a user