import React from 'react';
import { mount, ReactWrapper } from 'enzyme';
import Modal from '../../src/react/Modal';
describe('Modal', () => {
const MODAL_MESSAGE = 'Message';
test('standard modal', ()=>{
const modal = new ReactWrapper(mount(
Standard Modal
{MODAL_MESSAGE}
{}}/>
).instance().modalRef, true);
expect(modal.find(Modal.Body).length).toBe(1);
expect(modal.find(Modal.Header).length).toBe(1);
expect(modal.find(Modal.Title).length).toBe(1);
expect(modal.find(Modal.Body).length).toBe(1);
expect(modal.find(Modal.Footer).length).toBe(1);
expect(modal.find(Modal.Header).props().type).toBe('info');
expect(modal.find(Modal.Body).text()).toBe(MODAL_MESSAGE);
expect(modal.html()).toMatchSnapshot();
});
test('standard modal - not displayed', ()=>{
const modal = new ReactWrapper(mount(
Standard Modal
{MODAL_MESSAGE}
{}}/>
).instance().modalRef, true);
expect(modal.find(Modal.Body).length).toBe(0);
expect(modal.html()).toMatchSnapshot();
});
test('alert modal', ()=>{
const modal = new ReactWrapper(mount(
Title
{MODAL_MESSAGE}
).instance().modalRef, true);
expect(modal.find(Modal.Body).text()).toBe(MODAL_MESSAGE);
expect(modal.find('.sdc-modal-type-alert').length).toBe(1);
expect(modal.html()).toMatchSnapshot();
});
test('custom modal', ()=>{
const modal = new ReactWrapper(mount(
Title
{MODAL_MESSAGE}
{}}/>
).instance().modalRef, true);
expect(modal.find(Modal.Body).text()).toBe(MODAL_MESSAGE);
expect(modal.find('.sdc-modal-type-custom').length).toBe(1);
expect(modal.html()).toMatchSnapshot();
});
});