Add tests & milestone to Issues bulk-create
parent
b6b421245e
commit
ab59782103
|
@ -228,9 +228,12 @@ class IssueViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixin, W
|
|||
raise exc.Blocked(_("Blocked element"))
|
||||
|
||||
issues = services.create_issues_in_bulk(
|
||||
data["bulk_issues"], project=project, owner=request.user,
|
||||
status=project.default_issue_status, severity=project.default_severity,
|
||||
priority=project.default_priority, type=project.default_issue_type,
|
||||
data["bulk_issues"], milestone_id=data["milestone_id"],
|
||||
project=project, owner=request.user,
|
||||
status=project.default_issue_status,
|
||||
severity=project.default_severity,
|
||||
priority=project.default_priority,
|
||||
type=project.default_issue_type,
|
||||
callback=self.post_save, precall=self.pre_save)
|
||||
|
||||
issues = self.get_queryset().filter(id__in=[i.id for i in issues])
|
||||
|
|
|
@ -41,4 +41,5 @@ class IssueValidator(AssignedToValidator, WatchersValidator, EditableWatchedReso
|
|||
|
||||
class IssuesBulkValidator(ProjectExistsValidator, validators.Validator):
|
||||
project_id = serializers.IntegerField()
|
||||
milestone_id = serializers.IntegerField()
|
||||
bulk_issues = serializers.CharField()
|
||||
|
|
|
@ -710,3 +710,48 @@ def test_api_validator_assigned_to_when_create_issues(client):
|
|||
|
||||
response = client.json.post(url, json.dumps(data))
|
||||
assert response.status_code == 400, response.data
|
||||
|
||||
|
||||
def test_create_issue_in_milestone(client):
|
||||
user = f.UserFactory.create()
|
||||
project = f.ProjectFactory.create(owner=user, default_task_status=None)
|
||||
project.default_issue_status = f.IssueStatusFactory.create(project=project)
|
||||
f.MembershipFactory.create(project=project, user=user, is_admin=True)
|
||||
milestone = f.MilestoneFactory(project=project)
|
||||
project.save()
|
||||
|
||||
url = reverse("issues-list")
|
||||
|
||||
data = {"subject": "Test issue with milestone", "project": project.id,
|
||||
"milestone": milestone.id}
|
||||
client.login(user)
|
||||
response = client.json.post(url, json.dumps(data))
|
||||
assert response.status_code == 201
|
||||
assert response.data['status'] == project.default_issue_status.id
|
||||
assert response.data['project'] == project.id
|
||||
assert response.data['milestone'] == milestone.id
|
||||
|
||||
|
||||
def test_api_create_in_bulk_with_status_milestone(client):
|
||||
user = f.UserFactory.create()
|
||||
project = f.ProjectFactory.create(owner=user, default_task_status=None)
|
||||
f.MembershipFactory.create(project=project, user=user, is_admin=True)
|
||||
|
||||
project.default_issue_status = f.IssueStatusFactory.create(project=project)
|
||||
project.save()
|
||||
milestone = f.MilestoneFactory(project=project)
|
||||
|
||||
url = reverse("issues-bulk-create")
|
||||
data = {
|
||||
"bulk_issues": "Issue #1\nIssue #2",
|
||||
"project_id": project.id,
|
||||
"milestone_id": milestone.id,
|
||||
"status_id": project.default_issue_status.id
|
||||
}
|
||||
|
||||
client.login(user)
|
||||
response = client.json.post(url, json.dumps(data))
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.data[0]["status"] == project.default_issue_status.id
|
||||
assert response.data[0]["milestone"] == milestone.id
|
||||
|
|
Loading…
Reference in New Issue