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())
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)
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)
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())
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)
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)
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)
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)
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)