Browse Source

When copying a check, copy all fields from the "Filtering Rules" dialog

pull/419/head
Pēteris Caune 4 years ago
parent
commit
84cc33412a
No known key found for this signature in database GPG Key ID: E28D7679E9A9EDE2
3 changed files with 12 additions and 6 deletions
  1. +1
    -1
      CHANGELOG.md
  2. +8
    -3
      hc/front/tests/test_copy.py
  3. +3
    -2
      hc/front/views.py

+ 1
- 1
CHANGELOG.md View File

@ -15,7 +15,7 @@ All notable changes to this project will be documented in this file.
- Handle excessively long email addresses in the signup form - Handle excessively long email addresses in the signup form
- Handle excessively long email addresses in the team member invite form - Handle excessively long email addresses in the team member invite form
- Don't allow duplicate team memberships - Don't allow duplicate team memberships
- When copying a check, also copy the "failure keyword" field (#417)
- When copying a check, copy all fields from the "Filtering Rules" dialog (#417)
## v1.16.0 - 2020-08-04 ## v1.16.0 - 2020-08-04


+ 8
- 3
hc/front/tests/test_copy.py View File

@ -9,6 +9,8 @@ class CopyCheckTestCase(BaseTestCase):
self.check.name = "Foo" self.check.name = "Foo"
self.check.subject = "success-keyword" self.check.subject = "success-keyword"
self.check.subject_fail = "failure-keyword" self.check.subject_fail = "failure-keyword"
self.check.methods = "POST"
self.check.manual_resume = True
self.check.save() self.check.save()
self.copy_url = "/checks/%s/copy/" % self.check.code self.copy_url = "/checks/%s/copy/" % self.check.code
@ -17,9 +19,12 @@ class CopyCheckTestCase(BaseTestCase):
self.client.login(username="[email protected]", password="password") self.client.login(username="[email protected]", password="password")
r = self.client.post(self.copy_url, follow=True) r = self.client.post(self.copy_url, follow=True)
self.assertContains(r, "This is a brand new check") self.assertContains(r, "This is a brand new check")
self.assertContains(r, "Foo (copy)")
self.assertContains(r, "success-keyword")
self.assertContains(r, "failure-keyword")
copy = Check.objects.get(name="Foo (copy)")
self.assertEqual(copy.subject, "success-keyword")
self.assertEqual(copy.subject_fail, "failure-keyword")
self.assertEqual(copy.methods, "POST")
self.assertTrue(copy.manual_resume)
def test_it_obeys_limit(self): def test_it_obeys_limit(self):
self.profile.check_limit = 0 self.profile.check_limit = 0


+ 3
- 2
hc/front/views.py View File

@ -592,8 +592,9 @@ def copy(request, code):
copied = Check(project=check.project) copied = Check(project=check.project)
copied.name = check.name + " (copy)" copied.name = check.name + " (copy)"
copied.desc, copied.tags = check.desc, check.tags copied.desc, copied.tags = check.desc, check.tags
copied.subject = check.subject
copied.subject_fail = check.subject_fail
copied.subject, copied.subject_fail = check.subject, check.subject_fail
copied.methods = check.methods
copied.manual_resume = check.manual_resume
copied.kind = check.kind copied.kind = check.kind
copied.timeout, copied.grace = check.timeout, check.grace copied.timeout, copied.grace = check.timeout, check.grace


Loading…
Cancel
Save