Esempio n. 1
0
    def test_projects(self):
        """Test bulk add to projects"""
        user = UserFactory()
        foia = FOIARequestFactory(composer__user=user)
        proj = ProjectFactory()
        proj.contributors.add(user)

        MyRequestList()._project(FOIARequest.objects.filter(pk=foia.pk), user,
                                 {"projects": [proj.pk]})

        foia.refresh_from_db()

        assert_in(proj, foia.projects.all())
Esempio n. 2
0
    def test_extend_embargo(self):
        """Test bulk embargo extending"""
        tomorrow = date.today() + timedelta(1)
        next_month = date.today() + timedelta(30)
        user = UserFactory(profile__acct_type='pro')
        other_foia = FOIARequestFactory()
        public_foia = FOIARequestFactory(
            composer__user=user,
            embargo=False,
            status='ack',
        )
        embargo_foia = FOIARequestFactory(
            composer__user=user,
            embargo=True,
            status='ack',
        )
        embargo_done_foia = FOIARequestFactory(
            composer__user=user,
            embargo=True,
            status='done',
            date_embargo=tomorrow,
        )

        MyRequestList()._extend_embargo(
            FOIARequest.objects.filter(
                pk__in=[
                    other_foia.pk,
                    public_foia.pk,
                    embargo_foia.pk,
                    embargo_done_foia.pk,
                ]
            ),
            user,
            {},
        )

        other_foia.refresh_from_db()
        public_foia.refresh_from_db()
        embargo_foia.refresh_from_db()
        embargo_done_foia.refresh_from_db()

        assert_false(other_foia.embargo)
        ok_(public_foia.embargo)
        assert_is_none(public_foia.date_embargo)
        ok_(embargo_foia.embargo)
        assert_is_none(embargo_foia.date_embargo)
        ok_(embargo_done_foia.embargo)
        eq_(embargo_done_foia.date_embargo, next_month)
Esempio n. 3
0
    def test_perm_embargo(self):
        """Test bulk permanent embargo"""
        tomorrow = date.today() + timedelta(1)
        user = UserFactory(profile__acct_type='admin')
        other_foia = FOIARequestFactory()
        public_foia = FOIARequestFactory(
            composer__user=user,
            embargo=False,
            status='ack',
        )
        embargo_foia = FOIARequestFactory(
            composer__user=user,
            embargo=True,
            status='ack',
        )
        embargo_done_foia = FOIARequestFactory(
            composer__user=user,
            embargo=True,
            status='done',
            date_embargo=tomorrow,
        )

        MyRequestList()._perm_embargo(
            FOIARequest.objects.filter(
                pk__in=[
                    other_foia.pk,
                    public_foia.pk,
                    embargo_foia.pk,
                    embargo_done_foia.pk,
                ]
            ),
            user,
            {},
        )

        other_foia.refresh_from_db()
        public_foia.refresh_from_db()
        embargo_foia.refresh_from_db()
        embargo_done_foia.refresh_from_db()

        assert_false(other_foia.embargo)
        ok_(public_foia.embargo)
        assert_false(public_foia.permanent_embargo)
        ok_(embargo_foia.embargo)
        assert_false(embargo_foia.permanent_embargo)
        ok_(embargo_done_foia.embargo)
        ok_(embargo_done_foia.permanent_embargo)
Esempio n. 4
0
    def test_share(self):
        """Test bulk sharing"""
        user = UserFactory()
        share_user = UserFactory()
        foia = FOIARequestFactory(composer__user=user)

        MyRequestList()._share(
            FOIARequest.objects.filter(pk=foia.pk),
            user,
            {'access': 'edit',
             'users': [share_user.pk]},
        )

        foia.refresh_from_db()

        assert_in(share_user, foia.edit_collaborators.all())
        assert_not_in(share_user, foia.read_collaborators.all())
