コード例 #1
0
ファイル: test_views.py プロジェクト: TJKenney/muckrock
    def test_foia_list_user(self):
        """Test the foia-list-user view"""

        users = UserFactory.create_batch(2)
        FOIARequestFactory.create_batch(4, composer__user=users[0])
        FOIARequestFactory.create_batch(3, composer__user=users[1])

        for user in users:
            response = get_allowed(
                self.client,
                reverse('foia-list-user', kwargs={
                    'user_pk': user.pk,
                })
            )
            nose.tools.eq_(
                set(response.context['object_list']),
                set(
                    FOIARequest.objects.get_viewable(AnonymousUser())
                    .filter(composer__user=user)
                )
            )
            nose.tools.ok_(
                all(
                    foia.user == user
                    for foia in response.context['object_list']
                )
            )
コード例 #2
0
ファイル: test_models.py プロジェクト: WPMedia/muckrock
    def test_has_member(self):
        """Test has_member method"""
        org = OrganizationFactory()
        users = UserFactory.create_batch(2)
        MembershipFactory(user=users[0], organization=org)

        assert_true(org.has_member(users[0]))
        assert_false(org.has_member(users[1]))
コード例 #3
0
ファイル: test_models.py プロジェクト: WPMedia/muckrock
    def test_has_admin(self):
        """Test has_admin method"""
        org = OrganizationFactory()
        users = UserFactory.create_batch(2)
        MembershipFactory(user=users[0], organization=org, admin=True)
        MembershipFactory(user=users[1], organization=org, admin=False)

        assert_true(org.has_admin(users[0]))
        assert_false(org.has_admin(users[1]))
コード例 #4
0
    def test_get_viewable(self):
        """Get the list of viewable crowdsources for the user"""
        project = ProjectFactory()
        admin = UserFactory(is_staff=True)
        proj_user, owner, user = UserFactory.create_batch(3)
        project.contributors.add(proj_user)

        draft_crowdsource = CrowdsourceFactory(user=owner, status='draft')
        open_crowdsource = CrowdsourceFactory(user=owner, status='open')
        closed_crowdsource = CrowdsourceFactory(user=owner, status='close')
        project_crowdsource = CrowdsourceFactory(
            user=owner,
            status='open',
            project=project,
            project_only=True,
        )

        crowdsources = Crowdsource.objects.get_viewable(admin)
        assert_in(draft_crowdsource, crowdsources)
        assert_in(open_crowdsource, crowdsources)
        assert_in(closed_crowdsource, crowdsources)
        assert_in(project_crowdsource, crowdsources)

        crowdsources = Crowdsource.objects.get_viewable(proj_user)
        assert_not_in(draft_crowdsource, crowdsources)
        assert_in(open_crowdsource, crowdsources)
        assert_not_in(closed_crowdsource, crowdsources)
        assert_in(project_crowdsource, crowdsources)

        crowdsources = Crowdsource.objects.get_viewable(owner)
        assert_in(draft_crowdsource, crowdsources)
        assert_in(open_crowdsource, crowdsources)
        assert_in(closed_crowdsource, crowdsources)
        assert_in(project_crowdsource, crowdsources)

        crowdsources = Crowdsource.objects.get_viewable(user)
        assert_not_in(draft_crowdsource, crowdsources)
        assert_in(open_crowdsource, crowdsources)
        assert_not_in(closed_crowdsource, crowdsources)
        assert_not_in(project_crowdsource, crowdsources)

        crowdsources = Crowdsource.objects.get_viewable(AnonymousUser())
        assert_not_in(draft_crowdsource, crowdsources)
        assert_in(open_crowdsource, crowdsources)
        assert_not_in(closed_crowdsource, crowdsources)
        assert_not_in(project_crowdsource, crowdsources)