import React from 'react'; import {mountWithIntl} from '../../helpers/intl-helpers.jsx'; import configureStore from 'redux-mock-store'; import {Provider} from 'react-redux'; import SpriteSelectorItem from '../../../src/containers/sprite-selector-item'; import DeleteButton from '../../../src/components/delete-button/delete-button'; describe('SpriteSelectorItem Container', () => { const mockStore = configureStore(); let className; let costumeURL; let name; let onClick; let dispatchSetHoveredSprite; let onDeleteButtonClick; let selected; let id; let store; // Wrap this in a function so it gets test specific states and can be reused. const getContainer = function () { return ( ); }; beforeEach(() => { store = mockStore({scratchGui: { hoveredTarget: {receivedBlocks: false, sprite: null}, assetDrag: {dragging: false} }}); className = 'ponies'; costumeURL = 'https://scratch.mit.edu/foo/bar/pony'; id = 1337; name = 'Pony sprite'; onClick = jest.fn(); onDeleteButtonClick = jest.fn(); dispatchSetHoveredSprite = jest.fn(); selected = true; }); test('should delete the sprite', () => { const wrapper = mountWithIntl(getContainer()); wrapper.find(DeleteButton).simulate('click'); expect(onDeleteButtonClick).toHaveBeenCalledWith(1337); }); });