Beispiel #1
0
    def test_tag_form_exists(self, render):
        """
        Detail page should have a form for adding tags.
        """
        idea = models.Idea(creator=random_user(), title='AAAA', 
                state = models.State.objects.get(name='Active'))
        idea.save()

        views.detail(mock_req(), str(idea.id))
        context = render.call_args[0][2]
        self.assertTrue('tag_form' in context)
        self.assertTrue(isinstance(context['tag_form'], IdeaTagForm))
    def test_tag_form_exists(self, render):
        """
        Detail page should have a form for adding tags.
        """
        idea = models.Idea(creator=random_user(), title='AAAA',
                state = models.State.objects.get(name='Active'))
        idea.save()

        views.detail(mock_req(), str(idea.id))
        context = render.call_args[0][2]
        self.assertTrue('tag_form' in context)
        self.assertTrue(isinstance(context['tag_form'], IdeaTagForm))
Beispiel #3
0
    def test_edit_idea_tag(self):
        """
        Check that adding a new idea allows the associated tag to be
        immediately searchable.
        """
        idea = models.Idea(creator=random_user(), title='title',
                state = models.State.objects.get(name='Active'))
        idea.save()
        results = backend.SearchBackend().search('example_tag')
        self.assertEqual(0, results['hits'])

        req = RequestFactory().post('/', {'tags': 'example_tag'})
        req.user = random_user()
        views.detail(req, str(idea.id))
        results = backend.SearchBackend().search('example_tag')
        self.assertEqual(1, results['hits'])
