import React from 'react';
import {expect} from 'chai';
import {shallow} from "enzyme";
import sinon from 'sinon';
import AddMenu from '../../../../src/component/popup/add-menu/add-menu';
describe('Add Menu Spec', () => {
const spyOnCreatePlaylistClicked = sinon.spy();
const spyOnCreateSceneClicked = sinon.spy();
const spyOnClose = sinon.spy();
const spyOnUploadFilesSelected = sinon.spy();
const spyOnCreateNewFolderClicked = sinon.spy();
let wrapper;
beforeEach(() => {
wrapper = shallow(<AddMenu.WrappedPopupComponent onCreatePlaylistClicked={spyOnCreatePlaylistClicked}
onCreateSceneClicked={spyOnCreateSceneClicked}
onUploadFilesSelected={spyOnUploadFilesSelected}
onCreateNewFolderClicked={spyOnCreateNewFolderClicked}
onClose={spyOnClose}
/>);
});
afterEach(() => {
spyOnCreatePlaylistClicked.reset();
spyOnCreateSceneClicked.reset();
spyOnClose.reset();
spyOnUploadFilesSelected.reset();
spyOnCreateNewFolderClicked.reset();
});
it('runs onCreatePlaylist when new playlist menu clicked', () => {
wrapper.find('.add-menu__item').at(3).simulate('click');
expect(spyOnCreatePlaylistClicked.called).to.be.true;
});
it('calls onSelectFiles on file input change', () => {
wrapper.find('.upload-file__input').simulate('change', {target: {files: ['on change files']}});
expect(spyOnUploadFilesSelected.called).to.be.true;
});
it('runs onCreateScene when new scene menu clicked', () => {
wrapper.find('.add-menu__item').at(2).simulate('click');
expect(spyOnCreateSceneClicked.called).to.be.true;
});
it('runs onCreateNewFolder when new folder menu is clicked', () => {
wrapper.find('.add-menu__item').at(0).simulate('click');
expect(spyOnCreateNewFolderClicked.called).to.be.true;
});
}); |