summaryrefslogtreecommitdiff
path: root/spec/javascripts/vue_mr_widget/components/states
diff options
context:
space:
mode:
authorGeorge Tsiolis <tsiolis.g@gmail.com>2018-03-19 17:03:52 +0200
committerGeorge Tsiolis <tsiolis.g@gmail.com>2018-03-27 21:53:19 +0300
commitcc00f468b0f1c2fe692050cadad9f8ecd7343e45 (patch)
tree72a4964a94318ee8245974346e362802f62f3190 /spec/javascripts/vue_mr_widget/components/states
parent051e5e99dfd38704d7fbaef291fc6e9b737723f8 (diff)
downloadgitlab-ce-cc00f468b0f1c2fe692050cadad9f8ecd7343e45.tar.gz
Add i18n and update specs for UnresolvedDiscussions vue component
Diffstat (limited to 'spec/javascripts/vue_mr_widget/components/states')
-rw-r--r--spec/javascripts/vue_mr_widget/components/states/mr_widget_unresolved_discussions_spec.js50
1 files changed, 20 insertions, 30 deletions
diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_unresolved_discussions_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_unresolved_discussions_spec.js
index 046968fbc1f..d797f1266df 100644
--- a/spec/javascripts/vue_mr_widget/components/states/mr_widget_unresolved_discussions_spec.js
+++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_unresolved_discussions_spec.js
@@ -1,47 +1,37 @@
import Vue from 'vue';
import UnresolvedDiscussions from '~/vue_merge_request_widget/components/states/unresolved_discussions.vue';
+import mountComponent from 'spec/helpers/vue_mount_component_helper';
describe('UnresolvedDiscussions', () => {
- describe('props', () => {
- it('should have props', () => {
- const { mr } = UnresolvedDiscussions.props;
+ const Component = Vue.extend(UnresolvedDiscussions);
+ let vm;
- expect(mr.type instanceof Object).toBeTruthy();
- expect(mr.required).toBeTruthy();
- });
+ afterEach(() => {
+ vm.$destroy();
});
- describe('template', () => {
- let el;
- let vm;
- const path = 'foo/bar';
-
+ describe('with discussions path', () => {
beforeEach(() => {
- const Component = Vue.extend(UnresolvedDiscussions);
- const mr = {
- createIssueToResolveDiscussionsPath: path,
- };
- vm = new Component({
- el: document.createElement('div'),
- propsData: { mr },
- });
- el = vm.$el;
+ vm = mountComponent(Component, { mr: {
+ createIssueToResolveDiscussionsPath: gl.TEST_HOST,
+ } });
});
it('should have correct elements', () => {
- expect(el.classList.contains('mr-widget-body')).toBeTruthy();
- expect(el.innerText).toContain('There are unresolved discussions. Please resolve these discussions');
- expect(el.innerText).toContain('Create an issue to resolve them later');
- expect(el.querySelector('.js-create-issue').getAttribute('href')).toEqual(path);
+ expect(vm.$el.innerText).toContain('There are unresolved discussions. Please resolve these discussions');
+ expect(vm.$el.innerText).toContain('Create an issue to resolve them later');
+ expect(vm.$el.querySelector('.js-create-issue').getAttribute('href')).toEqual(gl.TEST_HOST);
});
+ });
- it('should not show create issue button if user cannot create issue', (done) => {
- vm.mr.createIssueToResolveDiscussionsPath = '';
+ describe('without discussions path', () => {
+ beforeEach(() => {
+ vm = mountComponent(Component, { mr: {} });
+ });
- Vue.nextTick(() => {
- expect(el.querySelector('.js-create-issue')).toEqual(null);
- done();
- });
+ it('should not show create issue link if user cannot create issue', () => {
+ expect(vm.$el.innerText).toContain('There are unresolved discussions. Please resolve these discussions');
+ expect(vm.$el.querySelector('.js-create-issue')).toEqual(null);
});
});
});