Beispiel #4
0
    def test_edit_idea_tag(self):
        """
        Check that adding a new idea allows the associated tag to be
        immediately searchable.
        """
        idea = models.Idea(creator=random_user(),
                           title='title',
                           state=models.State.objects.get(name='Active'))
        idea.save()
        results = backend.SearchBackend().search('example_tag')
        self.assertEqual(0, results['hits'])

        req = RequestFactory().post('/', {'tags': 'example_tag'})
        req.user = random_user()
        views.detail(req, str(idea.id))
        results = backend.SearchBackend().search('example_tag')
        self.assertEqual(1, results['hits'])
    def test_idea_no_support(self, render):
        """
        Check support = False if no votes.
        """
        user = random_user()
        state = models.State.objects.get(name='Active')
        idea = models.Idea(creator=user, title='title', text='text',
                state=state)
        idea.save()

        for _ in range(7):
            models.Vote(creator=random_user(), idea=idea).save()

        views.detail(mock_req(), str(idea.id))
        context = render.call_args[0][2]
        self.assertTrue('support' in context)
        self.assertFalse(context['support'])
 def test_idea_correct(self, render):
     """
     The idea passed to the ui should be that identified by the id.
     """
     user = get_user_model().objects.create_user('example')
     state = models.State.objects.get(name='Active')
     idea1 = models.Idea(creator=user, title='title', text='text',
             state=state)
     idea2 = models.Idea(creator=user, title='title', text='text',
             state=state)
     idea1.save()
     idea2.save()
     views.detail(mock_req(), str(idea2.id))
     context = render.call_args[0][2]
     self.assertTrue('idea' in context)
     self.assertEqual(idea2.id, context['idea'].id)
     self.assertEqual(idea2.title, context['idea'].title)
    def test_tag_form_submission(self):
        """
        Detail page tag form submission should add tags.
        """
        idea = models.Idea(creator=random_user(), title='AAAA',
                state = models.State.objects.get(name='Active'))
        idea.save()
        idea.tags.add('aaa', 'bbb', 'ccc')

        req = RequestFactory().post('/', {'tags': 'DDD, EEE, ZZZ,'})
        req.user = random_user()
        views.detail(req, str(idea.id))

        idea = models.Idea.objects.get(id = idea.id)
        tags = set([tag.name for tag in idea.tags.all()])
        self.assertEqual(set(['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'zzz']),
                tags)
    def test_tag_form_submission(self):
        """
        Detail page tag form submission should add tags.
        """
        idea = models.Idea(creator=random_user(),
                           title='AAAA',
                           state=models.State.objects.get(name='Active'))
        idea.save()
        idea.tags.add('aaa', 'bbb', 'ccc')

        req = RequestFactory().post('/', {'tags': 'DDD, EEE, ZZZ,'})
        req.user = random_user()
        views.detail(req, str(idea.id))

        idea = models.Idea.objects.get(id=idea.id)
        tags = set([tag.name for tag in idea.tags.all()])
        self.assertEqual(set(['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'zzz']), tags)
Beispiel #9
0
    def test_idea_no_support(self, render):
        """
        Check support = False if no votes.
        """
        user = random_user()
        state = models.State.objects.get(name='Active')
        idea = models.Idea(creator=user, title='title', text='text',
                state=state)
        idea.save()

        for _ in range(7):
            models.Vote(creator=random_user(), idea=idea).save()

        views.detail(mock_req(), str(idea.id))
        context = render.call_args[0][2]
        self.assertTrue('support' in context)
        self.assertFalse(context['support'])
Beispiel #10
0
 def test_idea_correct(self, render):
     """
     The idea passed to the ui should be that identified by the id.
     """
     user = User.objects.create_user('example')
     state = models.State.objects.get(name='Active')
     idea1 = models.Idea(creator=user, title='title', text='text',
             state=state)
     idea2 = models.Idea(creator=user, title='title', text='text',
             state=state)
     idea1.save()
     idea2.save()
     views.detail(mock_req(), str(idea2.id))
     context = render.call_args[0][2]
     self.assertTrue('idea' in context)
     self.assertEqual(idea2.id, context['idea'].id)
     self.assertEqual(idea2.title, context['idea'].title)
Beispiel #11
0
    def test_tags(self, render):
        """
        Include a sorted list of tags for this idea.
        """
        user = random_user()
        state = models.State.objects.get(name='Active')
        idea = models.Idea(creator=user, title='title', text='text',
                state=state)
        idea.save()

        tags = [str(random.randint(11111, 99999)) for _ in range(20)]
        idea.tags.add(*tags)

        views.detail(mock_req(), str(idea.id))
        context = render.call_args[0][2]
        self.assertTrue('tags' in context)
        self.assertEqual(20, len(context['tags']))

        tags.sort()
        self.assertEqual(tags, [tag.name for tag in context['tags']])
Beispiel #12
0
    def test_tags(self, render):
        """
        Include a sorted list of tags for this idea.
        """
        user = random_user()
        state = models.State.objects.get(name='Active')
        idea = models.Idea(creator=user, title='title', text='text',
                state=state)
        idea.save()

        tags = [str(random.randint(11111, 99999)) for _ in range(20)]
        idea.tags.add(*tags)

        views.detail(mock_req(), str(idea.id))
        context = render.call_args[0][2]
        self.assertTrue('tags' in context)
        self.assertEqual(20, len(context['tags']))

        tags.sort()
        self.assertEqual(tags, [tag.name for tag in context['tags']])
Beispiel #13
0
    def test_idea_voters(self, render):
        """
        The idea passed to the ui should have the correct voters.
        """
        user = get_user_model().objects.create_user('example')
        state = models.State.objects.get(name='Active')
        idea = models.Idea(creator=user, title='title', text='text',
                state=state)
        idea.save()

        users = []
        for i in range(5):
            users.append(get_user_model().objects.create_user('example' + str(i)))
            models.Vote(creator=users[i], idea=idea).save()

        views.detail(mock_req(), str(idea.id))
        context = render.call_args[0][2]
        self.assertTrue('voters' in context)
        self.assertEqual(5, len(context['voters']))
        self.assertEqual(set([u.id for u in users]),
                set([v.id for v in context['voters']]))
Beispiel #14
0
    def test_idea_voters(self, render):
        """
        The idea passed to the ui should have the correct voters.
        """
        user = User.objects.create_user('example')
        state = models.State.objects.get(name='Active')
        idea = models.Idea(creator=user, title='title', text='text',
                state=state)
        idea.save()

        users = []
        for i in range(5):
            users.append(User.objects.create_user('example' + str(i)))
            models.Vote(creator=users[i], idea=idea).save()

        views.detail(mock_req(), str(idea.id))
        context = render.call_args[0][2]
        self.assertTrue('voters' in context)
        self.assertEqual(5, len(context['voters']))
        self.assertEqual(set([u.id for u in users]), 
                set([v.id for v in context['voters']]))