Spaces:
Running
Running
File size: 1,937 Bytes
f2bee8a |
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 56 57 58 59 |
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 (
<Provider store={store}>
<SpriteSelectorItem
className={className}
costumeURL={costumeURL}
dispatchSetHoveredSprite={dispatchSetHoveredSprite}
id={id}
name={name}
selected={selected}
onClick={onClick}
onDeleteButtonClick={onDeleteButtonClick}
/>
</Provider>
);
};
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);
});
});
|