diff options
| author | Simon Knox <psimyn@gmail.com> | 2017-11-24 13:52:24 +1100 |
|---|---|---|
| committer | Simon Knox <psimyn@gmail.com> | 2017-11-29 00:44:01 +1100 |
| commit | 0315803bc6da2185010f5ff6e60d44f6df059960 (patch) | |
| tree | 621c3f8cdfe1dcf97b7840264855f50959355f75 /spec/javascripts | |
| parent | 86b661d99acbdef8ea910a6e712758c3bd26771f (diff) | |
| download | gitlab-ce-0315803bc6da2185010f5ff6e60d44f6df059960.tar.gz | |
add basic component spec
Diffstat (limited to 'spec/javascripts')
| -rw-r--r-- | spec/javascripts/diff_notes/components/diff_note_avatars_spec.js | 46 | ||||
| -rw-r--r-- | spec/javascripts/diff_notes/mock_data.js | 14 |
2 files changed, 60 insertions, 0 deletions
diff --git a/spec/javascripts/diff_notes/components/diff_note_avatars_spec.js b/spec/javascripts/diff_notes/components/diff_note_avatars_spec.js new file mode 100644 index 00000000000..ba071e67b53 --- /dev/null +++ b/spec/javascripts/diff_notes/components/diff_note_avatars_spec.js @@ -0,0 +1,46 @@ +import Vue from 'vue'; +import DiffNoteAvatars from '~/diff_notes/components/diff_note_avatars.vue'; +import DiscussionModel from '~/diff_notes/models/discussion'; +import { createNote } from '../mock_data'; + +describe('diff_note_avatars', () => { + let vm; + let notes; + let discussion; + + beforeEach(() => { + notes = jasmine.createSpyObj('notes', ['onAddDiffNote']); + const Component = Vue.extend(DiffNoteAvatars); + + const discussionId = '1234abcd'; + discussion = new DiscussionModel(discussionId); + discussion.createNote(createNote()); + + window.CommentsStore.state = { + [discussionId]: discussion, + }; + + vm = new Component({ + propsData: { + discussionId: discussion.id, + }, + }).$mount(); + }); + + afterEach(() => { + vm.$destroy(); + delete window.CommentsStore.state; + }); + + it('includes discussion ID in class name', () => { + expect(vm.$el.classList).toContain(`js-diff-avatars-${discussion.id}`); + }); + + describe('avatars', () => { + it('shown by default', () => { + expect(vm.showCollapseButton).toBe(false); + expect(vm.$el.querySelector('.diff-notes-collapse')).toBe(null); + expect(vm.$el.querySelector('.diff-comment-avatar')).toBeTruthy(); + }); + }); +}); diff --git a/spec/javascripts/diff_notes/mock_data.js b/spec/javascripts/diff_notes/mock_data.js new file mode 100644 index 00000000000..c8cf46d3723 --- /dev/null +++ b/spec/javascripts/diff_notes/mock_data.js @@ -0,0 +1,14 @@ +/* eslint-disable import/prefer-default-export */ + +export function createNote() { + return { + id: _.random(10000), + canResolve: true, + resolved: false, + resolved_by: null, + authorName: '', + authorAvatar: '', + noteTruncated: 'Lorem notesum...', + }; +} + |
