|
41 | 41 | from ietf.ipr.forms import DraftForm, HolderIprDisclosureForm |
42 | 42 | from ietf.ipr.mail import (process_response_email, get_reply_to, get_update_submitter_emails, |
43 | 43 | get_pseudo_submitter, get_holders, get_update_cc_addrs, UndeliverableIprResponseError) |
44 | | -from ietf.ipr.models import (IprDisclosureBase, GenericIprDisclosure, HolderIprDisclosure, |
| 44 | +from ietf.ipr.models import (IprDisclosureBase, GenericIprDisclosure, HolderIprDisclosure, RemovedIprDisclosure, |
45 | 45 | ThirdPartyIprDisclosure, IprEvent) |
46 | 46 | from ietf.ipr.templatetags.ipr_filters import no_revisions_message |
47 | 47 | from ietf.ipr.utils import get_genitive, get_ipr_summary, ingest_response_email |
@@ -129,6 +129,26 @@ def test_showlist(self): |
129 | 129 | self.assertContains(r, "removed as objectively false") |
130 | 130 | ipr.delete() |
131 | 131 |
|
| 132 | + def test_show_delete(self): |
| 133 | + ipr = HolderIprDisclosureFactory() |
| 134 | + removed = RemovedIprDisclosure.objects.create( |
| 135 | + removed_id=ipr.pk, reason="Removed for reasons" |
| 136 | + ) |
| 137 | + url = urlreverse("ietf.ipr.views.show", kwargs=dict(id=removed.removed_id)) |
| 138 | + r = self.client.get(url) |
| 139 | + self.assertContains(r, "Removed for reasons") |
| 140 | + q = PyQuery(r.content) |
| 141 | + self.assertEqual(len(q("#deletion_warning")), 0) |
| 142 | + self.client.login(username="secretary", password="secretary+password") |
| 143 | + r = self.client.get(url) |
| 144 | + self.assertContains(r, "Removed for reasons") |
| 145 | + q = PyQuery(r.content) |
| 146 | + self.assertEqual(len(q("#deletion_warning")), 1) |
| 147 | + ipr.delete() |
| 148 | + r = self.client.get(url) |
| 149 | + self.assertContains(r, "Removed for reasons") |
| 150 | + q = PyQuery(r.content) |
| 151 | + self.assertEqual(len(q("#deletion_warning")), 0) |
132 | 152 |
|
133 | 153 | def test_show_posted(self): |
134 | 154 | ipr = HolderIprDisclosureFactory() |
|
0 commit comments