All files / nexshop-web-contents/spec/component/popup/add-menu add-menu-spec.js

100% Statements 31/31
100% Branches 0/0
100% Functions 7/7
100% Lines 31/31
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 561x 1x 1x 1x 1x   1x 1x 1x 1x 1x 1x       1x 4x               1x 4x 4x 4x 4x 4x     1x 1x   1x     1x 1x   1x     1x 1x   1x     1x 1x   1x    
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;
    });
});