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"))
|
raise exc.Blocked(_("Blocked element"))
|
||||||
|
|
||||||
issues = services.create_issues_in_bulk(
|
issues = services.create_issues_in_bulk(
|
||||||
data["bulk_issues"], project=project, owner=request.user,
|
data["bulk_issues"], milestone_id=data["milestone_id"],
|
||||||
status=project.default_issue_status, severity=project.default_severity,
|
project=project, owner=request.user,
|
||||||
priority=project.default_priority, type=project.default_issue_type,
|
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)
|
callback=self.post_save, precall=self.pre_save)
|
||||||
|
|
||||||
issues = self.get_queryset().filter(id__in=[i.id for i in issues])
|
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):
|
class IssuesBulkValidator(ProjectExistsValidator, validators.Validator):
|
||||||
project_id = serializers.IntegerField()
|
project_id = serializers.IntegerField()
|
||||||
|
milestone_id = serializers.IntegerField()
|
||||||
bulk_issues = serializers.CharField()
|
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))
|
response = client.json.post(url, json.dumps(data))
|
||||||
assert response.status_code == 400, response.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