def testUpdateRanking(self): user1 = User(name="test1", email="*****@*****.**", password="******") user1.put() user2 = User(name="test2", email="*****@*****.**", password="******") user2.put() user3 = User(name="test3", email="*****@*****.**", password="******") user3.put() ranking_json = '{"title": "ranking", "itemNames": ["item1", "item2", "item3"], "itemContents": ["content1", "content2", "content3"], "ranks": [0, 1, 2]}' ranking_form = RankingForm(ranking_json) ranking = Ranking.create(user1, ranking_form) self.assertEqual(ranking.number_of_votes, 1) vote2 = Vote(parent=ranking, user=user2, ranks=[2,1,0]) vote2.put() ranking.update(vote2) self.assertEqual(ranking.number_of_votes, 2) vote3 = Vote(parent=ranking, user=user3, ranks=[2,1,0]) vote3.put() ranking.update(vote3) self.assertEqual(ranking.number_of_votes, 3) self.assertListEqual(ranking.get_ranks(), [[0, 1, 2], [2, 1, 0], [2, 1, 0]]) self.assertListEqual(ranking.ranks, [2, 1, 0]) self.assertEqual(ranking.user, user1) self.assertListEqual([user.key() for user in ranking.get_users()], [user.key() for user in User.all()]) self.assertTrue(ranking.is_sorted_by(user1), "Ranking should be sorted by user") self.assertTrue(ranking.is_sorted_by(user2), "Ranking should be sorted by user") self.assertTrue(ranking.is_sorted_by(user3), "Ranking should be sorted by user")
def testLike(self): user = User(name="test1", email="*****@*****.**", password="******") user.put() ranking_json = '{"title": "ranking", "itemNames": ["item1", "item2", "item3"], "itemContents": ["content1", "content2", "content3"], "ranks": [0, 1, 2]}' ranking_form = RankingForm(ranking_json) ranking = Ranking.create(user, ranking_form) self.assertEqual(ranking.number_of_likes, 0) ranking.like(user) self.assertEqual(ranking.number_of_likes, 1) ranking.like(user) self.assertEqual(ranking.number_of_likes, 0)
def testCreateRanking(self): name = "test" email ="*****@*****.**" user = User(name=name, email=email, password="******") user.put() ranking_json = '{"title": "ranking", "itemNames": ["item1", "item2", "item3"], "itemContents": ["content1", "content2", "content3"], "ranks": [0, 1, 2]}' ranking_form = RankingForm(ranking_json) ranking = Ranking.create(user, ranking_form) votes = user.rankings.fetch(10) self.assertEqual(len(votes), 1) self.assertListEqual(ranking.get_ranks(), [[0, 1, 2]]) items = ranking.get_items() self.assertEqual(len(items), 3) self.assertTrue(ranking.is_sorted_by(user), "Ranking should be sorted by user")
def post(self): user = self.get_current_user() ranking_form = RankingForm(self.request.get('ranking')) ranking = Ranking.create(user, ranking_form) time.sleep(0.2) self.redirect("/ranking/" + str(ranking.get_id()))