Skip to content

Commit

Permalink
chore: Add inbox id in get campaigns API (chatwoot#2278)
Browse files Browse the repository at this point in the history
  • Loading branch information
muhsin-k authored May 17, 2021
1 parent 60177ef commit 18cea3b
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 7 deletions.
4 changes: 4 additions & 0 deletions app/javascript/dashboard/api/inboxes.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ class Inboxes extends ApiClient {
getAssignableAgents(inboxId) {
return axios.get(`${this.url}/${inboxId}/assignable_agents`);
}

getCampaigns(inboxId) {
return axios.get(`${this.url}/${inboxId}/campaigns`);
}
}

export default new Inboxes();
13 changes: 13 additions & 0 deletions app/javascript/dashboard/api/specs/campaign.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import campaigns from '../campaigns';
import ApiClient from '../ApiClient';

describe('#CampaignAPI', () => {
it('creates correct instance', () => {
expect(campaigns).toBeInstanceOf(ApiClient);
expect(campaigns).toHaveProperty('get');
expect(campaigns).toHaveProperty('show');
expect(campaigns).toHaveProperty('create');
expect(campaigns).toHaveProperty('update');
expect(campaigns).toHaveProperty('delete');
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,10 @@ export default {
if (this.isAWebWidgetInbox) {
return [
...visibleToAllChannelTabs,
{
key: 'campaign',
name: this.$t('INBOX_MGMT.TABS.CAMPAIGN'),
},
{
key: 'preChatForm',
name: this.$t('INBOX_MGMT.TABS.PRE_CHAT_FORM'),
Expand Down Expand Up @@ -397,7 +401,7 @@ export default {
},
toggleInput(selected, current) {
if (selected.includes(current)) {
const newSelectedFlags = selected.filter((flag) => flag !== current);
const newSelectedFlags = selected.filter(flag => flag !== current);
return newSelectedFlags;
}
return [...selected, current];
Expand Down Expand Up @@ -438,7 +442,7 @@ export default {
}
},
async updateAgents() {
const agentList = this.selectedAgents.map((el) => el.id);
const agentList = this.selectedAgents.map(el => el.id);
this.isAgentListUpdating = true;
try {
await this.$store.dispatch('inboxMembers/create', {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,9 @@ export default {
},
},
mounted() {
this.$store.dispatch('campaigns/get');
this.$store.dispatch('campaigns/get', {
inboxId: this.$route.params.inboxId,
});
},
methods: {
openAddPopup() {
Expand Down
5 changes: 3 additions & 2 deletions app/javascript/dashboard/store/modules/campaigns.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import * as MutationHelpers from 'shared/helpers/vuex/mutationHelpers';
import types from '../mutation-types';
import CampaignsAPI from '../../api/campaigns';
import InboxesAPI from '../../api/inboxes';

export const state = {
records: [],
Expand All @@ -20,10 +21,10 @@ export const getters = {
};

export const actions = {
get: async function getCampaigns({ commit }) {
get: async function getCampaigns({ commit }, { inboxId }) {
commit(types.SET_CAMPAIGN_UI_FLAG, { isFetching: true });
try {
const response = await CampaignsAPI.get();
const response = await InboxesAPI.getCampaigns(inboxId);
commit(types.SET_CAMPAIGNS, response.data);
} catch (error) {
// Ignore error
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ describe('#actions', () => {
describe('#get', () => {
it('sends correct actions if API is success', async () => {
axios.get.mockResolvedValue({ data: campaignList });
await actions.get({ commit });
await actions.get({ commit }, { inboxId: 23 });
expect(commit.mock.calls).toEqual([
[types.default.SET_CAMPAIGN_UI_FLAG, { isFetching: true }],
[types.default.SET_CAMPAIGNS, campaignList],
Expand All @@ -20,7 +20,7 @@ describe('#actions', () => {
});
it('sends correct actions if API is error', async () => {
axios.get.mockRejectedValue({ message: 'Incorrect header' });
await actions.get({ commit });
await actions.get({ commit }, { inboxId: 23 });
expect(commit.mock.calls).toEqual([
[types.default.SET_CAMPAIGN_UI_FLAG, { isFetching: true }],
[types.default.SET_CAMPAIGN_UI_FLAG, { isFetching: false }],
Expand Down

0 comments on commit 18cea3b

Please sign in to comment.