Esempio n. 5
0
    def test_tags(self):
        """Test bulk add tags"""
        user = UserFactory()
        foia = FOIARequestFactory(composer__user=user)

        MyRequestList()._tags(
            FOIARequest.objects.filter(pk=foia.pk),
            user,
            {'tags': 'red, blue'},
        )

        foia.refresh_from_db()

        tags = [t.name for t in foia.tags.all()]

        assert_in('red', tags)
        assert_in('blue', tags)
Esempio n. 6
0
    def test_autofollowup_off(self):
        """Test bulk autofollowup disabling"""
        user = UserFactory()
        on_foia = FOIARequestFactory(composer__user=user,
                                     disable_autofollowups=False)
        off_foia = FOIARequestFactory(composer__user=user,
                                      disable_autofollowups=True)

        MyRequestList()._autofollowup_off(
            FOIARequest.objects.filter(pk__in=[on_foia.pk, off_foia.pk]), user,
            {})

        on_foia.refresh_from_db()
        off_foia.refresh_from_db()

        ok_(on_foia.disable_autofollowups)
        ok_(off_foia.disable_autofollowups)
Esempio n. 7
0
    def test_tags(self):
        """Test bulk add tags"""
        user = UserFactory()
        foia = FOIARequestFactory(composer__user=user)

        MyRequestList()._tags(
            FOIARequest.objects.filter(pk=foia.pk),
            user,
            QueryDict("tags=red&tags=blue"),
        )

        foia.refresh_from_db()

        tags = [t.name for t in foia.tags.all()]

        assert_in("red", tags)
        assert_in("blue", tags)
Esempio n. 8
0
    def test_remove_embargo(self):
        """Test bulk embargo removing"""
        tomorrow = date.today() + timedelta(1)
        user = ProfessionalUserFactory()
        other_foia = FOIARequestFactory()
        public_foia = FOIARequestFactory(
            composer__user=user,
            embargo=False,
            status='ack',
        )
        embargo_foia = FOIARequestFactory(
            composer__user=user,
            embargo=True,
            status='ack',
        )
        embargo_done_foia = FOIARequestFactory(
            composer__user=user,
            embargo=True,
            status='done',
            date_embargo=tomorrow,
        )

        MyRequestList()._remove_embargo(
            FOIARequest.objects.filter(pk__in=[
                other_foia.pk,
                public_foia.pk,
                embargo_foia.pk,
                embargo_done_foia.pk,
            ]),
            user,
            {},
        )

        other_foia.refresh_from_db()
        public_foia.refresh_from_db()
        embargo_foia.refresh_from_db()
        embargo_done_foia.refresh_from_db()

        assert_false(other_foia.embargo)
        assert_false(public_foia.embargo)
        assert_false(embargo_foia.embargo)
        assert_false(embargo_done_foia.embargo)
Esempio n. 9
0
    def test_perm_embargo(self):
        """Test bulk permanent embargo"""
        tomorrow = date.today() + timedelta(1)
        user = OrganizationUserFactory()
        other_foia = FOIARequestFactory()
        public_foia = FOIARequestFactory(composer__user=user,
                                         embargo=False,
                                         status="ack")
        embargo_foia = FOIARequestFactory(composer__user=user,
                                          embargo=True,
                                          status="ack")
        embargo_done_foia = FOIARequestFactory(composer__user=user,
                                               embargo=True,
                                               status="done",
                                               date_embargo=tomorrow)

        MyRequestList()._perm_embargo(
            FOIARequest.objects.filter(pk__in=[
                other_foia.pk,
                public_foia.pk,
                embargo_foia.pk,
                embargo_done_foia.pk,
            ]),
            user,
            {},
        )

        other_foia.refresh_from_db()
        public_foia.refresh_from_db()
        embargo_foia.refresh_from_db()
        embargo_done_foia.refresh_from_db()

        assert_false(other_foia.embargo)
        ok_(public_foia.embargo)
        assert_false(public_foia.permanent_embargo)
        ok_(embargo_foia.embargo)
        assert_false(embargo_foia.permanent_embargo)
        ok_(embargo_done_foia.embargo)
        ok_(embargo_done_foia.permanent_embargo)