|
13 | 13 | from ietf.ipr.models import (IprDisclosureBase,GenericIprDisclosure,HolderIprDisclosure, |
14 | 14 | ThirdPartyIprDisclosure,RelatedIpr) |
15 | 15 | from ietf.ipr.utils import get_genitive, get_ipr_summary |
| 16 | +from ietf.mailtrigger.utils import gather_address_lists |
16 | 17 | 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 |
19 | 18 | 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 |
21 | 22 |
|
22 | 23 |
|
23 | 24 | class IprTests(TestCase): |
@@ -380,6 +381,53 @@ def test_new_thirdparty(self): |
380 | 381 | self.assertTrue('New IPR Submission' in outbox[0]['Subject']) |
381 | 382 | self.assertTrue('ietf-ipr@' in outbox[0]['To']) |
382 | 383 |
|
| 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 | + |
383 | 431 | def test_update(self): |
384 | 432 | draft = make_test_data() |
385 | 433 | original_ipr = IprDisclosureBase.objects.get(title='Statement regarding rights') |
|
0 commit comments