diff --git a/app/javascript/dashboard/components/widgets/conversation/MessagesView.vue b/app/javascript/dashboard/components/widgets/conversation/MessagesView.vue index ea5e31c77..620d52379 100644 --- a/app/javascript/dashboard/components/widgets/conversation/MessagesView.vue +++ b/app/javascript/dashboard/components/widgets/conversation/MessagesView.vue @@ -210,15 +210,15 @@ export default { return contactLastSeenAt; }, - // Check there is a facebook inbox with the same instagram_id + // Check there is a instagram inbox exists with the same instagram_id hasDuplicateInstagramInbox() { const instagramId = this.inbox.instagram_id; - const facebookInbox = - this.$store.getters['inboxes/getFacebookInboxByInstagramId']( + const instagramInbox = + this.$store.getters['inboxes/getInstagramInboxByInstagramId']( instagramId ); - return this.inbox.channel_type === INBOX_TYPES.FB && facebookInbox; + return this.inbox.channel_type === INBOX_TYPES.FB && instagramInbox; }, replyWindowBannerMessage() { diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/FinishSetup.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/FinishSetup.vue index a91033f2e..fcac0648e 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/FinishSetup.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/FinishSetup.vue @@ -18,7 +18,7 @@ export default { isATwilioInbox() { return this.currentInbox.channel_type === 'Channel::TwilioSms'; }, - // Check if a facebook inbox that has the same instagram_id + // Check if a facebook inbox exists with the same instagram_id hasDuplicateInstagramInbox() { const instagramId = this.currentInbox.instagram_id; const facebookInbox = diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue index 8e26cbc85..9a105a045 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue @@ -210,15 +210,15 @@ export default { instagramUnauthorized() { return this.isAInstagramChannel && this.inbox.reauthorization_required; }, - // Check if a facebook inbox that has the same instagram_id + // Check if a instagram inbox exists with the same instagram_id hasDuplicateInstagramInbox() { const instagramId = this.inbox.instagram_id; - const facebookInbox = - this.$store.getters['inboxes/getFacebookInboxByInstagramId']( + const instagramInbox = + this.$store.getters['inboxes/getInstagramInboxByInstagramId']( instagramId ); - return this.inbox.channel_type === INBOX_TYPES.FB && facebookInbox; + return this.inbox.channel_type === INBOX_TYPES.FB && instagramInbox; }, microsoftUnauthorized() { return this.isAMicrosoftInbox && this.inbox.reauthorization_required; diff --git a/app/javascript/dashboard/store/modules/inboxes.js b/app/javascript/dashboard/store/modules/inboxes.js index d5eabd586..32d91fb8e 100644 --- a/app/javascript/dashboard/store/modules/inboxes.js +++ b/app/javascript/dashboard/store/modules/inboxes.js @@ -129,6 +129,13 @@ export const getters = { item.channel_type === INBOX_TYPES.FB ); }, + getInstagramInboxByInstagramId: $state => instagramId => { + return $state.records.find( + item => + item.instagram_id === instagramId && + item.channel_type === INBOX_TYPES.INSTAGRAM + ); + }, }; const sendAnalyticsEvent = channelType => { diff --git a/app/javascript/dashboard/store/modules/specs/inboxes/fixtures.js b/app/javascript/dashboard/store/modules/specs/inboxes/fixtures.js index 9e84499a0..382df4828 100644 --- a/app/javascript/dashboard/store/modules/specs/inboxes/fixtures.js +++ b/app/javascript/dashboard/store/modules/specs/inboxes/fixtures.js @@ -63,4 +63,12 @@ export default [ channel_type: 'Channel::Sms', provider: 'default', }, + { + id: 7, + channel_id: 7, + name: 'Test Instagram 1', + channel_type: 'Channel::Instagram', + instagram_id: 123456789, + provider: 'default', + }, ]; diff --git a/app/javascript/dashboard/store/modules/specs/inboxes/getters.spec.js b/app/javascript/dashboard/store/modules/specs/inboxes/getters.spec.js index 4d9142b92..f9ed57d63 100644 --- a/app/javascript/dashboard/store/modules/specs/inboxes/getters.spec.js +++ b/app/javascript/dashboard/store/modules/specs/inboxes/getters.spec.js @@ -26,7 +26,7 @@ describe('#getters', () => { it('dialogFlowEnabledInboxes', () => { const state = { records: inboxList }; - expect(getters.dialogFlowEnabledInboxes(state).length).toEqual(6); + expect(getters.dialogFlowEnabledInboxes(state).length).toEqual(7); }); it('getInbox', () => { @@ -81,4 +81,16 @@ describe('#getters', () => { instagram_id: 123456789, }); }); + + it('getInstagramInboxByInstagramId', () => { + const state = { records: inboxList }; + expect(getters.getInstagramInboxByInstagramId(state)(123456789)).toEqual({ + id: 7, + channel_id: 7, + name: 'Test Instagram 1', + channel_type: 'Channel::Instagram', + instagram_id: 123456789, + provider: 'default', + }); + }); });