chore: Update user account availability status (#6375)

This commit is contained in:
Muhsin Keloth
2023-02-07 00:37:31 +05:30
committed by GitHub
parent 6b839a0442
commit 5902c7a5e1
2 changed files with 25 additions and 1 deletions

View File

@@ -209,7 +209,16 @@ export const actions = {
// mutations
export const mutations = {
[types.SET_CURRENT_USER_AVAILABILITY](_state, availability) {
Vue.set(_state.currentUser, 'availability', availability);
const accounts = _state.currentUser.accounts.map(account => {
if (account.id === _state.currentUser.account_id) {
return { ...account, availability, availability_status: availability };
}
return account;
});
Vue.set(_state, 'currentUser', {
..._state.currentUser,
accounts,
});
},
[types.CLEAR_USER](_state) {
_state.currentUser = initialState.currentUser;

View File

@@ -42,4 +42,19 @@ describe('#mutations', () => {
});
});
});
describe('#SET_CURRENT_USER_AVAILABILITY', () => {
const state = {
currentUser: {
id: 1,
accounts: [{ id: 1, availability_status: 'offline' }],
account_id: 1,
},
};
it('set availability status for current user', () => {
mutations[types.SET_CURRENT_USER_AVAILABILITY](state, 'online');
expect(state.currentUser.accounts[0].availability_status).toEqual(
'online'
);
});
});
});