| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746 |
- describe('updateEvent', function() {
- pushOptions({
- defaultDate: '2014-05-01',
- defaultView: 'month'
- })
- function getMainEvent() {
- return currentCalendar.clientEvents(function(event) {
- return event.className[0] === 'mainEvent'
- })[0]
- }
- function getRelatedEvent() {
- return currentCalendar.clientEvents(function(event) {
- return event.className[0] === 'relatedEvent'
- })[0]
- }
- describe('when moving an all-day event\'s start', function() {
- describe('when a related event doesn\'t have an end', function() {
- it('should move the start by the delta and leave the end as null', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01', allDay: true, className: 'mainEvent' },
- { id: '1', start: '2014-05-10', allDay: true, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.start.add(2, 'days')
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.start).toEqualMoment('2014-05-03')
- expect(event.end).toBeNull()
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.start).toEqualMoment('2014-05-12')
- expect(relatedEvent.end).toBeNull()
- })
- })
- describe('when a related event has an end', function() {
- it('should move the start and end by the delta', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01', allDay: true, className: 'mainEvent' },
- { id: '1', start: '2014-05-10', end: '2014-05-12', allDay: true, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.start.add(2, 'days')
- expect(event.start).toEqualMoment('2014-05-03')
- expect(event.end).toBeNull()
- currentCalendar.updateEvent(event)
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.start).toEqualMoment('2014-05-12')
- expect(relatedEvent.end).toEqualMoment('2014-05-14')
- })
- })
- })
- describe('when moving an timed event\'s start', function() {
- describe('when a related event doesn\'t have an end', function() {
- it('should move the start by the delta and leave the end as null', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01T12:00:00', allDay: false, className: 'mainEvent' },
- { id: '1', start: '2014-05-10T06:00:00', allDay: false, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.start.add({ days: 2, hours: 2 })
- currentCalendar.updateEvent(event)
- expect(event.start).toEqualMoment('2014-05-03T14:00:00')
- expect(event.end).toBeNull()
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.start).toEqualMoment('2014-05-12T08:00:00')
- expect(relatedEvent.end).toBeNull()
- })
- })
- describe('when a related event has an end', function() {
- it('should move the start and end by the delta', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01T12:00:00', allDay: false, className: 'mainEvent' },
- { id: '1', start: '2014-05-10T06:00:00', end: '2014-05-12T08:00:00', allDay: false, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.start.add({ days: 2, hours: 2 })
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.start).toEqualMoment('2014-05-03T14:00:00')
- expect(event.end).toBeNull()
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.start).toEqualMoment('2014-05-12T08:00:00')
- expect(relatedEvent.end).toEqualMoment('2014-05-14T10:00:00')
- })
- })
- })
- describe('when moving an all-day event\'s end', function() {
- describe('when a related event doesn\'t have an end', function() {
- it('should give the end a default duration plus the delta', function() {
- var event, relatedEvent
- initCalendar({
- defaultAllDayEventDuration: { days: 2 },
- events: [
- { id: '1', start: '2014-05-01', end: '2014-05-03', allDay: true, className: 'mainEvent' },
- { id: '1', start: '2014-05-10', allDay: true, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.end.add(1, 'days')
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.start).toEqualMoment('2014-05-01')
- expect(event.end).toEqualMoment('2014-05-04')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.start).toEqualMoment('2014-05-10')
- expect(relatedEvent.end).toEqualMoment('2014-05-13')
- })
- })
- describe('when a related event has an end', function() {
- it('should move the end by the delta', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01', end: '2014-05-03', allDay: true, className: 'mainEvent' },
- { id: '1', start: '2014-05-10', end: '2014-05-13', allDay: true, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.end.add(1, 'days')
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.start).toEqualMoment('2014-05-01')
- expect(event.end).toEqualMoment('2014-05-04')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.start).toEqualMoment('2014-05-10')
- expect(relatedEvent.end).toEqualMoment('2014-05-14')
- })
- })
- })
- describe('when moving a timed event\'s end', function() {
- describe('when a related event doesn\'t have an end', function() {
- describe('when forceEventDuration is off', function() {
- it('should give the end a default duration plus the delta', function() {
- var event, relatedEvent
- initCalendar({
- forceEventDuration: false,
- defaultTimedEventDuration: { hours: 2 },
- events: [
- { id: '1', start: '2014-05-01T12:00:00', end: '2014-05-01T15:00:00', allDay: false, className: 'mainEvent' },
- { id: '1', start: '2014-05-10T16:00:00', allDay: false, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.end.add({ days: 1, hours: 1 })
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.start).toEqualMoment('2014-05-01T12:00:00')
- expect(event.end).toEqualMoment('2014-05-02T16:00:00')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.start).toEqualMoment('2014-05-10T16:00:00')
- expect(relatedEvent.end).toEqualMoment('2014-05-11T19:00:00')
- })
- })
- describe('when forceEventDuration is on', function() {
- it('should reset end based on defaultTimedEventDuration', function() {
- var event, relatedEvent
- initCalendar({
- forceEventDuration: true,
- defaultTimedEventDuration: { hours: 2 },
- events: [
- { id: '1', start: '2014-05-01T12:00:00', end: '2014-05-01T15:00:00', allDay: false, className: 'mainEvent' },
- { id: '1', start: '2014-05-10T16:00:00', end: '2014-05-10T19:00:00', allDay: false, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.start.add({ days: 1, hours: -12 })
- event.end = null
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.start).toEqualMoment('2014-05-02T00:00:00')
- expect(event.end).toEqualMoment('2014-05-02T02:00:00')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.start).toEqualMoment('2014-05-11T04:00:00')
- expect(relatedEvent.end).toEqualMoment('2014-05-11T06:00:00')
- })
- })
- describe('when forceEventDuration is turned on late', function() {
- it('should force a duration when updateEvent called', function() {
- var event
- initCalendar({
- defaultTimedEventDuration: { hours: 1 },
- events: [
- { id: '1', start: '2014-05-01T12:00:00', allDay: false, className: 'mainEvent' }
- ]
- })
- event = getMainEvent()
- expect(event.start).toEqualMoment('2014-05-01T12:00:00')
- expect(event.end).toBeNull()
- currentCalendar.option({
- forceEventDuration: true
- })
- // should stay the same
- event = getMainEvent()
- expect(event.start).toEqualMoment('2014-05-01T12:00:00')
- expect(event.end).toBeNull()
- event.start.add({ days: 1, hours: -12 })
- currentCalendar.updateEvent(event)
- // should generate an end
- event = getMainEvent()
- expect(event.start).toEqualMoment('2014-05-02T00:00:00')
- expect(event.end).toEqualMoment('2014-05-02T01:00:00')
- })
- })
- })
- describe('when a related event has an end', function() {
- it('should move the end by the delta', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01T12:00:00', end: '2014-05-01T14:00:00', allDay: false, className: 'mainEvent' },
- { id: '1', start: '2014-05-10T16:00:00', end: '2014-05-10T19:00:00', allDay: false, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.end.add({ days: 1, hours: 1 })
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.start).toEqualMoment('2014-05-01T12:00:00')
- expect(event.end).toEqualMoment('2014-05-02T15:00:00')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.start).toEqualMoment('2014-05-10T16:00:00')
- expect(relatedEvent.end).toEqualMoment('2014-05-11T20:00:00')
- })
- })
- })
- describe('when moving an all-day event\'s start and end', function() {
- it('should move the start and end of related events', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01', end: '2014-05-03', allDay: true, className: 'mainEvent' },
- { id: '1', start: '2014-05-10', end: '2014-05-13', allDay: true, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.start.add(2, 'days')
- event.end.add(3, 'day')
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.start).toEqualMoment('2014-05-03')
- expect(event.end).toEqualMoment('2014-05-06')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.start).toEqualMoment('2014-05-12')
- expect(relatedEvent.end).toEqualMoment('2014-05-16')
- })
- })
- describe('when moving a timed event\'s start and end', function() {
- it('should move the start and end of related events', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01T06:00:00', end: '2014-05-03T06:00:00', allDay: false, className: 'mainEvent' },
- { id: '1', start: '2014-05-10T06:00:00', end: '2014-05-13T06:00:00', allDay: false, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.start.add({ days: 2, hours: 1 })
- event.end.add({ days: 3, hours: 2 })
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.start).toEqualMoment('2014-05-03T07:00:00')
- expect(event.end).toEqualMoment('2014-05-06T08:00:00')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.start).toEqualMoment('2014-05-12T07:00:00')
- expect(relatedEvent.end).toEqualMoment('2014-05-16T08:00:00')
- })
- })
- describe('when giving a time to an all-day event\'s start', function() {
- it('should erase the start\'s time and keep the event all-day', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01', end: '2014-05-03', allDay: true, className: 'mainEvent' },
- { id: '1', start: '2014-05-10', end: '2014-05-13', allDay: true, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.start.time('18:00')
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.allDay).toEqual(true)
- expect(event.start).toEqualMoment('2014-05-01')
- expect(event.end).toEqualMoment('2014-05-03')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.allDay).toEqual(true)
- expect(relatedEvent.start).toEqualMoment('2014-05-10')
- expect(relatedEvent.end).toEqualMoment('2014-05-13')
- })
- })
- // issue 2194
- describe('when accidentally giving a time to an all-day event with moment()', function() {
- it('should erase the start and end\'s times and keep the event all-day', function() {
- var event
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01', end: '2014-05-03', allDay: true, className: 'mainEvent' }
- ]
- })
- event = getMainEvent()
- event.start = moment('2014-05-01') // won't have an ambig time
- event.end = moment('2014-05-03') // "
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.allDay).toEqual(true)
- expect(event.start).toEqualMoment('2014-05-01')
- expect(event.end).toEqualMoment('2014-05-03')
- })
- })
- describe('when changing an event from all-day to timed', function() {
- describe('when the event\'s dates remain all-day', function() {
- it('should make the event and related events allDay=false and 00:00', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01', end: '2014-05-03', allDay: true, className: 'mainEvent' },
- { id: '1', start: '2014-05-10', end: '2014-05-13', allDay: true, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.allDay = false
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.allDay).toEqual(false)
- expect(event.start).toEqualMoment('2014-05-01T00:00:00')
- expect(event.end).toEqualMoment('2014-05-03T00:00:00')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.allDay).toEqual(false)
- expect(relatedEvent.start).toEqualMoment('2014-05-10T00:00:00')
- expect(relatedEvent.end).toEqualMoment('2014-05-13T00:00:00')
- })
- })
- describe('when the event\'s dates are set to a time', function() {
- it('should adjust the event and related event\'s allDay/start/end', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01', end: '2014-05-03', allDay: true, className: 'mainEvent' },
- { id: '1', start: '2014-05-10', end: '2014-05-13', allDay: true, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.allDay = false
- event.start.time('14:00')
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.allDay).toEqual(false)
- expect(event.start).toEqualMoment('2014-05-01T14:00:00')
- expect(event.end).toEqualMoment('2014-05-03T00:00:00')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.allDay).toEqual(false)
- expect(relatedEvent.start).toEqualMoment('2014-05-10T14:00:00')
- expect(relatedEvent.end).toEqualMoment('2014-05-13T00:00:00')
- })
- })
- describe('when the event\'s start is also moved', function() {
- it('should adjust the event and related event\'s allDay/start/end', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01', end: '2014-05-03', allDay: true, className: 'mainEvent' },
- { id: '1', start: '2014-05-10', end: '2014-05-13', allDay: true, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.allDay = false
- event.start.add(1, 'days')
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.allDay).toEqual(false)
- expect(event.start).toEqualMoment('2014-05-02T00:00:00')
- expect(event.end).toEqualMoment('2014-05-03T00:00:00')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.allDay).toEqual(false)
- expect(relatedEvent.start).toEqualMoment('2014-05-11T00:00:00')
- expect(relatedEvent.end).toEqualMoment('2014-05-13T00:00:00')
- })
- })
- })
- describe('when changing an event from timed to all-day', function() {
- it('should adjust the event and related event\'s allDay/start/end', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01T06:00:00', end: '2014-05-03T06:00:00', allDay: false, className: 'mainEvent' },
- { id: '1', start: '2014-05-10T06:00:00', end: '2014-05-13T06:00:00', allDay: false, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.allDay = true
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.allDay).toEqual(true)
- expect(event.start).toEqualMoment('2014-05-01')
- expect(event.end).toEqualMoment('2014-05-03')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.allDay).toEqual(true)
- expect(relatedEvent.start).toEqualMoment('2014-05-10')
- expect(relatedEvent.end).toEqualMoment('2014-05-13')
- })
- it('should adjust the event and related event\'s allDay/start/end and account for a new start', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01T06:00:00', end: '2014-05-03T06:00:00', allDay: false, className: 'mainEvent' },
- { id: '1', start: '2014-05-10T06:00:00', end: '2014-05-13T06:00:00', allDay: false, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.allDay = true
- event.start.add(1, 'days')
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.allDay).toEqual(true)
- expect(event.start).toEqualMoment('2014-05-02')
- expect(event.end).toEqualMoment('2014-05-03')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.allDay).toEqual(true)
- expect(relatedEvent.start).toEqualMoment('2014-05-11')
- expect(relatedEvent.end).toEqualMoment('2014-05-13')
- })
- })
- it('should accept moments that have unnormalized start/end', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01T06:00:00', end: '2014-05-03T06:00:00', allDay: false, className: 'mainEvent' },
- { id: '1', start: '2014-05-10T06:00:00', end: '2014-05-13T06:00:00', allDay: false, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.start = '2014-05-02T06:00:00' // move by 1 day
- event.end = '2014-05-05T06:00:00' // increase duration by 1 day
- currentCalendar.updateEvent(event)
- event = getMainEvent()
- expect(event.allDay).toEqual(false)
- expect(moment.isMoment(event.start)).toEqual(true)
- expect(event.start).toEqualMoment('2014-05-02T06:00:00')
- expect(moment.isMoment(event.end)).toEqual(true)
- expect(event.end).toEqualMoment('2014-05-05T06:00:00')
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.allDay).toEqual(false)
- expect(moment.isMoment(relatedEvent.start)).toEqual(true)
- expect(relatedEvent.start).toEqualMoment('2014-05-11T06:00:00')
- expect(moment.isMoment(relatedEvent.end)).toEqual(true)
- expect(relatedEvent.end).toEqualMoment('2014-05-15T06:00:00')
- })
- it('should copy color-related properties to related events', function() {
- var event, relatedEvent
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01', end: '2014-05-03', allDay: true, className: 'mainEvent' },
- { id: '1', start: '2014-05-10', end: '2014-05-13', allDay: true, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.color = 'red'
- currentCalendar.updateEvent(event)
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.color).toBe('red')
- })
- it('should copy non-standard properties to related events', function() {
- var event, relatedEvent
- var specialObj = {}
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01', end: '2014-05-03', allDay: true, className: 'mainEvent' },
- { id: '1', start: '2014-05-10', end: '2014-05-13', allDay: true, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.someForeignKey = '123'
- event.myObj = specialObj
- currentCalendar.updateEvent(event)
- relatedEvent = getRelatedEvent()
- expect(relatedEvent.someForeignKey).toBe('123')
- expect(relatedEvent.myObj).toBe(specialObj)
- })
- function whenMovingStart(should) {
- describe('when moving an timed event\'s start', function() {
- beforeEach(function() {
- var event
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01T06:00:00+05:00', end: '2014-05-03T06:00:00+05:00', allDay: false, className: 'mainEvent' },
- { id: '1', start: '2014-05-11T06:00:00+05:00', end: '2014-05-13T06:00:00+05:00', allDay: false, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.start.add(2, 'hours')
- currentCalendar.updateEvent(event)
- })
- should()
- })
- }
- function whenMovingEnd(should) {
- describe('when moving a timed event\'s end', function() {
- beforeEach(function() {
- var event
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01T06:00:00+05:00', end: '2014-05-03T06:00:00+05:00', allDay: false, className: 'mainEvent' },
- { id: '1', start: '2014-05-11T06:00:00+05:00', end: '2014-05-13T06:00:00+05:00', allDay: false, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.end.add(2, 'hours')
- currentCalendar.updateEvent(event)
- })
- should()
- })
- }
- function whenMovingToTimed(should) {
- describe('when moving an all-day event to timed', function() {
- beforeEach(function() {
- var event
- initCalendar({
- events: [
- { id: '1', start: '2014-05-01', end: '2014-05-03', allDay: true, className: 'mainEvent' },
- { id: '1', start: '2014-05-11', end: '2014-05-13', allDay: true, className: 'relatedEvent' }
- ]
- })
- event = getMainEvent()
- event.allDay = false
- currentCalendar.updateEvent(event)
- })
- should()
- })
- }
- function shouldBeAmbiguouslyZoned() {
- it('should make the events ambiguously zoned', function() {
- var event = getMainEvent()
- var relatedEvent = getRelatedEvent()
- expect(event.start.hasZone()).toEqual(false)
- if (event.end) {
- expect(event.end.hasZone()).toEqual(false)
- }
- expect(relatedEvent.start.hasZone()).toEqual(false)
- if (relatedEvent.end) {
- expect(relatedEvent.end.hasZone()).toEqual(false)
- }
- })
- }
- function shouldBeLocal() {
- it('should make the events local', function() {
- var event = getMainEvent()
- var relatedEvent = getRelatedEvent()
- expect(event.start.hasZone()).toEqual(true)
- expect(event.start._isUTC).toEqual(false)
- if (event.end) {
- expect(event.end.hasZone()).toEqual(true)
- expect(event.end._isUTC).toEqual(false)
- }
- expect(relatedEvent.start.hasZone()).toEqual(true)
- expect(relatedEvent.start._isUTC).toEqual(false)
- if (relatedEvent.end) {
- expect(relatedEvent.end.hasZone()).toEqual(true)
- expect(relatedEvent.end._isUTC).toEqual(false)
- }
- })
- }
- function shouldBeUTC() {
- it('should make the events UTC', function() {
- var event = getMainEvent()
- var relatedEvent = getRelatedEvent()
- expect(event.start.hasZone()).toEqual(true)
- expect(event.start._isUTC).toEqual(true)
- if (event.end) {
- expect(event.end.hasZone()).toEqual(true)
- expect(event.end._isUTC).toEqual(true)
- }
- expect(event.start.hasZone()).toEqual(true)
- expect(event.start._isUTC).toEqual(true)
- if (relatedEvent.end) {
- expect(relatedEvent.end.hasZone()).toEqual(true)
- expect(relatedEvent.end._isUTC).toEqual(true)
- }
- })
- }
- describe('when calendar has no timezone', function() {
- pushOptions({
- timezone: false
- })
- whenMovingStart(shouldBeAmbiguouslyZoned)
- whenMovingEnd(shouldBeAmbiguouslyZoned)
- whenMovingToTimed(shouldBeAmbiguouslyZoned)
- })
- describe('when calendar has a local timezone', function() {
- pushOptions({
- timezone: 'local'
- })
- whenMovingStart(shouldBeLocal)
- whenMovingEnd(shouldBeLocal)
- whenMovingToTimed(shouldBeLocal)
- })
- describe('when calendar has a UTC timezone', function() {
- pushOptions({
- timezone: 'UTC'
- })
- whenMovingStart(shouldBeUTC)
- whenMovingEnd(shouldBeUTC)
- whenMovingToTimed(shouldBeUTC)
- })
- describe('when calendar has a custom timezone', function() {
- pushOptions({
- timezone: 'America/Chicago'
- })
- whenMovingStart(shouldBeAmbiguouslyZoned)
- whenMovingEnd(shouldBeAmbiguouslyZoned)
- whenMovingToTimed(shouldBeAmbiguouslyZoned)
- })
- })
|