From e83e4b8beb7c2d2306fbf9c3e951bb46b903afa6 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Thu, 4 Aug 2016 14:33:28 +0200 Subject: [PATCH] Refactoring epics API --- taiga/projects/epics/api.py | 1 + taiga/projects/epics/models.py | 4 ++++ tests/integration/test_epics.py | 16 +++++----------- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/taiga/projects/epics/api.py b/taiga/projects/epics/api.py index f98e4303..242b3ebe 100644 --- a/taiga/projects/epics/api.py +++ b/taiga/projects/epics/api.py @@ -232,6 +232,7 @@ class EpicRelatedUserStoryViewSet(NestedViewSetMixin, BlockedByProjectMixin, Mod validator_class = validators.EpicRelatedUserStoryValidator model = models.RelatedUserStory permission_classes = (permissions.EpicRelatedUserStoryPermission,) + lookup_field = "user_story_id" """ Updating the order attribute can affect the ordering of another userstories in the epic diff --git a/taiga/projects/epics/models.py b/taiga/projects/epics/models.py index de501ffc..3d1a2ce4 100644 --- a/taiga/projects/epics/models.py +++ b/taiga/projects/epics/models.py @@ -106,3 +106,7 @@ class RelatedUserStory(models.Model): def __str__(self): return "{0} - {1}".format(self.epic_id, self.user_story_id) + + @property + def project(self): + return self.epic.project diff --git a/tests/integration/test_epics.py b/tests/integration/test_epics.py index 01f1e483..5d4657df 100644 --- a/tests/integration/test_epics.py +++ b/tests/integration/test_epics.py @@ -136,10 +136,10 @@ def test_set_related_userstory_existing(client): f.MembershipFactory.create(project=epic.project, user=user, is_admin=True) f.MembershipFactory.create(project=us.project, user=user, is_admin=True) - url = reverse('epics-set-related-userstory', kwargs={"pk": epic.pk}) + url = reverse('epics-related-userstories-list', args=[epic.pk]) data = { - "us_id": us.id, + "user_story": us.id, "order": 77 } client.login(user) @@ -158,15 +158,9 @@ def test_unset_related_userstory(client): related_us = f.RelatedUserStory.create(epic=epic, user_story=us, order=55) f.MembershipFactory.create(project=epic.project, user=user, is_admin=True) - url = reverse('epics-unset-related-userstory', kwargs={"pk": epic.pk}) + url = reverse('epics-related-userstories-detail', args=[epic.pk, us.pk]) - data = { - "us_id": us.id - } client.login(user) - response = client.json.post(url, json.dumps(data)) - print(response.data) - assert response.status_code == 200 - assert response.data['user_stories_counts'] == {'opened': 0, 'closed': 0} - + response = client.delete(url) + assert response.status_code == 204 assert not models.RelatedUserStory.objects.filter(id=related_us.id).exists()