예제 #1
0
 def test_handle_updateevents(self):
     # Make sure test datastore is empty
     self.assertEqual(Users.all().count(), 0)
     # Now add a user for testing
     user = Users(facebook_id="123456",                     
                  facebook_token="blahblahtoken",
                  google_token="herpderptoken",
                  locale="en_GB",
                  status='Test user status.',
                  event_cal=calendars[2]['link'])
     user.put()
     # Make sure the test entry is in
     self.assertEqual(Users.all().count(), 1)
     # Mock list_calendars
     list_calendars = calenderp.list_calendars = Mock()
     list_calendars.return_value = calendars
     # Mock update_data (This function needs proper testing elsewhere!)
     update_data = calenderp.update_data = Mock()
     update_data.return_value = "some data"
     # Setup a translator
     l = calenderp.translator(user.locale)
     # Test it with a known calendar
     task = {'time-difference': None, 'calendar': calendars[2]['link']}
     result = calenderp.handle_updateevents(task, None, 
                                            "herpderptoken", l)
     #self.assertEqual(self.query_count, 2)
     self.assertEqual(result, 'some data')
     # Test it by looking up calendar in datastore
     task = {'time-difference': None}
     result = calenderp.handle_updateevents(task, None, 
                                            "herpderptoken", l)
     self.assertEqual(result, 'some data')
     # Test it by looking up calendar by description
     user.event_cal = None
     user.put()
     task = {'time-difference': None}
     result = calenderp.handle_updateevents(task, None, 
                                            "herpderptoken", l)
     # Todo - query_count is returning 0 always, figure that out and use it
     # self.assertEqual(self.query_count, 2)
     self.assertEqual(result, 'some data')
     # Test it with no avaliable calendar
     list_calendars.return_value = []
     task = {'time-difference': None}
     result = calenderp.handle_updateevents(task, None, 
                                            "herpderptoken", l)
     self.assertEqual('insert-calendar', result[0]['type'])
     self.assertEqual('Events', result[0]['title'])