Modify create task factory
parent
abf2b11220
commit
5f301450df
|
@ -24,14 +24,18 @@ from taiga.projects.issues.models import Issue
|
||||||
from taiga.projects.tasks.models import Task
|
from taiga.projects.tasks.models import Task
|
||||||
from taiga.projects.userstories.models import UserStory
|
from taiga.projects.userstories.models import UserStory
|
||||||
|
|
||||||
from . import models
|
|
||||||
|
|
||||||
|
|
||||||
def calculate_milestone_is_closed(milestone):
|
def calculate_milestone_is_closed(milestone):
|
||||||
return (milestone.user_stories.all().count() > 0 and
|
uss_check = milestone.user_stories.all().count() > 0 and all(
|
||||||
all([task.status is not None and task.status.is_closed for task in milestone.tasks.all()]) and
|
[task.status is not None and task.status.is_closed for task in
|
||||||
all([user_story.is_closed for user_story in milestone.user_stories.all()]) or
|
milestone.tasks.all()]) and all(
|
||||||
all([issue.is_closed for issue in milestone.issues.all()]))
|
[user_story.is_closed for user_story in milestone.user_stories.all()])
|
||||||
|
issues_check = milestone.issues.all().count() > 0 and all(
|
||||||
|
[issue.is_closed for issue in milestone.issues.all()])
|
||||||
|
tasks_check = milestone.tasks.all().count() > 0 and all(
|
||||||
|
[task.is_closed for task in milestone.tasks.all()])
|
||||||
|
|
||||||
|
return uss_check or issues_check or tasks_check
|
||||||
|
|
||||||
|
|
||||||
def close_milestone(milestone):
|
def close_milestone(milestone):
|
||||||
|
|
|
@ -72,7 +72,6 @@ def update_milestone_of_tasks_when_edit_us(sender, instance, created, **kwargs):
|
||||||
def try_to_close_or_open_us_and_milestone_when_create_or_edit_us(sender, instance, created, **kwargs):
|
def try_to_close_or_open_us_and_milestone_when_create_or_edit_us(sender, instance, created, **kwargs):
|
||||||
if instance._importing:
|
if instance._importing:
|
||||||
return
|
return
|
||||||
|
|
||||||
_try_to_close_or_open_us_when_create_or_edit_us(instance)
|
_try_to_close_or_open_us_when_create_or_edit_us(instance)
|
||||||
_try_to_close_or_open_milestone_when_create_or_edit_us(instance)
|
_try_to_close_or_open_milestone_when_create_or_edit_us(instance)
|
||||||
|
|
||||||
|
|
|
@ -626,6 +626,10 @@ def create_issue(**kwargs):
|
||||||
return IssueFactory.create(**defaults)
|
return IssueFactory.create(**defaults)
|
||||||
|
|
||||||
|
|
||||||
|
class Missing:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def create_task(**kwargs):
|
def create_task(**kwargs):
|
||||||
"Create a task and along with its dependencies."
|
"Create a task and along with its dependencies."
|
||||||
owner = kwargs.pop("owner", None)
|
owner = kwargs.pop("owner", None)
|
||||||
|
@ -636,13 +640,23 @@ def create_task(**kwargs):
|
||||||
if project is None:
|
if project is None:
|
||||||
project = ProjectFactory.create(owner=owner)
|
project = ProjectFactory.create(owner=owner)
|
||||||
|
|
||||||
|
status = kwargs.pop("status", None)
|
||||||
|
milestone = kwargs.pop("milestone", None)
|
||||||
|
|
||||||
defaults = {
|
defaults = {
|
||||||
"project": project,
|
"project": project,
|
||||||
"owner": owner,
|
"owner": owner,
|
||||||
"status": TaskStatusFactory.create(project=project),
|
"status": status or TaskStatusFactory.create(project=project),
|
||||||
"milestone": MilestoneFactory.create(project=project),
|
"milestone": milestone or MilestoneFactory.create(project=project),
|
||||||
"user_story": UserStoryFactory.create(project=project, owner=owner),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
user_story = kwargs.pop("user_story", Missing)
|
||||||
|
|
||||||
|
defaults["user_story"] = (
|
||||||
|
UserStoryFactory.create(project=project, owner=owner, milestone=defaults["milestone"])
|
||||||
|
if user_story is Missing
|
||||||
|
else user_story
|
||||||
|
)
|
||||||
defaults.update(kwargs)
|
defaults.update(kwargs)
|
||||||
|
|
||||||
return TaskFactory.create(**defaults)
|
return TaskFactory.create(**defaults)
|
||||||
|
|
|
@ -302,19 +302,15 @@ def test_api_move_tasks_to_another_sprint_close_previous(client):
|
||||||
f.MembershipFactory.create(project=project, user=project.owner,
|
f.MembershipFactory.create(project=project, user=project.owner,
|
||||||
is_admin=True)
|
is_admin=True)
|
||||||
milestone1 = f.MilestoneFactory.create(project=project)
|
milestone1 = f.MilestoneFactory.create(project=project)
|
||||||
|
|
||||||
milestone2 = f.MilestoneFactory.create(project=project)
|
milestone2 = f.MilestoneFactory.create(project=project)
|
||||||
|
|
||||||
closed_status = f.TaskStatusFactory.create(project=project, is_closed=True)
|
closed_status = f.TaskStatusFactory.create(project=project, is_closed=True)
|
||||||
|
|
||||||
task1 = f.create_task(project=project, milestone=milestone1, taskboard_order=1,
|
task1 = f.create_task(project=project, milestone=milestone1, taskboard_order=1,
|
||||||
status=closed_status)
|
status=closed_status)
|
||||||
task2 = f.create_task(project=project, milestone=milestone1, taskboard_order=2)
|
task2 = f.create_task(project=project, milestone=milestone1, taskboard_order=2)
|
||||||
|
|
||||||
milestone = project.milestones.get(id=milestone1.id)
|
assert project.milestones.get(id=milestone1.id).tasks.count() == 2
|
||||||
manager_tasks = milestone.tasks
|
|
||||||
count_result = manager_tasks.count()
|
|
||||||
|
|
||||||
assert count_result == 2
|
|
||||||
assert not milestone1.closed
|
assert not milestone1.closed
|
||||||
|
|
||||||
url = reverse("milestones-move-tasks-to-sprint", kwargs={"pk": milestone1.pk})
|
url = reverse("milestones-move-tasks-to-sprint", kwargs={"pk": milestone1.pk})
|
||||||
|
|
Loading…
Reference in New Issue