eventOrder.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. describe('eventOrder', function() {
  2. pushOptions({
  3. defaultDate: '2018-01-01',
  4. defaultView: 'month',
  5. events: [ // all the same datetime!
  6. { id: 'z', title: 'a', start: '2018-01-01T09:00:00', myOrder: 3 },
  7. { id: 'y', title: 'b', start: '2018-01-01T09:00:00', myOrder: 1 },
  8. { id: 'x', title: 'c', start: '2018-01-01T09:00:00', myOrder: 2 }
  9. ],
  10. eventRender: function(eventObj, el) {
  11. el.data('event-id', eventObj.id)
  12. }
  13. })
  14. it('sorts by title by default', function() {
  15. initCalendar()
  16. expect(getEventOrder()).toEqual([ 'z', 'y', 'x' ])
  17. })
  18. it('can sort by a standard prop', function() {
  19. initCalendar({
  20. eventOrder: 'id'
  21. })
  22. expect(getEventOrder()).toEqual([ 'x', 'y', 'z' ])
  23. })
  24. it('can sort by a non-standard prop', function() {
  25. initCalendar({
  26. eventOrder: 'myOrder'
  27. })
  28. expect(getEventOrder()).toEqual([ 'y', 'x', 'z' ])
  29. })
  30. function getEventOrder() {
  31. return $('.fc-event').map(function(i, node) {
  32. return $(node).data('event-id')
  33. }).get()
  34. }
  35. })