Skip to content

Commit

Permalink
test: Add tests for tcms.bugs.views.Edit -- Closes kiwitcms#1599
Browse files Browse the repository at this point in the history
  • Loading branch information
mfonism committed Aug 7, 2020
1 parent 7d9fa21 commit c4b4b86
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions tcms/bugs/tests/test_views.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# pylint: disable=too-many-ancestors,wrong-import-position

import unittest
from http import HTTPStatus

from django.conf import settings

Expand Down Expand Up @@ -139,3 +140,61 @@ def test_new_bug_assignee_inferred_from_components(self):
bug_created = Bug.objects.last()
self.assertEqual(bug_created.summary, self.summary)
self.assertEqual(bug_created.assignee, comp.initial_owner)


class TestEditBug(LoggedInTestCase):

@classmethod
def setUpTestData(cls):
super().setUpTestData()
user_should_have_perm(cls.tester, 'bugs.change_bug')

cls.bug = BugFactory()

cls.url = reverse('bugs-edit', args=(cls.bug.pk,))

cls.summary_edit = 'An edited summary'
cls.reporter_edit = cls.tester
cls.assignee_edit = UserFactory()
cls.product_edit = ProductFactory()
cls.version_edit = VersionFactory()
cls.build_edit = BuildFactory()

cls.edit_data = {
'summary': cls.summary_edit,
'reporter': cls.reporter_edit.pk,
'assignee': cls.assignee_edit.pk,
'product': cls.product_edit.pk,
'version': cls.version_edit.pk,
'build': cls.build_edit.pk
}

def test_get_view(self):
response = self.client.get(self.url)

self.assertEqual(response.status_code, 200)
self.assertEqual(response.context['page_title'], _('Edit bug'))
self.assertEqual(response.context['form_post_url'], self.url)
self.assertTemplateUsed(response, 'bugs/mutable.html')

def test_edit_bug(self):
response = self.client.post(self.url, self.edit_data)

bug = Bug.objects.get(pk=self.bug.pk)
self.assertRedirects(
response,
reverse('bugs-get', args=(bug.pk,)),
status_code=302,
target_status_code=200
)
self.assertEqual(bug.summary, self.summary_edit)
self.assertEqual(bug.reporter, self.reporter_edit)
self.assertEqual(bug.assignee, self.assignee_edit)
self.assertEqual(bug.product, self.product_edit)
self.assertEqual(bug.version, self.version_edit)
self.assertEqual(bug.build, self.build_edit)

def test_404_if_bug_not_exist(self):
url = reverse('bugs-edit', args=(99999,))
response = self.client.post(url, self.edit_data)
self.assertEqual(response.status_code, HTTPStatus.NOT_FOUND)

0 comments on commit c4b4b86

Please sign in to comment.