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'])