diff --git a/ee/app/assets/javascripts/epic/components/sidebar_items/sidebar_date_picker.vue b/ee/app/assets/javascripts/epic/components/sidebar_items/sidebar_date_picker.vue index 8f03444b79f916a7b6822ea67d6a0529816912f0..1ae3ced250734dac0a5a1e4403138d553c62ccf0 100644 --- a/ee/app/assets/javascripts/epic/components/sidebar_items/sidebar_date_picker.vue +++ b/ee/app/assets/javascripts/epic/components/sidebar_items/sidebar_date_picker.vue @@ -171,8 +171,9 @@ export default { this.editing = false; this.$emit('toggleDateType', true, true); }, - toggleDatePicker() { + toggleDatePicker(e) { this.editing = !this.editing; + e.stopPropagation(); }, newDateSelected(date = null) { this.editing = false; diff --git a/ee/spec/features/epics/update_epic_spec.rb b/ee/spec/features/epics/update_epic_spec.rb index e372b053037ead1a1cc51f782e79154639e79d20..09bdda0426af665b32dac71551f51a00e312d228 100644 --- a/ee/spec/features/epics/update_epic_spec.rb +++ b/ee/spec/features/epics/update_epic_spec.rb @@ -121,6 +121,16 @@ end end + context 'epic sidebar' do + it 'opens datepicker when clicking Edit button' do + page.within('.issuable-sidebar .block.start-date') do + click_button('Edit') + expect(find('.value-type-fixed')).to have_selector('.pikaday-container') + expect(find('.value-type-fixed')).to have_selector('.pikaday-container .pika-single.is-bound') + end + end + end + it 'updates the tasklist' do expect(page).to have_selector('ul.task-list', count: 1) expect(page).to have_selector('li.task-list-item', count: 1) diff --git a/ee/spec/javascripts/epic/components/sidebar_items/sidebar_date_picker_spec.js b/ee/spec/javascripts/epic/components/sidebar_items/sidebar_date_picker_spec.js index 43a078f2d542089a491e18e22c89e8b4ceadcae1..4e07b2a0da1769d5cc69ace51341e67d036a30ae 100644 --- a/ee/spec/javascripts/epic/components/sidebar_items/sidebar_date_picker_spec.js +++ b/ee/spec/javascripts/epic/components/sidebar_items/sidebar_date_picker_spec.js @@ -169,10 +169,14 @@ describe('SidebarDatePicker', () => { describe('toggleDatePicker', () => { it('flips value of `editing` prop from `true` to `false` and vice-versa', () => { + const e = new Event('click'); + spyOn(e, 'stopPropagation'); + vm.editing = true; - vm.toggleDatePicker(); + vm.toggleDatePicker(e); expect(vm.editing).toBe(false); + expect(e.stopPropagation).toHaveBeenCalled(); }); });