| 12345678910111213141516171819202122232425262728293031 |
- import state from 'state'
- import inputs from 'state/inputs'
- import { getShape } from 'utils'
- import { idsAreSelected, point, rectangleId } from './test-utils'
- import * as json from './__mocks__/document.json'
-
- state.reset()
- state.send('MOUNTED').send('LOADED_FROM_FILE', { json: JSON.stringify(json) })
-
- describe('selection', () => {
- it('deletes a shape and undoes the delete', () => {
- state
- .send('CANCELED')
- .send('POINTED_SHAPE', inputs.pointerDown(point(), rectangleId))
- .send('STOPPED_POINTING', inputs.pointerUp(point(), rectangleId))
- .send('DELETED')
-
- expect(getShape(state.data, rectangleId)).toBe(undefined)
- expect(idsAreSelected(state.data, [])).toBe(true)
-
- state.send('UNDO')
-
- expect(getShape(state.data, rectangleId)).toBeTruthy()
- expect(idsAreSelected(state.data, [rectangleId])).toBe(true)
-
- state.send('REDO')
-
- expect(getShape(state.data, rectangleId)).toBe(undefined)
- expect(idsAreSelected(state.data, [])).toBe(true)
- })
- })
|