summaryrefslogtreecommitdiff
path: root/tests/admin_views
diff options
context:
space:
mode:
Diffstat (limited to 'tests/admin_views')
-rw-r--r--tests/admin_views/models.py2
-rw-r--r--tests/admin_views/tests.py17
2 files changed, 18 insertions, 1 deletions
diff --git a/tests/admin_views/models.py b/tests/admin_views/models.py
index 5411885ee9..2c7a217c42 100644
--- a/tests/admin_views/models.py
+++ b/tests/admin_views/models.py
@@ -968,4 +968,4 @@ class ParentWithUUIDPK(models.Model):
class RelatedWithUUIDPKModel(models.Model):
- parent = models.ForeignKey(ParentWithUUIDPK, on_delete=models.CASCADE)
+ parent = models.ForeignKey(ParentWithUUIDPK, on_delete=models.SET_NULL, null=True, blank=True)
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 0f46496c73..983689fd5c 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -4546,6 +4546,23 @@ class SeleniumAdminViewsFirefoxTests(AdminSeleniumWebDriverTestCase):
self.assertEqual(select.first_selected_option.text, uuid_id)
self.assertEqual(select.first_selected_option.get_attribute('value'), uuid_id)
+ def test_inline_uuid_pk_delete_with_popup(self):
+ from selenium.webdriver.support.ui import Select
+ parent = ParentWithUUIDPK.objects.create(title='test')
+ related_with_parent = RelatedWithUUIDPKModel.objects.create(parent=parent)
+ self.admin_login(username='super', password='secret', login_url=reverse('admin:index'))
+ change_url = reverse('admin:admin_views_relatedwithuuidpkmodel_change', args=(related_with_parent.id,))
+ self.selenium.get(self.live_server_url + change_url)
+ self.selenium.find_element_by_id('delete_id_parent').click()
+ self.wait_for_popup()
+ self.selenium.switch_to.window(self.selenium.window_handles[-1])
+ self.selenium.find_element_by_xpath('//input[@value="Yes, I\'m sure"]').click()
+ self.selenium.switch_to.window(self.selenium.window_handles[0])
+ select = Select(self.selenium.find_element_by_id('id_parent'))
+ self.assertEqual(ParentWithUUIDPK.objects.count(), 0)
+ self.assertEqual(select.first_selected_option.text, '---------')
+ self.assertEqual(select.first_selected_option.get_attribute('value'), '')
+
class SeleniumAdminViewsChromeTests(SeleniumAdminViewsFirefoxTests):
webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver'