コード例 #1
0
ファイル: test_view.py プロジェクト: jrgrafton/tweet-debate
    def test_view_tasks_twitter_stream_listener_process_retweet_from_screename(self):
        load_fixture("tests/states.json", kind={"State": State})
        load_fixture("tests/questions.json", kind={"Question": Question, "State": State})
        twitter_stream_listener = TwitterStreamListener()
        current_question = Question.get_current_question()

        # Invalid retweet id
        twitter_stream_listener.process_retweet_from_screename(
            current_question,
            -1,
            "jrgrafton",
            "https://pbs.twimg.com// \
                                            profile_images//440698495// \
                                            9929_128442162134_504357134_ \
                                            2556732_5649977_n_bigger.jpg",
        )
        users = User.get_all()
        assert len(users) == 0

        # Valid retweet id - new user
        twitter_stream_listener.process_retweet_from_screename(
            current_question,
            current_question.twitterid,
            "jrgrafton",
            "https://pbs.twimg.com// \
                                            profile_images//440698495// \
                                            9929_128442162134_504357134_ \
                                            2556732_5649977_n_bigger.jpg",
        )
        users = User.get_all()
        assert len(users) == 1
        assert users[0].sway_points == User.get_starting_sway_points() + sway_points_backend["rewteet_poll"]
        assert "https" in users[0].profile_image_url

        # Ensure no extra sway given for retweet
        twitter_stream_listener.process_retweet_from_screename(
            current_question,
            current_question.twitterid,
            "jrgrafton",
            "https://pbs.twimg.com// \
                                            profile_images//440698495// \
                                            9929_128442162134_504357134_ \
                                            2556732_5649977_n_bigger.jpg",
        )
        users = User.get_all()
        assert len(users) == 1
        assert users[0].sway_points == User.get_starting_sway_points() + sway_points_backend["rewteet_poll"]

        # Test existing user reweet
        user = User(userid="jrgrafton2", sway_points=30)
        user.put()

        # Valid retweet id - new user
        twitter_stream_listener.process_retweet_from_screename(
            current_question,
            current_question.twitterid,
            "jrgrafton2",
            "https://pbs.twimg.com// \
                                            profile_images//440698495// \
                                            9929_128442162134_504357134_ \
                                            2556732_5649977_n_bigger.jpg",
        )
        users = User.get_all()
        assert len(users) == 2
        assert users[1].sway_points == 30 + sway_points_backend["rewteet_poll"]