Esempio n. 1
0
class ProposalObjectTest(TestCase):
    fixtures = ['user.json']

    def setUp(self):
        self.user = User.objects.first()
        self.event = Event(**EVENT_DATA)
        self.proposal = Proposal(**PROPOSAL_DATA)
        self.vote = Vote(user_id=self.event.author_id,
                         proposal=self.proposal, rate=3)

    def test_assert_proposal_unicode_representation(self):
        self.assertEquals(u'Python For Zombies', unicode(self.proposal))

    def test_assert_proposal_title(self):
        self.assertEquals(u'Python For Zombies', self.proposal.title)

    def test_assert_proposal_description(self):
        self.assertEquals(u'Brain...', self.proposal.description)

    def test_assert_proposal_author(self):
        self.assertEquals(1, self.proposal.author_id)

    def test_assert_proposal_rate(self):
        self.assertEquals(0, self.proposal.rate)

    def test_assert_user_cannot_vote_multiple_times(self):
        self.event.save()
        self.proposal.event = self.event
        self.proposal.author = User.objects.get(id=2)
        self.proposal.save()
        self.vote.proposal = self.proposal
        self.vote.save()

        self.assertTrue(self.proposal.user_already_votted(self.user))