def test_can_not_create_comment_without_suggestion(self):
     """
     Test to check that an integrity error will be thrown if there
     is an attempt to save a Comment without providing a suggestion
     """
     with self.assertRaises(IntegrityError):
         random_user = choice(User.objects.all())
         without_suggestion = Comment(user=random_user)
         without_suggestion.save()
    def test_comment_objects_default_correctly(self):
        """
        Test to check that when creating a comment object, admin_page_comment defaults
        to False, and date_time defaults to the current date and time
        """
        random_user = choice(User.objects.all())
        random_suggestion = choice(Suggestion.objects.all())
        new_comment = Comment(user=random_user, suggestion=random_suggestion)
        new_comment.save()

        self.assertEqual(str(new_comment.admin_page_comment), "False")
        self.assertEqual(new_comment.date_time.date(), datetime.date.today())
Пример #3
0
    def test_can_return_admin_page_comments_only(self):
        """
        Test to check that return_admin_suggestion_comments
        returns admin page comments only
        """
        random_suggestion = choice(Suggestion.objects.all())
        random_user = choice(User.objects.all())
        admin_comment_count = 0
        for i in range(10):
            random_boolean = choice([True, False])
            suggestion_comment = Comment(suggestion=random_suggestion, user=random_user,
                                         admin_page_comment=random_boolean)
            suggestion_comment.save()
            if random_boolean == True:
                admin_comment_count += 1

        admin_comments = return_admin_suggestion_comments(random_suggestion)
        self.assertEqual(admin_comment_count, len(admin_comments))
        for comment in admin_comments:
            self.assertTrue(comment.admin_page_comment)
    def setUpTestData(cls):
        user_1 = User(username="******")
        user_1.save()
        user_2 = User(username="******", email="*****@*****.**")
        user_2.save()

        suggestion_1 = Suggestion(is_feature=True, user=user_1, title="Test Suggestion 1", details="Any old details",
                                  delay_submission=False)
        suggestion_1.save()
        suggestion_2 = Suggestion(id=2, is_feature=True, user=user_2, title="Test Suggestion 2",
                                  details="Any old detials", delay_submission=True)
        suggestion_2.save()
        suggestion_3 = Suggestion(is_feature=False, user=user_2, title="Test Suggestion 3", details="Any old details",
                                  delay_submission=False)
        suggestion_3.save()

        comment_1 = Comment(user=user_1, suggestion=suggestion_2, comment="test comment")
        comment_1.save()
        comment_2 = Comment(user=user_2, suggestion=suggestion_2, comment="test comment")
        comment_2.save()

        admin_page_1 = SuggestionAdminPage(suggestion=suggestion_2, current_winner=False)
        admin_page_1.save()
        admin_page_2 = SuggestionAdminPage(suggestion=suggestion_1, current_winner=False)
        admin_page_2.save()
        admin_page_3 = SuggestionAdminPage(suggestion=suggestion_3, current_winner=False)
        admin_page_3.save()

        upvote_suggestion_1_1 = Upvote(user=user_1, suggestion=suggestion_1)
        upvote_suggestion_1_1.save()
        upvote_suggestion_2_1 = Upvote(user=user_1, suggestion=suggestion_2)
        upvote_suggestion_2_1.save()
        upvote_suggestion_2_2 = Upvote(user=user_2, suggestion=suggestion_2)
        upvote_suggestion_2_2.save()
        upvote_suggestion_2_3 = Upvote(user=user_1, suggestion=suggestion_2)
        upvote_suggestion_2_3.save()
