Skip to content
This repository has been archived by the owner on Jun 12, 2018. It is now read-only.

Commit

Permalink
Fix handling of invalid detail edit forms.
Browse files Browse the repository at this point in the history
  • Loading branch information
hodgestar committed Apr 9, 2015
1 parent 2d57462 commit 549ca57
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 2 deletions.
37 changes: 36 additions & 1 deletion go/conversation/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,24 @@ def test_edit_complex(self):
self.assertContains(response, 'field value 1')
self.assertContains(response, 'field value 2')

def test_edit_conversation_details(self):
def test_edit_conversation_details_get(self):
conv = self.user_helper.create_conversation(
u'dummy', name=u'test-name', description=u'test-desc')

response = self.client.get(
reverse('conversations:conversation', kwargs={
'conversation_key': conv.key, 'path_suffix': 'edit_detail/',
}))

print response
self.assertContains(response, "Edit test-name details")
self.assertContains(response, "Save")
self.assertContains(response, "Conversation name")
self.assertContains(response, 'value="test-name"')
self.assertContains(response, "Conversation description")
self.assertContains(response, 'value="test-desc"')

def test_edit_conversation_details_submit(self):
conv = self.user_helper.create_conversation(
u'dummy', name=u'test', description=u'test')

Expand All @@ -426,6 +443,24 @@ def test_edit_conversation_details(self):
self.assertEqual(reloaded_conv.name, 'foo')
self.assertEqual(reloaded_conv.description, 'bar')

def test_edit_conversation_details_submit_invalid_form(self):
conv = self.user_helper.create_conversation(
u'dummy', name=u'test-name', description=u'test-desc')

response = self.client.post(
reverse('conversations:conversation', kwargs={
'conversation_key': conv.key, 'path_suffix': 'edit_detail/',
}), {
'name': '',
'description': 'bar',
})

self.assertContains(response, "This field is required.")

reloaded_conv = self.user_helper.get_conversation(conv.key)
self.assertEqual(reloaded_conv.name, 'test-name')
self.assertEqual(reloaded_conv.description, 'test-desc')

def test_conversation_contact_group_listing(self):
conv = self.user_helper.create_conversation(
u'dummy', name=u'test', description=u'test')
Expand Down
2 changes: 1 addition & 1 deletion go/conversation/view_definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ def make_form(self, edit_form, conversation):
def process_form(self, request, conversation):
form = self.edit_form(request.POST)
if not form.is_valid():
return self._render_forms(request, conversation, form)
return self._render_form(request, conversation, form)

# NOTE: we're dealing with a conversation wrapper here so set the
# internal `c` object's attributes.
Expand Down

0 comments on commit 549ca57

Please sign in to comment.