Skip to content

Commit

Permalink
Use correct permission names when editting Test Plan ENV Group
Browse files Browse the repository at this point in the history
Fixes #73 and also adds tests
  • Loading branch information
atodorov committed Oct 27, 2017
1 parent 04ee633 commit 6e45af4
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 2 deletions.
67 changes: 67 additions & 0 deletions tcms/testplans/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,87 @@
from tcms.testplans.models import TCMSEnvPlanMap
from tcms.testplans.models import TestPlan
from tcms.testplans.models import TestPlanAttachment
from tcms.core.contrib.auth.backends import initiate_user_with_default_setups

from tcms.tests.factories import ComponentFactory
from tcms.tests.factories import ClassificationFactory
from tcms.tests.factories import ProductFactory
from tcms.tests.factories import TestCaseFactory
from tcms.tests.factories import TestPlanFactory
from tcms.tests.factories import TestPlanTypeFactory
from tcms.tests.factories import TestTagFactory
from tcms.tests.factories import TCMSEnvGroupFactory
from tcms.tests.factories import UserFactory
from tcms.tests.factories import VersionFactory
from tcms.tests import BasePlanCase
from tcms.tests import remove_perm_from_user
from tcms.tests import user_should_have_perm


class TestPlanEnvironmentGroupTests(test.TestCase):
"""Test setting/editting ENV groups in Test Plans"""

@classmethod
def setUpTestData(cls):
super(TestPlanEnvironmentGroupTests, cls).setUpTestData()

cls.product = ProductFactory()
cls.product_version = VersionFactory(product=cls.product)

cls.env_group = TCMSEnvGroupFactory()
cls.new_env_group = TCMSEnvGroupFactory(name='Laptop hardware')

cls.tester = UserFactory()
cls.tester.set_password('password')
initiate_user_with_default_setups(cls.tester)

def setUp(self):
is_logged_in = self.client.login(username=self.tester.username, password='password')
self.assertTrue(is_logged_in)

def test_user_with_default_perms_can_create_testplan_and_set_env_group(self):
# test for https://github.com/kiwitcms/Kiwi/issues/73
url = reverse('plans-new')
response = self.client.post(
url,
{
'name': 'TP for Issue #73',
'product': self.product.pk,
'product_version': self.product_version.pk,
'type': TestPlanTypeFactory().pk,
'env_group': self.env_group.pk,
},
follow=True,
)

self.assertEqual(http.client.OK, response.status_code)
self.assertContains(response, ">%s</a>" % self.env_group.name)

def test_user_with_default_perms_can_edit_tp_and_change_env_group(self):
test_plan = TestPlanFactory(
product=self.product,
product_version=self.product_version,
env_group=[self.env_group]
)
url = reverse('plan-edit', args=[test_plan.pk, ])

response = self.client.post(
url,
{
'name': 'NEW TEST PLAN NAME',
'product': test_plan.product.pk,
'product_version': test_plan.product_version.pk,
'type': test_plan.type.pk,
'env_group': self.new_env_group.pk,
'text': "We've changed the ENV group setting",
},
follow=True,
)

self.assertEqual(http.client.OK, response.status_code)
self.assertContains(response, ">%s</a>" % self.new_env_group.name)


class PlanTests(test.TestCase):

@classmethod
Expand Down
4 changes: 2 additions & 2 deletions tcms/testplans/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ def new(request, template_name='plan/new.html'):
tp.add_text(author=request.user, plan_text=form.cleaned_data['text'])

# Add test plan environment groups
if request.user.has_perm('management.add_tcmsenvplanmap'):
if request.user.has_perm('testplans.add_tcmsenvplanmap'):
if request.POST.get('env_group'):
env_groups = TCMSEnvGroup.objects.filter(
id__in=request.POST.getlist('env_group')
Expand Down Expand Up @@ -581,7 +581,7 @@ def edit(request, plan_id, template_name='plan/edit.html'):
plan_text=request.POST.get('text'),
text_checksum=text_checksum)

if request.user.has_perm('management.change_tcmsenvplanmap'):
if request.user.has_perm('testplans.change_tcmsenvplanmap'):
tp.clear_env_groups()

if request.POST.get('env_group'):
Expand Down

0 comments on commit 6e45af4

Please sign in to comment.