From c10efd2c7b01ad463d2b63be1f8f187052cc68b8 Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Tue, 27 Apr 2021 20:59:00 +0530 Subject: [PATCH] chore: inbox member clean up (#2144) Delete unused logic and tests Co-authored-by: Nithin David Thomas Co-authored-by: Muhsin Keloth --- .../dashboard/store/modules/inboxMembers.js | 53 ------------------- .../specs/inboxMembers/actions.spec.js | 31 ----------- .../modules/specs/inboxMembers/fixtures.js | 28 ---------- .../specs/inboxMembers/getters.spec.js | 24 --------- .../specs/inboxMembers/mutations.spec.js | 16 ------ 5 files changed, 152 deletions(-) delete mode 100644 app/javascript/dashboard/store/modules/specs/inboxMembers/actions.spec.js delete mode 100644 app/javascript/dashboard/store/modules/specs/inboxMembers/fixtures.js delete mode 100644 app/javascript/dashboard/store/modules/specs/inboxMembers/getters.spec.js delete mode 100644 app/javascript/dashboard/store/modules/specs/inboxMembers/mutations.spec.js diff --git a/app/javascript/dashboard/store/modules/inboxMembers.js b/app/javascript/dashboard/store/modules/inboxMembers.js index 071def998..ac0e85983 100644 --- a/app/javascript/dashboard/store/modules/inboxMembers.js +++ b/app/javascript/dashboard/store/modules/inboxMembers.js @@ -1,44 +1,6 @@ -import Vue from 'vue'; - import InboxMembersAPI from '../../api/inboxMembers'; -const state = { - records: {}, - uiFlags: { - isFetching: false, - }, -}; - -export const types = { - SET_INBOX_MEMBERS_UI_FLAG: 'SET_INBOX_MEMBERS_UI_FLAG', - SET_INBOX_MEMBERS: 'SET_INBOX_MEMBERS', -}; - -export const getters = { - getMembersByInbox: $state => inboxId => { - const allAgents = $state.records[inboxId] || []; - const verifiedAgents = allAgents.filter(record => record.confirmed); - return verifiedAgents; - }, - getUIFlags($state) { - return $state.uiFlags; - }, -}; - export const actions = { - async fetch({ commit }, { inboxId }) { - commit(types.SET_INBOX_MEMBERS_UI_FLAG, { isFetching: true }); - try { - const { - data: { payload }, - } = await InboxMembersAPI.show(inboxId); - commit(types.SET_INBOX_MEMBERS, { inboxId, members: payload }); - } catch (error) { - throw new Error(error); - } finally { - commit(types.SET_INBOX_MEMBERS_UI_FLAG, { isFetching: false }); - } - }, get(_, { inboxId }) { return InboxMembersAPI.show(inboxId); }, @@ -47,22 +9,7 @@ export const actions = { }, }; -export const mutations = { - [types.SET_INBOX_MEMBERS_UI_FLAG]($state, data) { - $state.uiFlags = { - ...$state.uiFlags, - ...data, - }; - }, - [types.SET_INBOX_MEMBERS]: ($state, { inboxId, members }) => { - Vue.set($state.records, inboxId, members); - }, -}; - export default { namespaced: true, - state, - getters, actions, - mutations, }; diff --git a/app/javascript/dashboard/store/modules/specs/inboxMembers/actions.spec.js b/app/javascript/dashboard/store/modules/specs/inboxMembers/actions.spec.js deleted file mode 100644 index af2b63cd2..000000000 --- a/app/javascript/dashboard/store/modules/specs/inboxMembers/actions.spec.js +++ /dev/null @@ -1,31 +0,0 @@ -import axios from 'axios'; -import { actions, types } from '../../inboxMembers'; -import inboxMembers from './fixtures'; - -const commit = jest.fn(); -global.axios = axios; -jest.mock('axios'); - -describe('#actions', () => { - describe('#fetch', () => { - it('sends correct actions if API is success', async () => { - axios.get.mockResolvedValue({ data: { payload: inboxMembers } }); - await actions.fetch({ commit }, { inboxId: 1 }); - expect(commit.mock.calls).toEqual([ - [types.SET_INBOX_MEMBERS_UI_FLAG, { isFetching: true }], - [types.SET_INBOX_MEMBERS, { inboxId: 1, members: inboxMembers }], - [types.SET_INBOX_MEMBERS_UI_FLAG, { isFetching: false }], - ]); - }); - it('sends correct actions if API is error', async () => { - axios.get.mockRejectedValue({ message: 'Incorrect header' }); - await expect(actions.fetch({ commit }, { inboxId: 1 })).rejects.toThrow( - Error - ); - expect(commit.mock.calls).toEqual([ - [types.SET_INBOX_MEMBERS_UI_FLAG, { isFetching: true }], - [types.SET_INBOX_MEMBERS_UI_FLAG, { isFetching: false }], - ]); - }); - }); -}); diff --git a/app/javascript/dashboard/store/modules/specs/inboxMembers/fixtures.js b/app/javascript/dashboard/store/modules/specs/inboxMembers/fixtures.js deleted file mode 100644 index c7b968e33..000000000 --- a/app/javascript/dashboard/store/modules/specs/inboxMembers/fixtures.js +++ /dev/null @@ -1,28 +0,0 @@ -export default [ - { - id: 1, - provider: 'email', - uid: 'agent1@chatwoot.com', - name: 'Agent1', - email: 'agent1@chatwoot.com', - account_id: 1, - created_at: '2019-11-18T02:21:06.225Z', - updated_at: '2019-12-20T07:43:35.794Z', - pubsub_token: 'random-1', - role: 'agent', - confirmed: true, - }, - { - id: 2, - provider: 'email', - uid: 'agent2@chatwoot.com', - name: 'Agent2', - email: 'agent2@chatwoot.com', - account_id: 1, - created_at: '2019-11-18T02:21:06.225Z', - updated_at: '2019-12-20T07:43:35.794Z', - pubsub_token: 'random-2', - role: 'agent', - confirmed: true, - }, -]; diff --git a/app/javascript/dashboard/store/modules/specs/inboxMembers/getters.spec.js b/app/javascript/dashboard/store/modules/specs/inboxMembers/getters.spec.js deleted file mode 100644 index 9b83c548e..000000000 --- a/app/javascript/dashboard/store/modules/specs/inboxMembers/getters.spec.js +++ /dev/null @@ -1,24 +0,0 @@ -import { getters } from '../../teamMembers'; -import teamMembers from './fixtures'; - -describe('#getters', () => { - it('getMembersByInbox', () => { - const state = { - records: { - 1: [teamMembers[0]], - }, - }; - expect(getters.getTeamMembers(state)(1)).toEqual([teamMembers[0]]); - }); - - it('getUIFlags', () => { - const state = { - uiFlags: { - isFetching: false, - }, - }; - expect(getters.getUIFlags(state)).toEqual({ - isFetching: false, - }); - }); -}); diff --git a/app/javascript/dashboard/store/modules/specs/inboxMembers/mutations.spec.js b/app/javascript/dashboard/store/modules/specs/inboxMembers/mutations.spec.js deleted file mode 100644 index 11d59ef93..000000000 --- a/app/javascript/dashboard/store/modules/specs/inboxMembers/mutations.spec.js +++ /dev/null @@ -1,16 +0,0 @@ -import { mutations, types } from '../../inboxMembers'; -import inboxMembers from './fixtures'; - -describe('#mutations', () => { - describe('#SET_INBOX_MEMBERS', () => { - it('Adds inbox members to records', () => { - const state = { records: {} }; - mutations[types.SET_INBOX_MEMBERS](state, { - members: [...inboxMembers], - inboxId: 1, - }); - - expect(state.records).toEqual({ 1: inboxMembers }); - }); - }); -});