_ = require 'underscore' {Event, Actions, APIError, EventRSVPTask, DatabaseStore, DatabaseWriter, AccountStore} = require 'nylas-exports' xdescribe "EventRSVPTask", -> beforeEach -> spyOn(DatabaseStore, 'find').andCallFake => Promise.resolve(@event) spyOn(DatabaseWriter.prototype, 'persistModel').andCallFake -> Promise.resolve() @myName = "Ben Tester" @myEmail = "tester@nylas.com" @event = new Event id: '12233AEDF5' accountId: TEST_ACCOUNT_ID title: 'Meeting with Ben Bitdiddle' description: '' location: '' when: end_time: 1408123800 start_time: 1408120200 start: 1408120200 end: 1408123800 participants: [ {"name": "Ben Bitdiddle", "email": "ben@bitdiddle.com", "status": "yes"}, {"name": @myName, "email": @myEmail, "status": 'noreply'} ] @task = new EventRSVPTask(@event, @myEmail, "no") describe "performLocal", -> it "should mark our status as no", -> @task.performLocal() advanceClock() expect(@event.participants[1].status).toBe "no" it "should trigger an action to persist the change", -> @task.performLocal() advanceClock() expect(DatabaseWriter.prototype.persistModel).toHaveBeenCalled()