Exemplo n.º 1
0
    def test_user_submit(self):
        """ Test that the user can submit the concept """
        user1 = UserFactory.create()
        user2 = UserFactory.create()

        groupbuild = GroupBuildFactory.create(status=GroupbuildStatuses.concept)
        groupbuild.admins.add(user1, groupbuild.applicant)
        self.assertEqual(groupbuild.admins.count(), 2)

        # test that user2 cannot submit the groupbuilds
        self.client.login(username=user2.username, password='******')
        url = reverse('groupbuilds:submit', kwargs={'slug': groupbuild.slug})
        response = self.client.get(url)
        self.assertEquals(response.status_code, 404)
        self.client.logout

        self.client.login(username=user1, password='******')
        url = reverse('groupbuilds:submit', kwargs={'slug': groupbuild.slug})
        response = self.client.get(url)
        self.assertEquals(response.status_code, 200)

        response = self.client.post(url)
        self.assertEquals(response.status_code, 302)
        groupbuild = GroupBuild.objects.get(slug=groupbuild.slug)
        self.assertEquals(groupbuild.status, GroupbuildStatuses.submitted)
Exemplo n.º 2
0
    def test_email(self):
        email = '*****@*****.**'
        forum_user = ForumUserFactory(username='******', user_email=email)
        user = UserFactory(email=email, forumuser_id=forum_user.pk)
        self.assertEqual(user.email, forum_user.user_email)
        self.assertIsNotNone(user.forumuser)

        user.email = '*****@*****.**'
        user.save()
        self.assertEqual(user.email, user.forumuser.user_email)
Exemplo n.º 3
0
    def test_email(self):
        email = '*****@*****.**'
        forum_user = ForumUserFactory(username='******', user_email=email)
        user = UserFactory(email=email, forumuser_id=forum_user.pk)
        self.assertEqual(user.email, forum_user.user_email)
        self.assertIsNotNone(user.forumuser)

        user.email = '*****@*****.**'
        user.save()
        self.assertEqual(user.email, user.forumuser.user_email)
Exemplo n.º 4
0
    def test_lookup_user(self):
        """
        In case that no forum user ID was set on the user, try to look up the
        forum user by name.
        """
        email = '*****@*****.**'
        forum_user = ForumUserFactory(username='******', user_email=email)
        user = UserFactory(username='******', email=email)
        self.assertEqual(user.forumuser, forum_user)

        # test with non-existant forum user
        user2 = UserFactory(username='******')
        self.assertIsNone(user2.forumuser)
Exemplo n.º 5
0
    def test_preferences_cache(self):
        user = UserFactory.create()

        # log the user in
        self.client.login(username=user.username, password='******')
        self.assertEqual(Preferences.objects.filter(user=user).count(), 0)

        cache_key = 'album-preferences:%d' % user.id

        # make sure the cache is empty
        prefs = cache.get(cache_key)
        self.assertIsNone(prefs)

        # ok, get the preferences now
        prefs = Preferences.objects.get_for(user)
        self.assertTrue(isinstance(prefs, dict))

        cached_prefs = cache.get(cache_key)
        self.assertEqual(cached_prefs, prefs)

        # change preferences, make sure the cache is updated
        prefs_obj = Preferences.objects.get(user=user)
        prefs_obj.auto_start_uploading = True
        prefs_obj.save()

        cached_prefs = cache.get(cache_key)
        self.assertEqual(cached_prefs['auto_start_uploading'],
                         prefs_obj.auto_start_uploading)
Exemplo n.º 6
0
    def setUp(self):
        self.user = UserFactory.create()
        self.user2 = UserFactory.create()

        # mock request
        _request = HttpRequest()
        _request.user = self.user

        self.gb_data = {  # minimal data for form
            'theme': u'Pokemon',
            'category': ForumCategoryFactory.create().id,
            'description': 'Gotta catch \'em all!',
            'admins': [self.user.id, self.user2.id],
            'duration': 92,
        }
        self.create_form = GroupBuildForm(_request, data=self.gb_data)
