diff --git a/app/javascript/dashboard/components-next/captain/assistant/FaqSuggestionCard.vue b/app/javascript/dashboard/components-next/captain/assistant/FaqSuggestionCard.vue index c7c92f04e..645f4ff7d 100644 --- a/app/javascript/dashboard/components-next/captain/assistant/FaqSuggestionCard.vue +++ b/app/javascript/dashboard/components-next/captain/assistant/FaqSuggestionCard.vue @@ -5,7 +5,6 @@ import { dynamicTime } from 'shared/helpers/timeHelper'; import Button from 'dashboard/components-next/button/Button.vue'; import Icon from 'dashboard/components-next/icon/Icon.vue'; -import Policy from 'dashboard/components/policy.vue'; const props = defineProps({ suggestion: { @@ -93,27 +92,25 @@ const language = computed(() => - -
-
-
+
+
diff --git a/app/javascript/dashboard/components-next/captain/pageComponents/response/FaqSuggestionReviewDialog.spec.js b/app/javascript/dashboard/components-next/captain/pageComponents/response/FaqSuggestionReviewDialog.spec.js index 4ca3183bc..2bc14a65a 100644 --- a/app/javascript/dashboard/components-next/captain/pageComponents/response/FaqSuggestionReviewDialog.spec.js +++ b/app/javascript/dashboard/components-next/captain/pageComponents/response/FaqSuggestionReviewDialog.spec.js @@ -1,4 +1,5 @@ import { flushPromises, shallowMount } from '@vue/test-utils'; +import Button from 'dashboard/components-next/button/Button.vue'; import FaqSuggestionReviewDialog from './FaqSuggestionReviewDialog.vue'; const { dispatch, push, uiFlags } = vi.hoisted(() => ({ @@ -111,4 +112,37 @@ describe('FaqSuggestionReviewDialog', () => { params: { conversation_id: 42 }, }); }); + + it('shows the review actions to users who can open the page', async () => { + dispatch.mockResolvedValueOnce({ observations: [] }); + + const wrapper = shallowMount(FaqSuggestionReviewDialog, { + props: { + suggestion: { + id: 1, + question: 'How do I enable the feature?', + answer: 'Turn it on in settings.', + source_count: 1, + assistant: { name: 'Support assistant' }, + language: 'en', + }, + }, + global: { + mocks: { $t: key => key }, + stubs: { Dialog: DialogStub }, + }, + }); + + await flushPromises(); + + expect( + wrapper.findAllComponents(Button).map(button => button.props('label')) + ).toEqual( + expect.arrayContaining([ + 'CAPTAIN.FAQ_SUGGESTIONS.DISMISS', + 'CAPTAIN.FAQ_SUGGESTIONS.SAVE', + 'CAPTAIN.FAQ_SUGGESTIONS.APPROVE_FAQ', + ]) + ); + }); }); diff --git a/app/javascript/dashboard/components-next/captain/pageComponents/response/FaqSuggestionReviewDialog.vue b/app/javascript/dashboard/components-next/captain/pageComponents/response/FaqSuggestionReviewDialog.vue index c458f59b0..c6a8cd129 100644 --- a/app/javascript/dashboard/components-next/captain/pageComponents/response/FaqSuggestionReviewDialog.vue +++ b/app/javascript/dashboard/components-next/captain/pageComponents/response/FaqSuggestionReviewDialog.vue @@ -10,7 +10,6 @@ import Button from 'dashboard/components-next/button/Button.vue'; import Dialog from 'dashboard/components-next/dialog/Dialog.vue'; import Icon from 'dashboard/components-next/icon/Icon.vue'; import Input from 'dashboard/components-next/input/Input.vue'; -import Policy from 'dashboard/components/policy.vue'; import Spinner from 'dashboard/components-next/spinner/Spinner.vue'; import TextArea from 'dashboard/components-next/textarea/TextArea.vue'; @@ -250,17 +249,15 @@ defineExpose({ dialogRef });
- -