def test_long_term_tweet_canceled_event(self, mocked_tweet_event_function): event1 = Event.objects.get(id=7) event1.canceled = True event1.save() # tweet of first event twitter.tweet_upcoming_longterm_events() self.assertEquals(1, mocked_tweet_event_function.call_count) self.assertTrue(mocked_tweet_event_function.call_args[0][0].startswith('[Abgesagt] '), 'Tweet must start with [Abgesagt]') mocked_tweet_event_function.reset_mock() # no more tweets twitter.tweet_upcoming_longterm_events() self.assertFalse(mocked_tweet_event_function.called)
def test_long_term_tweet_and_marked_as_tweeted(self, mocked_tweet_event_function): tweets = [] # 1st call: one event is tweeted and marked twitter.tweet_upcoming_longterm_events() self.assertEquals(1, mocked_tweet_event_function.call_count) self.assertEqual(TweetedEvent.objects.count(), 1) tweets.append(mocked_tweet_event_function.call_args[0][0]) mocked_tweet_event_function.reset_mock() # 2. call: no more upcomming event twitter.tweet_upcoming_longterm_events() self.assertFalse(mocked_tweet_event_function.called) # assert correct tweets event = Event.objects.get(id=7) self.assertIn(event.title + ' - ' + self.tomorrow_string + '-' + self.nextweek_string + ' ' + 'http://example.com', tweets)
def test_long_term_tweet_updated_event(self, mocked_tweet_event_function): # tweet events, without prefix twitter.tweet_upcoming_longterm_events() mocked_tweet_event_function.reset_mock() # hack: save without change to create a version event = Event.objects.get(id=7) event.save() # change start date, expect tweet with updated date/time event.date_time_begin = event.date_time_begin - datetime.timedelta(hours=1) event.save() twitter.tweet_upcoming_longterm_events() self.assertEquals(1, mocked_tweet_event_function.call_count) self.assertTrue(mocked_tweet_event_function.call_args[0][0].startswith('[Update][Datum] Future long term'), 'Tweet must start with [Update][Datum]') mocked_tweet_event_function.reset_mock() # change location, expect tweet with updated location event.location = Location.objects.get(id=2) event.save() twitter.tweet_upcoming_longterm_events() self.assertEquals(1, mocked_tweet_event_function.call_count) self.assertTrue(mocked_tweet_event_function.call_args[0][0].startswith('[Update][Ort] Future long term'), 'Tweet must start with [Update][Ort]') mocked_tweet_event_function.reset_mock() # cancel event, expect tweet with cancel info event.canceled = True; event.save() twitter.tweet_upcoming_longterm_events() self.assertEquals(1, mocked_tweet_event_function.call_count) self.assertTrue(mocked_tweet_event_function.call_args[0][0].startswith('[Abgesagt] Future long term'), 'Tweet must start with [Abgesagt]') mocked_tweet_event_function.reset_mock() # no more tweet twitter.tweet_upcoming_longterm_events() self.assertFalse(mocked_tweet_event_function.called)