UNPKG

nexshop-web-contents

Version:

Nexshop Web Contents Project

84 lines (75 loc) 2.99 kB
import React from 'react'; import {expect} from 'chai'; import {shallow} from "enzyme"; import configureStore from 'redux-mock-store'; import sinon from "sinon"; import * as Redux from "redux"; import ContentsPreviewHeaderView from "../../../../src/component/preview/contents/contents-preview-header-view"; import ContentsPreviewDetailView from "../../../../src/component/preview/contents/contents-preview-detail-view"; import ContentsPreview from "../../../../src/component/preview/contents/contents-preview"; describe('Contents Preview Spec', () => { let wrapper; let mockStore; let mockHistory = {goBack: () => {}}; beforeEach(() => { sinon.stub(mockHistory, 'goBack'); sinon.stub(Redux, "bindActionCreators").returns({}); mockStore = configureStore()({ contents: { selectedId: '2', contents: [ { id: '1', name: 'first.file', lastModifiedTimestamp: '2017-09-07T09:15:51.283Z', type: 'image', fileSizeBytes: 213674, thumbnailUrls: { thumbnail: 'first.thumbnail.file', }, status: 'new', metaData: { fileSizeBytes: 267779, contentUrl: 'first.metaData.url', mimeType: "image/jpeg" } }, { id: '2', name: 'second.file', lastModifiedTimestamp: '2017-09-08T16:15:51.283Z', type: 'video', fileSizeBytes: 12345670, thumbnailUrls: { thumbnail: 'second.thumbnail.file' }, metaData: { fileSizeBytes: 267779, contentUrl: 'second.metaData.url', mimeType: "image/jpeg" } }, ] } }); wrapper = shallow(<ContentsPreview store={mockStore} history={mockHistory}/>).dive(); }); afterEach(() => { mockHistory.goBack.restore(); Redux.bindActionCreators.restore(); }); it('has contents-preview-header-view', () => { expect(wrapper.find(ContentsPreviewHeaderView).length).to.equal(1); }); it('has contents-preview-detail-view', () => { expect(wrapper.find(ContentsPreviewDetailView).length).to.equal(1); }); describe('onClickClose', () => { beforeEach(() => { wrapper.instance().onClickClose(); }); it('calls history.goBack', () => { expect(mockHistory.goBack.called).to.be.true; }); }); });