Skip to content

Commit 9547646

Browse files
committed
Added a test for IPR edit.
- Legacy-Id: 14951
1 parent e830f0f commit 9547646

2 files changed

Lines changed: 54 additions & 5 deletions

File tree

ietf/ipr/tests.py

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313
from ietf.ipr.models import (IprDisclosureBase,GenericIprDisclosure,HolderIprDisclosure,
1414
ThirdPartyIprDisclosure,RelatedIpr)
1515
from ietf.ipr.utils import get_genitive, get_ipr_summary
16+
from ietf.mailtrigger.utils import gather_address_lists
1617
from ietf.message.models import Message
17-
from ietf.utils.test_utils import TestCase, login_testing_unauthorized, unicontent
18-
from ietf.utils.test_data import make_test_data
1918
from ietf.utils.mail import outbox, empty_outbox
20-
from ietf.mailtrigger.utils import gather_address_lists
19+
from ietf.utils.test_data import make_test_data
20+
from ietf.utils.test_utils import TestCase, login_testing_unauthorized, unicontent
21+
from ietf.utils.text import text_to_dict
2122

2223

2324
class IprTests(TestCase):
@@ -380,6 +381,53 @@ def test_new_thirdparty(self):
380381
self.assertTrue('New IPR Submission' in outbox[0]['Subject'])
381382
self.assertTrue('ietf-ipr@' in outbox[0]['To'])
382383

384+
def test_edit(self):
385+
draft = make_test_data()
386+
original_ipr = IprDisclosureBase.objects.get(title='Statement regarding rights')
387+
388+
# get
389+
url = urlreverse("ietf.ipr.views.edit", kwargs={ "id": original_ipr.id })
390+
login_testing_unauthorized(self, "secretary", url)
391+
r = self.client.get(url)
392+
self.assertContains(r, "Native Martians United")
393+
394+
#url = urlreverse("ietf.ipr.views.new", kwargs={ "type": "specific" })
395+
# successful post
396+
empty_outbox()
397+
post_data = {
398+
"has_patent_pending": False,
399+
"holder_contact_email": "test@holder.com",
400+
"holder_contact_info": "555-555-0100",
401+
"holder_contact_name": "Test Holder",
402+
"holder_legal_name": "Test Legal",
403+
"ietfer_contact_info": "555-555-0101",
404+
"ietfer_name": "Test Participant",
405+
"iprdocrel_set-0-document": "%s" % draft.docalias_set.first().pk,
406+
"iprdocrel_set-0-revisions": '00',
407+
"iprdocrel_set-INITIAL_FORMS": 0,
408+
"iprdocrel_set-TOTAL_FORMS": 1,
409+
"licensing": "royalty-free",
410+
"patent_date": "2000-01-01",
411+
"patent_inventor": "A. Nonymous",
412+
"patent_number": "SE12345678901",
413+
"patent_title": "A method of transfering bits",
414+
"submitter_email": "test@holder.com",
415+
"submitter_name": "Test Holder",
416+
"updates": "",
417+
}
418+
r = self.client.post(url, post_data, follow=True)
419+
self.assertContains(r, "Disclosure modified")
420+
421+
iprs = IprDisclosureBase.objects.filter(title__icontains=draft.name)
422+
self.assertEqual(len(iprs), 1)
423+
ipr = iprs[0].get_child()
424+
self.assertEqual(ipr.holder_legal_name, "Test Legal")
425+
patent_info_dict = dict( (k.replace('patent_','').capitalize(), v) for k, v in post_data.items() if k.startswith('patent_') )
426+
self.assertEqual(text_to_dict(ipr.patent_info), patent_info_dict)
427+
self.assertEqual(ipr.state.slug, 'posted')
428+
429+
self.assertEqual(len(outbox),0)
430+
383431
def test_update(self):
384432
draft = make_test_data()
385433
original_ipr = IprDisclosureBase.objects.get(title='Statement regarding rights')

ietf/ipr/views.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -308,14 +308,15 @@ def edit(request, id, updates=None):
308308
valid_formsets = draft_formset.is_valid()
309309
else:
310310
valid_formsets = True
311-
311+
312312
if form.is_valid() and valid_formsets:
313313
updates = form.cleaned_data.get('updates')
314314
disclosure = form.save(commit=False)
315315
disclosure.save()
316-
316+
317317
if type != 'generic':
318318
draft_formset = DraftFormset(request.POST, instance=disclosure)
319+
draft_formset.clean()
319320
draft_formset.save()
320321

321322
set_disclosure_title(disclosure)

0 commit comments

Comments
 (0)