summaryrefslogtreecommitdiff
path: root/spec/frontend/batch_comments/components/diff_file_drafts_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/batch_comments/components/diff_file_drafts_spec.js')
-rw-r--r--spec/frontend/batch_comments/components/diff_file_drafts_spec.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/spec/frontend/batch_comments/components/diff_file_drafts_spec.js b/spec/frontend/batch_comments/components/diff_file_drafts_spec.js
new file mode 100644
index 00000000000..6e0b61db9fa
--- /dev/null
+++ b/spec/frontend/batch_comments/components/diff_file_drafts_spec.js
@@ -0,0 +1,61 @@
+import { shallowMount, createLocalVue } from '@vue/test-utils';
+import Vuex from 'vuex';
+import DiffFileDrafts from '~/batch_comments/components/diff_file_drafts.vue';
+import DraftNote from '~/batch_comments/components/draft_note.vue';
+
+const localVue = createLocalVue();
+
+localVue.use(Vuex);
+
+describe('Batch comments diff file drafts component', () => {
+ let vm;
+
+ function factory() {
+ const store = new Vuex.Store({
+ modules: {
+ batchComments: {
+ namespaced: true,
+ getters: {
+ draftsForFile: () => () => [{ id: 1 }, { id: 2 }],
+ },
+ },
+ },
+ });
+
+ vm = shallowMount(localVue.extend(DiffFileDrafts), {
+ store,
+ localVue,
+ propsData: { fileHash: 'filehash' },
+ });
+ }
+
+ afterEach(() => {
+ vm.destroy();
+ });
+
+ it('renders list of draft notes', () => {
+ factory();
+
+ expect(vm.findAll(DraftNote).length).toEqual(2);
+ });
+
+ it('renders index of draft note', () => {
+ factory();
+
+ expect(vm.findAll('.js-diff-notes-index').length).toEqual(2);
+
+ expect(
+ vm
+ .findAll('.js-diff-notes-index')
+ .at(0)
+ .text(),
+ ).toEqual('1');
+
+ expect(
+ vm
+ .findAll('.js-diff-notes-index')
+ .at(1)
+ .text(),
+ ).toEqual('2');
+ });
+});