Пример #5
0
    def test_can_sort_featurez(self):
        """
        Test to check that returned features, bugs and comments
        can be sorted correctly
        """
        for i in range(10):
            random_suggestion = choice(Suggestion.objects.all())
            random_user = choice(User.objects.all())
            new_upvote = Upvote(user=random_user, suggestion=random_suggestion)
            new_upvote.save()

        for i in range(10):
            random_suggestion = choice(Suggestion.objects.all())
            random_user = choice(User.objects.all())
            new_comment = Comment(user=random_user, suggestion=random_suggestion, comment="test")
            new_comment.save()

        for i in range(15):
            random_comment = choice(Comment.objects.all())
            random_user = choice(User.objects.all())
            comment_upvote = Upvote(user=random_user, comment=random_comment)
            comment_upvote.save()

        most_upvoted_feature_first = return_current_features()
        previous_entry_upvotes = 1000
        for feature in most_upvoted_feature_first:
            self.assertTrue(feature.upvotes <= previous_entry_upvotes)
            previous_entry_upvotes = feature.upvotes

        most_upvoted_bug_first = return_all_current_bugs("-upvotes")
        previous_entry_upvotes = 1000
        for bug in most_upvoted_bug_first:
            self.assertTrue(bug.upvotes <= previous_entry_upvotes)
            previous_entry_upvotes = bug.upvotes

        most_upvoted_comment_first = return_public_suggestion_comments(choice(Suggestion.objects.all()), "-upvvotes")
        previous_entry_upvotes = 1000
        for comment in most_upvoted_comment_first:
            self.assertTrue(comment.upvotes <= previous_entry_upvotes)
            previous_entry_upvotes = comment.upvotes

        oldest_feature_first = return_current_features("oldest")
        previous_entry_date = datetime.date(2050, 1, 1)
        for feature in oldest_feature_first:
            self.assertTrue(feature.date_time.date() <= previous_entry_date)
            previous_entry_date = feature.date_time.date()

        oldest_bug_first = return_all_current_bugs("oldest")
        previous_entry_date = datetime.date(2050, 1, 1)
        for bug in oldest_bug_first:
            self.assertTrue(bug.date_time.date() <= previous_entry_date)
            previous_entry_date = bug.date_time.date()

        oldest_comment_first = return_public_suggestion_comments(choice(Suggestion.objects.all()), "oldest")
        previous_entry_date = datetime.date(2050, 1, 1)
        for comment in oldest_comment_first:
            self.assertTrue(comment.date_time.date() <= previous_entry_date)
            previous_entry_date = comment.date_time.date()

        newest_feature_first = return_current_features("newest")
        previous_entry_date = datetime.date(1990, 1, 1)
        for feature in newest_feature_first:
            self.assertTrue(feature.date_time.date() >= previous_entry_date)
            previous_entry_date = feature.date_time.date()

        newest_bug_first = return_all_current_bugs("newest")
        previous_entry_date = datetime.date(1990, 1, 1)
        for bug in newest_bug_first:
            self.assertTrue(bug.date_time.date() >= previous_entry_date)
            previous_entry_date = bug.date_time.date()

        newest_comment_first = return_public_suggestion_comments(choice(Suggestion.objects.all()), "newest")
        previous_entry_date = datetime.date(1990, 1, 1)
        for comment in newest_comment_first:
            self.assertTrue(comment.date_time.date() >= previous_entry_date)
            previous_entry_date = comment.date_time.date()
Пример #6
0
    def setUpTestData(cls):

        user_1 = User(username="******")
        user_1.save()
        user_2 = User(username="******", email="*****@*****.**")
        user_2.save()
        user_3 = User(username="******", password="******", email="*****@*****.**")
        user_3.save()

        suggestion_1 = Suggestion(is_feature=True, user=user_1, title="Test Suggestion 1", details="Any old detials",
                                  delay_submission=False)
        suggestion_1.save()
        suggestion_2 = Suggestion(is_feature=True, user=user_2, title="Test Suggestion 2", details="Any old detials",
                                  delay_submission=True)
        suggestion_2.save()
        suggestion_3 = Suggestion.objects.create(is_feature=True, user=user_2, title="Test Suggestion 3",
                                                 details="Any old detials", delay_submission=False)
        suggestion_3.save()
        suggestion_4 = Suggestion.objects.create(is_feature=True, user=user_1, title="Test Suggestion 4",
                                                 details="Any old detials", delay_submission=False)
        suggestion_4.save()
        suggestion_5 = Suggestion.objects.create(is_feature=False, user=user_1, title="Test Suggestion 4",
                                                 details="Any old detials", delay_submission=False)
        suggestion_5.save()

        comment_1 = Comment(user=user_1, suggestion=suggestion_2, comment="test comment")
        comment_1.save()
        comment_2 = Comment(user=user_2, suggestion=suggestion_2, comment="test comment")
        comment_2.save()

        admin_page_1 = SuggestionAdminPage(suggestion=suggestion_2, current_winner=False)
        admin_page_1.save()
        admin_page_2 = SuggestionAdminPage(suggestion=suggestion_1, current_winner=False)
        admin_page_2.save()
        admin_page_3 = SuggestionAdminPage(suggestion=suggestion_3, current_winner=False)
        admin_page_3.save()
        admin_page_4 = SuggestionAdminPage(suggestion=suggestion_4, current_winner=False, in_current_voting_cycle=False)
        admin_page_4.save()

        upvote_suggestion_1_1 = Upvote(user=user_1, suggestion=suggestion_1)
        upvote_suggestion_1_1.save()
        upvote_suggestion_2_1 = Upvote(user=user_1, suggestion=suggestion_2)
        upvote_suggestion_2_1.save()
        upvote_suggestion_2_2 = Upvote(user=user_2, suggestion=suggestion_2)
        upvote_suggestion_2_2.save()
        upvote_suggestion_2_3 = Upvote(user=user_1, suggestion=suggestion_2)
        upvote_suggestion_2_3.save()

        coins_purchase_1 = CoinsPurchase(name="coins purchase 1", coins_price=200)
        coins_purchase_1.save()
        coins_purchase_2 = CoinsPurchase(name="coins purchase 2", coins_price=500)
        coins_purchase_2.save()
        suggestion_coins_purchase = CoinsPurchase(name="Suggestion", coins_price=500)
        suggestion_coins_purchase.save()
        upvote_coins_purchase = CoinsPurchase(name="Upvote", coins_price=100)
        upvote_coins_purchase.save()
        promote_feature_purchase = CoinsPurchase(name="Feature Suggestion Promotion", coins_price=600)
        promote_feature_purchase.save()

        coins_store_item_500 = StoreItem(name="500 coins", price=0, delivery_required=False, is_coins=True,
                                         coins_amount=500)
        coins_store_item_500.save()