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())
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()
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()
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()