Exemplo n.º 7
0
    def test_limit_authenticated_user(self):
        """ Test that the limit per user is respected (user authenticated)"""
        user = UserFactory.create()

        # create one model belonging to self.competition
        ShowCasedModelFactory.create(owner=user, competition=self.competition, is_competitor=True)
        self.assertEqual(self.competition.showcasedmodel_set.all().count(), 1)

        # try to add a new one, add the user to the form data
        self.form_data['owner'] = user.pk
        form = ShowCasedModelSignUpForm(competition=self.competition, data=self.form_data)
        self.assertFalse(form.is_valid())
        self.assertIsNotNone(form.errors.get('__all__'))
Exemplo n.º 8
0
    def test_limit_authenticated_user(self):
        """ Test that the limit per user is respected (user authenticated)"""
        user = UserFactory.create()

        # create one model belonging to self.competition
        ShowCasedModelFactory.create(owner=user,
                                     competition=self.competition,
                                     is_competitor=True)
        self.assertEqual(self.competition.showcasedmodel_set.all().count(), 1)

        # try to add a new one, add the user to the form data
        self.form_data['owner'] = user.pk
        form = ShowCasedModelSignUpForm(competition=self.competition,
                                        data=self.form_data)
        self.assertFalse(form.is_valid())
        self.assertIsNotNone(form.errors.get('__all__'))
Exemplo n.º 9
0
    def test_user_can_see_administrated_detail(self):
        """ GB admins must be able to (pre)view the detail page of a GB """
        # create groupbuild with not publicly visible status
        groupbuild = GroupBuildFactory(status=GroupbuildStatuses.denied)
        self.assertNotIn(groupbuild, GroupBuild.public.all())

        user = UserFactory(username='******', password='******')
        groupbuild.admins.add(user)

        # response = self.client.get(groupbuild.get_absolute_url())
        # self.assertEqual(response.status_code, 404)

        # log in
        self.client.login(username='******', password='******')
        response = self.client.get(groupbuild.get_absolute_url())
        self.assertEqual(response.status_code, 200)
Exemplo n.º 10
0
    def test_dashboard(self):
        """ Test that the correct groupbuilds are visible in the dashboard """
        url = reverse('groupbuilds:dashboard')

        user = UserFactory.create()
        gb = GroupBuildFactory.create(
            applicant=user,
            status=GroupbuildStatuses.concept,
            reason_denied='My valid reason',
        )
        gb.admins.add(user)

        participant = ParticipantFactory.create(user=user, groupbuild__status=GroupbuildStatuses.accepted)

        dashboard = self.app.get(url)
        self.assertRedirects(dashboard, settings.LOGIN_URL+u'?next={}'.format(url))

        dashboard = self.app.get(url, user=user)
        self.assertEqual(dashboard.status_code, 200)
        qs = dashboard.context['view'].get_queryset()
        self.assertQuerysetEqual(qs, [repr(gb), repr(participant.groupbuild)], ordered=False)
Exemplo n.º 11
0
    def test_detail_page(self):
        gb = GroupBuildFactory.create()
        gb.admins.add(gb.applicant)
        url = gb.get_absolute_url()

        # anonymous user
        response = self.app.get(url)
        self.assertEquals(response.status_code, 200)
        self.assertIn(gb.theme, response)
        self.assertFalse(response.context['can_edit'])

        # login as owner user
        response = self.app.get(url, user=gb.applicant)
        self.assertEquals(response.status_code, 200)
        self.assertTrue(response.context['can_edit'])

        # and as superuser
        superuser = UserFactory.create(is_staff=True, is_superuser=True)
        response = self.app.get(url, user=superuser)
        self.assertEquals(response.status_code, 200)
        self.assertTrue(response.context['can_edit'])
Exemplo n.º 12
0
 def setUp(self):
     super(ProfileTests, self).setUp()
     self.user = UserFactory.create()
Exemplo n.º 13
0
 def setUp(self):
     self.user = UserFactory.create()
Exemplo n.º 14
0
 def setUp(self):
     self.user = UserFactory.create()