diff options
author | Karen Tracey <kmtracey@gmail.com> | 2009-04-21 18:58:32 +0000 |
---|---|---|
committer | Karen Tracey <kmtracey@gmail.com> | 2009-04-21 18:58:32 +0000 |
commit | 7ff22ef258e464b44cbb295738e7c0776ab7909f (patch) | |
tree | c1229675f64a559001820873db0a2534744a6dd6 /tests | |
parent | 0d17a5c7c654c1c46390c092f7898a068cf475e2 (diff) | |
download | django-7ff22ef258e464b44cbb295738e7c0776ab7909f.tar.gz |
[1.0.X] Fixed #9651: fixed save_as with inline forms. Thanks, kmike and Mnewman.
Backport of r10353 from trunk.
git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@10612 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r-- | tests/regressiontests/admin_views/models.py | 2 | ||||
-rw-r--r-- | tests/regressiontests/admin_views/tests.py | 95 |
2 files changed, 58 insertions, 39 deletions
diff --git a/tests/regressiontests/admin_views/models.py b/tests/regressiontests/admin_views/models.py index 5a451c5436..7e600ede53 100644 --- a/tests/regressiontests/admin_views/models.py +++ b/tests/regressiontests/admin_views/models.py @@ -240,7 +240,7 @@ class PictureAdmin(admin.ModelAdmin): admin.site.register(Article, ArticleAdmin) admin.site.register(CustomArticle, CustomArticleAdmin) -admin.site.register(Section, inlines=[ArticleInline]) +admin.site.register(Section, save_as=True, inlines=[ArticleInline]) admin.site.register(ModelWithStringPrimaryKey) admin.site.register(Color) admin.site.register(Thing, ThingAdmin) diff --git a/tests/regressiontests/admin_views/tests.py b/tests/regressiontests/admin_views/tests.py index e8874ec67a..4edfe27088 100644 --- a/tests/regressiontests/admin_views/tests.py +++ b/tests/regressiontests/admin_views/tests.py @@ -23,6 +23,7 @@ except NameError: class AdminViewBasicTest(TestCase): fixtures = ['admin-views-users.xml', 'admin-views-colors.xml', 'admin-views-fabrics.xml'] + urlbit = 'admin' def setUp(self): self.client.login(username='super', password='secret') @@ -74,48 +75,66 @@ class AdminViewBasicTest(TestCase): response = self.client.post('/test_admin/admin/admin_views/section/add/', post_data) self.failUnlessEqual(response.status_code, 302) # redirect somewhere + # Post data for edit inline + inline_post_data = { + "name": u"Test section", + # inline data + "article_set-TOTAL_FORMS": u"6", + "article_set-INITIAL_FORMS": u"3", + "article_set-0-id": u"1", + # there is no title in database, give one here or formset will fail. + "article_set-0-title": u"Norske bostaver æøå skaper problemer", + "article_set-0-content": u"<p>Middle content</p>", + "article_set-0-date_0": u"2008-03-18", + "article_set-0-date_1": u"11:54:58", + "article_set-0-section": u"1", + "article_set-1-id": u"2", + "article_set-1-title": u"Need a title.", + "article_set-1-content": u"<p>Oldest content</p>", + "article_set-1-date_0": u"2000-03-18", + "article_set-1-date_1": u"11:54:58", + "article_set-2-id": u"3", + "article_set-2-title": u"Need a title.", + "article_set-2-content": u"<p>Newest content</p>", + "article_set-2-date_0": u"2009-03-18", + "article_set-2-date_1": u"11:54:58", + "article_set-3-id": u"", + "article_set-3-title": u"", + "article_set-3-content": u"", + "article_set-3-date_0": u"", + "article_set-3-date_1": u"", + "article_set-4-id": u"", + "article_set-4-title": u"", + "article_set-4-content": u"", + "article_set-4-date_0": u"", + "article_set-4-date_1": u"", + "article_set-5-id": u"", + "article_set-5-title": u"", + "article_set-5-content": u"", + "article_set-5-date_0": u"", + "article_set-5-date_1": u"", + } + def testBasicEditPost(self): """ A smoke test to ensure POST on edit_view works. """ - post_data = { - "name": u"Test section", - # inline data - "article_set-TOTAL_FORMS": u"6", - "article_set-INITIAL_FORMS": u"3", - "article_set-0-id": u"1", - # there is no title in database, give one here or formset - # will fail. - "article_set-0-title": u"Norske bostaver æøå skaper problemer", - "article_set-0-content": u"<p>Middle content</p>", - "article_set-0-date_0": u"2008-03-18", - "article_set-0-date_1": u"11:54:58", - "article_set-1-id": u"2", - "article_set-1-title": u"Need a title.", - "article_set-1-content": u"<p>Oldest content</p>", - "article_set-1-date_0": u"2000-03-18", - "article_set-1-date_1": u"11:54:58", - "article_set-2-id": u"3", - "article_set-2-title": u"Need a title.", - "article_set-2-content": u"<p>Newest content</p>", - "article_set-2-date_0": u"2009-03-18", - "article_set-2-date_1": u"11:54:58", - "article_set-3-id": u"", - "article_set-3-title": u"", - "article_set-3-content": u"", - "article_set-3-date_0": u"", - "article_set-3-date_1": u"", - "article_set-4-id": u"", - "article_set-4-title": u"", - "article_set-4-content": u"", - "article_set-4-date_0": u"", - "article_set-4-date_1": u"", - "article_set-5-id": u"", - "article_set-5-title": u"", - "article_set-5-content": u"", - "article_set-5-date_0": u"", - "article_set-5-date_1": u"", - } + response = self.client.post('/test_admin/%s/admin_views/section/1/' % self.urlbit, self.inline_post_data) + self.failUnlessEqual(response.status_code, 302) # redirect somewhere + + def testEditSaveAs(self): + """ + Test "save as". + """ + post_data = self.inline_post_data.copy() + post_data.update({ + '_saveasnew': u'Save+as+new', + "article_set-1-section": u"1", + "article_set-2-section": u"1", + "article_set-3-section": u"1", + "article_set-4-section": u"1", + "article_set-5-section": u"1", + }) response = self.client.post('/test_admin/admin/admin_views/section/1/', post_data) self.failUnlessEqual(response.status_code, 302) # redirect somewhere |