summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKaren Tracey <kmtracey@gmail.com>2009-04-21 18:58:32 +0000
committerKaren Tracey <kmtracey@gmail.com>2009-04-21 18:58:32 +0000
commit7ff22ef258e464b44cbb295738e7c0776ab7909f (patch)
treec1229675f64a559001820873db0a2534744a6dd6 /tests
parent0d17a5c7c654c1c46390c092f7898a068cf475e2 (diff)
downloaddjango-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.py2
-rw-r--r--tests/regressiontests/admin_views/tests.py95
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"&lt;p&gt;Middle content&lt;/p&gt;",
+ "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"&lt;p&gt;Oldest content&lt;/p&gt;",
+ "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"&lt;p&gt;Newest content&lt;/p&gt;",
+ "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"&lt;p&gt;Middle content&lt;/p&gt;",
- "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"&lt;p&gt;Oldest content&lt;/p&gt;",
- "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"&lt;p&gt;Newest content&lt;/p&gt;",
- "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