Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

project.test.ts 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import * as json from './__mocks__/document.json'
  2. import state from 'state'
  3. import { point } from './test-utils'
  4. import inputs from 'state/inputs'
  5. import { getSelectedIds, setToArray } from 'utils/utils'
  6. const rectangleId = '1f6c251c-e12e-40b4-8dd2-c1847d80b72f'
  7. const arrowId = '5ca167d7-54de-47c9-aa8f-86affa25e44d'
  8. describe('project', () => {
  9. it('mounts the state', () => {
  10. state.enableLog(true)
  11. state
  12. .send('MOUNTED')
  13. .send('LOADED_FROM_FILE', { json: JSON.stringify(json) })
  14. })
  15. it('selects and deselects a shape', () => {
  16. expect(setToArray(getSelectedIds(state.data))).toStrictEqual([])
  17. state
  18. .send('POINTED_SHAPE', inputs.pointerDown(point(), rectangleId))
  19. .send('STOPPED_POINTING', inputs.pointerUp(point()))
  20. expect(setToArray(getSelectedIds(state.data))).toStrictEqual([rectangleId])
  21. state
  22. .send('POINTED_CANVAS', inputs.pointerDown(point(), 'canvas'))
  23. .send('STOPPED_POINTING', inputs.pointerUp(point()))
  24. expect(setToArray(getSelectedIds(state.data))).toStrictEqual([])
  25. })
  26. it('selects multiple shapes', () => {
  27. expect(setToArray(getSelectedIds(state.data))).toStrictEqual([])
  28. state
  29. .send('POINTED_SHAPE', inputs.pointerDown(point(), rectangleId))
  30. .send('STOPPED_POINTING', inputs.pointerUp(point()))
  31. expect(setToArray(getSelectedIds(state.data))).toStrictEqual([rectangleId])
  32. state.send(
  33. 'POINTED_SHAPE',
  34. inputs.pointerDown(point({ shiftKey: true }), arrowId)
  35. )
  36. // state.send('STOPPED_POINTING', inputs.pointerUp(point()))
  37. expect(setToArray(getSelectedIds(state.data))).toStrictEqual([
  38. rectangleId,
  39. arrowId,
  40. ])
  41. })
  42. })