(ui) Standardize primary form actions
Add shared form action styling and consistent Cancel links across config, schedule, and SSH key forms so create/edit flows behave predictably. Refs #25
This commit is contained in:
@@ -542,6 +542,19 @@ class ViewTests(TestCase):
|
||||
self.assertEqual(credential.private_key, "UPLOADED PRIVATE KEY\n")
|
||||
self.assertEqual(credential.public_key, "DERIVED PUBLIC KEY")
|
||||
|
||||
def test_ssh_credential_forms_render_cancel_actions(self) -> None:
|
||||
self.client.force_login(self.staff_user)
|
||||
credential = SshCredential.objects.create(name="backup-key")
|
||||
|
||||
create_response = self.client.get(reverse("create_ssh_credential"))
|
||||
edit_response = self.client.get(reverse("edit_ssh_credential", args=[credential.id]))
|
||||
generate_response = self.client.get(reverse("generate_ssh_credential"))
|
||||
|
||||
for response in (create_response, edit_response, generate_response):
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertContains(response, "Cancel")
|
||||
self.assertContains(response, reverse("ssh_credentials"))
|
||||
|
||||
def test_ssh_credentials_view_generates_filesystem_key(self) -> None:
|
||||
self.client.force_login(self.staff_user)
|
||||
with TemporaryDirectory() as tmp, override_settings(POBSYNC_HOME=str(Path(tmp) / "home")):
|
||||
@@ -746,6 +759,8 @@ class ViewTests(TestCase):
|
||||
self.assertContains(response, f'value="{credential.id}" selected')
|
||||
self.assertContains(response, "--archive")
|
||||
self.assertContains(response, "/proc/***")
|
||||
self.assertContains(response, "Cancel")
|
||||
self.assertContains(response, reverse("dashboard"))
|
||||
|
||||
def test_global_config_form_renders_static_container_backup_root_on_edit(self) -> None:
|
||||
self.client.force_login(self.staff_user)
|
||||
@@ -2142,6 +2157,8 @@ class ViewTests(TestCase):
|
||||
self.assertContains(response, "evaluated by the pobsync scheduler service")
|
||||
self.assertContains(response, "15 2 * * *")
|
||||
self.assertContains(response, "Save schedule")
|
||||
self.assertContains(response, "Cancel")
|
||||
self.assertContains(response, reverse("host_detail", args=[host.host]))
|
||||
|
||||
def test_schedule_form_creates_schedule(self) -> None:
|
||||
self.client.force_login(self.staff_user)
|
||||
@@ -2243,6 +2260,8 @@ class ViewTests(TestCase):
|
||||
self.assertContains(response, "/srv")
|
||||
self.assertContains(response, "*.tmp")
|
||||
self.assertContains(response, "--numeric-ids")
|
||||
self.assertContains(response, "Cancel")
|
||||
self.assertContains(response, reverse("host_detail", args=[host.host]))
|
||||
|
||||
def test_host_config_form_renders_effective_config_check(self) -> None:
|
||||
self.client.force_login(self.staff_user)
|
||||
|
||||
Reference in New Issue
Block a user