Skip to content

Commit

Permalink
Add tests for inserting phone numbers
Browse files Browse the repository at this point in the history
  • Loading branch information
LiamBrenner committed Aug 21, 2017
1 parent 2b00a3f commit 87a8860
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions wagtail/wagtailadmin/tests/test_page_chooser.py
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,62 @@ def test_notice_changes_to_link_text(self):
self.assertContains(response, '"prefer_this_title_as_link_text": true')


class TestChooserPhoneLink(TestCase, WagtailTestUtils):
def setUp(self):
self.login()

def get(self, params={}):
return self.client.get(reverse('wagtailadmin_choose_page_phone_link'), params)

def post(self, post_data={}, url_params={}):
url = reverse('wagtailadmin_choose_page_phone_link')
if url_params:
url += '?' + urlencode(url_params)
return self.client.post(url, post_data)

def test_simple(self):
response = self.get()
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'wagtailadmin/chooser/phone_link.html')

def test_prepopulated_form(self):
response = self.get({'link_text': 'Example', 'phone_number': '123456789'})
self.assertEqual(response.status_code, 200)
self.assertContains(response, 'Example')
self.assertContains(response, '123456789')

def test_create_link(self):
response = self.post({'phone_number': '123456789', 'link_text': 'contact'})
self.assertContains(response, '"url": "tel:123456789"')
self.assertContains(response, '"title": "contact"') # When link text is given, it is used
self.assertContains(response, '"prefer_this_title_as_link_text": true')

def test_create_link_without_text(self):
response = self.post({'phone_number': '123456789'})
self.assertContains(response, '"url": "tel:123456789"')
self.assertContains(response, '"title": "123456789"') # When no link text is given, it uses the email
self.assertContains(response, '"prefer_this_title_as_link_text": false')

def test_notice_changes_to_link_text(self):
response = self.post(
{'phone_number': '987654321', 'link_text': 'example'}, # POST data
{'link_url': '123456789', 'link_text': 'example'} # GET params - initial data
)
self.assertContains(response, '"url": "tel:987654321"')
self.assertContains(response, '"title": "example"')
# no change to link text, so prefer the existing link/selection content where available
self.assertContains(response, '"prefer_this_title_as_link_text": false')

response = self.post(
{'phone_number': '987654321', 'link_text': 'new example'}, # POST data
{'phone_number': '123456789', 'link_text': 'example'} # GET params - initial data
)
self.assertContains(response, '"url": "tel:987654321"')
self.assertContains(response, '"title": "new example"')
# link text has changed, so tell the caller to use it
self.assertContains(response, '"prefer_this_title_as_link_text": true')


class TestCanChoosePage(TestCase, WagtailTestUtils):
fixtures = ['test.json']

Expand Down

0 comments on commit 87a8860

Please sign in to comment.