def test_vote_constraints(self): first_vote = Vote() first_vote.idea_id = 1 first_vote.user_id = 1 first_vote.value = 1 second_vote = Vote() second_vote.idea_id = 1 second_vote.user_id = 1 second_vote.value = -1 self.addModel(first_vote) with self.assertRaises(IntegrityError): self.addModel(second_vote)
def addVotes(self, ideas): votes = [] for i in range(20): vote = Vote() vote.value = random.choice([-1, 1]) vote.idea_id = ideas[randint(0, 14)].id self.addModel(vote) votes.append(vote) return votes
def init_votes(): queried_users = db.session.query(User).filter(User.name.in_(users)).all() queried_ideas = db.session.query(Idea).all() print('creating votes and events for users.') for user in queried_users: for idea in queried_ideas: if random.choice([True, False]): vote = Vote() vote.value = random.choice([-1, 1]) vote.idea_id = idea.id vote.user_id = user.id db.session.add(vote) db.session.commit() init_event(vote)
def test_check_vote_event(self): self.addModel(self.testUser) self.testIdea.user_id = self.testUser.id self.addModel(self.testIdea) for i in range(10): user = User() user.username = str(i) user.email = '{}@mail.com'.format(i) self.addModel(user) vote = Vote() vote.idea_id = self.testIdea.id vote.user_id = user.id vote.value = 1 self.addModel(vote) check_vote_event(vote) if i == 5: self.assertEqual(EventType.upvotes, Event.query.first().type) elif i == 10: self.assertEqual(EventType.votes, Event.query.first().type)