From 3b7308c7ef5b27c2ca2e26bba9cf7bbfe396be86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=A4fer?= Date: Sun, 10 Mar 2019 13:08:39 +0100 Subject: [PATCH] ModalWrapper closes if DisableModel closes --- components/Modal.spec.js | 28 +++++++++++++++++++++++---- components/Modal.vue | 17 ++++++++++++---- components/Modal/DisableModal.spec.js | 7 ++----- 3 files changed, 39 insertions(+), 13 deletions(-) diff --git a/components/Modal.spec.js b/components/Modal.spec.js index 90532de2a..799ab2a41 100644 --- a/components/Modal.spec.js +++ b/components/Modal.spec.js @@ -1,5 +1,6 @@ import { shallowMount, mount, createLocalVue } from '@vue/test-utils' import Modal from './Modal.vue' +import DisableModal from './Modal/DisableModal.vue' import Vue from 'vue' import Vuex from 'vuex' import { getters, mutations } from '../store/modal' @@ -58,17 +59,36 @@ describe('Modal.vue', () => { expect(wrapper.isEmpty()).toBe(true) }) - describe('store state.open === "disable"', () => { + describe('store/modal holds data to disable', () => { beforeEach(() => { state = { open: 'disable', - data: {} + data: { + type: 'contribution', + name: 'some title', + id: 456 + } } wrapper = Wrapper() }) - it('renders report modal', () => { - expect(wrapper.contains('disable-modal-stub')).toBe(true) + it('renders disable modal', () => { + expect(wrapper.contains(DisableModal)).toBe(true) + }) + + it('passes data to disable modal', () => { + expect(wrapper.find(DisableModal).props().resource).toEqual({ + type: 'contribution', + name: 'some title', + id: 456 + }) + }) + + describe('click cancel', () => { + it('empties wrapper', () => { + wrapper.find(DisableModal).vm.$emit('close') + expect(wrapper.isEmpty()).toBe(true) + }) }) }) }) diff --git a/components/Modal.vue b/components/Modal.vue index 0a1e195f9..7b50ddd5d 100644 --- a/components/Modal.vue +++ b/components/Modal.vue @@ -1,14 +1,17 @@