コード例 #1
0
ファイル: test_models.py プロジェクト: OgawaTaiki/RankingApp
    def test_update_data(self, mock_get_base):
        """
        # start_dateよりも古いツイートを取得できないかのテストはまだかけていない
        tweet_idが1〜50のものを持っている状態で、更新データとして、tweet_idが1〜100の
        ツイートを取得したときのテスト
        """
        mock_get_base.side_effect = response_data_mock

        ja_tz = timezone('Asia/Tokyo')
        start_time = datetime(2020, 4, 1, tzinfo=ja_tz)
        twitter_user = factory.TwitterUserFactory(content=self.content)
        for tweet_id in range(0, 50):
            tweet = factory.TweetFactory(twitter_user=twitter_user,
                                         tweet_id=str(tweet_id),
                                         tweet_date=start_time)
            factory.TweetCountFactory(tweet=tweet,
                                      retweet_count=10,
                                      favorite_count=10)
        twitter_user.loads_tweet()
        before_tweet_count = twitter_user.tweet_set.all().count()

        TwitterApi().update_data(self.content)

        updated_twitter_user = TwitterUser.objects.get(pk=twitter_user.pk)
        after_tweet_count = updated_twitter_user.tweet_set.all().count()
        updated_tweet = updated_twitter_user.tweet_set.get(tweet_id=1)
        self.assertNotEqual(twitter_user.name, updated_twitter_user.name)
        self.assertEqual(updated_twitter_user.all_tweet_count,
                         after_tweet_count)
        self.assertGreater(after_tweet_count, before_tweet_count)
        self.assertGreater(updated_twitter_user.all_retweet_count, 500)
        self.assertGreater(updated_twitter_user.all_favorite_count, 500)
        self.assertEqual(updated_tweet.tweetcount_set.all().count(), 2)
コード例 #2
0
ファイル: test_models.py プロジェクト: OgawaTaiki/RankingApp
 def create_content_twitter_tweet_tweetcount(category, retweet=10):
     content = factory.ContentFactory(category=category)
     twitter_user = factory.TwitterUserFactory(content=content)
     for num in range(50):
         tweet = factory.TweetFactory(twitter_user=twitter_user)
         factory.TweetCountFactory(tweet=tweet,
                                   retweet_count=retweet,
                                   favorite_count=20)
     twitter_user.loads_tweet()
     return content
コード例 #3
0
ファイル: test_models.py プロジェクト: OgawaTaiki/RankingApp
    def test_appraise(self):
        content = factory.ContentFactory()
        twitter_user = factory.TwitterUserFactory(content=content)
        for num in range(50):
            tweet = factory.TweetFactory(tweet_id=str(num),
                                         twitter_user=twitter_user)
            factory.TweetCountFactory(tweet=tweet,
                                      retweet_count=10,
                                      favorite_count=20)
        twitter_user.loads_tweet()

        self.assertEqual(content.appraise(), 0.40)
コード例 #4
0
ファイル: test_models.py プロジェクト: OgawaTaiki/RankingApp
 def test_favorite_avg(self):
     """
     twitter_userにツイートの情報を反映するためにはloads_tweetメソッドが必要。
     """
     for num in range(10):
         tweet = factory.TweetFactory(tweet_id=str(num),
                                      twitter_user=self.twitter_user)
         factory.TweetCountFactory(tweet=tweet,
                                   retweet_count=10,
                                   favorite_count=5)
     self.assertEqual(self.twitter_user.favorite_avg(), 0)
     self.twitter_user.loads_tweet()
     self.assertEqual(self.twitter_user.favorite_avg(), 5)