test_ds_data_form_modal

This commit is contained in:
Rachid Mrad 2023-10-24 17:36:27 -04:00
parent e78e95df0d
commit 76be3c6b72
No known key found for this signature in database
GPG key ID: EF38E4CEC4A8F3CF
2 changed files with 32 additions and 17 deletions

View file

@ -390,24 +390,23 @@ function prepareDeleteButtons() {
*/
(function triggerModalOnDsDataForm() {
let saveButon = document.querySelector("#save-ds-data");
// if (saveButon)
// saveButon.addEventListener('click', triggerModalIfModalTriggerExists);
// function triggerModalIfModalTriggerExists(e){
// The view context will cause a hitherto hidden modal trigger to
// show up. On save, we'll test for that modal trigger appearing. We'll
// run that test once every 100 ms for 5 secs, which should balance performance
// while accounting for network or lag issues.
if (saveButon) {
let i = 0;
var tryToTriggerModal = setInterval(function() {
i++;
if (i > 100) {
clearInterval(tryToTriggerModal);
}
let modalTrigger = document.querySelector("#ds-toggle-dnssec-alert");
if (modalTrigger) {
modalTrigger.click()
clearInterval(tryToTriggerModal);
}
}, 50);
let i = 0;
var tryToTriggerModal = setInterval(function() {
i++;
if (i > 100) {
clearInterval(tryToTriggerModal);
}
let modalTrigger = document.querySelector("#ds-toggle-dnssec-alert");
if (modalTrigger) {
modalTrigger.click()
clearInterval(tryToTriggerModal);
}
}, 50);
}
})();

View file

@ -1701,6 +1701,22 @@ class TestDomainDNSSEC(TestDomainOverview):
)
self.assertContains(page, "DS Data record 1")
def test_ds_data_form_modal(self):
"""When user clicks on save, a modal pops up."""
add_data_page = self.app.get(
reverse("domain-dns-dnssec-dsdata", kwargs={"pk": self.domain_dsdata.id})
)
self.assertNotContains(add_data_page, "Trigger Disable DNSSEC Modal")
# Simulate a delete all data
form_data = {}
response = self.client.post(
reverse("domain-dns-dnssec-dsdata", kwargs={"pk": self.domain_dsdata.id}),
data=form_data,
)
self.assertEqual(response.status_code, 200) # Adjust status code as needed
# Now check to see whether the JS trigger for the modal is present on the page
self.assertContains(response, "Trigger Disable DNSSEC Modal")
def test_ds_data_form_submits(self):
"""DS Data form submits successfully