Skip to content

Commit 99caf99

Browse files
authored
Merge branch 'master' into format
2 parents 22827c5 + 658d1bf commit 99caf99

File tree

6 files changed

+93
-7
lines changed

6 files changed

+93
-7
lines changed

integrations/api_pull_test.go

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,79 @@ func TestAPICreatePullSuccess(t *testing.T) {
7474
Base: "master",
7575
Title: "create a failure pr",
7676
})
77-
7877
session.MakeRequest(t, req, 201)
78+
session.MakeRequest(t, req, http.StatusUnprocessableEntity) // second request should fail
79+
}
80+
81+
func TestAPICreatePullWithFieldsSuccess(t *testing.T) {
82+
defer prepareTestEnv(t)()
83+
// repo10 have code, pulls units.
84+
repo10 := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 10}).(*models.Repository)
85+
owner10 := models.AssertExistsAndLoadBean(t, &models.User{ID: repo10.OwnerID}).(*models.User)
86+
// repo11 only have code unit but should still create pulls
87+
repo11 := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 11}).(*models.Repository)
88+
owner11 := models.AssertExistsAndLoadBean(t, &models.User{ID: repo11.OwnerID}).(*models.User)
89+
90+
session := loginUser(t, owner11.Name)
91+
token := getTokenForLoggedInUser(t, session)
92+
93+
opts := &api.CreatePullRequestOption{
94+
Head: fmt.Sprintf("%s:master", owner11.Name),
95+
Base: "master",
96+
Title: "create a failure pr",
97+
Body: "foobaaar",
98+
Milestone: 5,
99+
Assignees: []string{owner10.Name},
100+
Labels: []int64{5},
101+
}
102+
103+
req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls?token=%s", owner10.Name, repo10.Name, token), opts)
104+
105+
res := session.MakeRequest(t, req, 201)
106+
pull := new(api.PullRequest)
107+
DecodeJSON(t, res, pull)
108+
109+
assert.NotNil(t, pull.Milestone)
110+
assert.EqualValues(t, opts.Milestone, pull.Milestone.ID)
111+
if assert.Len(t, pull.Assignees, 1) {
112+
assert.EqualValues(t, opts.Assignees[0], owner10.Name)
113+
}
114+
assert.NotNil(t, pull.Labels)
115+
assert.EqualValues(t, opts.Labels[0], pull.Labels[0].ID)
116+
}
117+
118+
func TestAPICreatePullWithFieldsFailure(t *testing.T) {
119+
defer prepareTestEnv(t)()
120+
// repo10 have code, pulls units.
121+
repo10 := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 10}).(*models.Repository)
122+
owner10 := models.AssertExistsAndLoadBean(t, &models.User{ID: repo10.OwnerID}).(*models.User)
123+
// repo11 only have code unit but should still create pulls
124+
repo11 := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 11}).(*models.Repository)
125+
owner11 := models.AssertExistsAndLoadBean(t, &models.User{ID: repo11.OwnerID}).(*models.User)
126+
127+
session := loginUser(t, owner11.Name)
128+
token := getTokenForLoggedInUser(t, session)
129+
130+
opts := &api.CreatePullRequestOption{
131+
Head: fmt.Sprintf("%s:master", owner11.Name),
132+
Base: "master",
133+
}
134+
135+
req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls?token=%s", owner10.Name, repo10.Name, token), opts)
136+
session.MakeRequest(t, req, http.StatusUnprocessableEntity)
137+
opts.Title = "is required"
138+
139+
opts.Milestone = 666
140+
session.MakeRequest(t, req, http.StatusUnprocessableEntity)
141+
opts.Milestone = 5
142+
143+
opts.Assignees = []string{"qweruqweroiuyqweoiruywqer"}
144+
session.MakeRequest(t, req, http.StatusUnprocessableEntity)
145+
opts.Assignees = []string{owner10.LoginName}
146+
147+
opts.Labels = []int64{55555}
148+
session.MakeRequest(t, req, http.StatusUnprocessableEntity)
149+
opts.Labels = []int64{5}
79150
}
80151

81152
func TestAPIEditPull(t *testing.T) {

models/fixtures/label.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,11 @@
3333
num_issues: 1
3434
num_closed_issues: 0
3535

36+
-
37+
id: 5
38+
repo_id: 10
39+
org_id: 0
40+
name: pull-test-label
41+
color: '#000000'
42+
num_issues: 0
43+
num_closed_issues: 0

models/fixtures/milestone.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,11 @@
2929
content: content random
3030
is_closed: false
3131
num_issues: 0
32+
33+
-
34+
id: 5
35+
repo_id: 10
36+
name: milestone of repo 10
37+
content: for testing with PRs
38+
is_closed: false
39+
num_issues: 0

models/fixtures/repository.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@
148148
num_closed_issues: 0
149149
num_pulls: 1
150150
num_closed_pulls: 0
151+
num_milestones: 1
151152
is_mirror: false
152153
num_forks: 1
153154
status: 0
@@ -734,4 +735,4 @@
734735
num_watches: 0
735736
num_projects: 0
736737
num_closed_projects: 0
737-
status: 0
738+
status: 0

routers/api/v1/repo/pull.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,6 @@ func CreatePullRequest(ctx *context.APIContext) {
295295
var (
296296
repo = ctx.Repo.Repository
297297
labelIDs []int64
298-
assigneeID int64
299298
milestoneID int64
300299
)
301300

@@ -356,7 +355,7 @@ func CreatePullRequest(ctx *context.APIContext) {
356355
}
357356

358357
if form.Milestone > 0 {
359-
milestone, err := models.GetMilestoneByRepoID(ctx.Repo.Repository.ID, milestoneID)
358+
milestone, err := models.GetMilestoneByRepoID(ctx.Repo.Repository.ID, form.Milestone)
360359
if err != nil {
361360
if models.IsErrMilestoneNotExist(err) {
362361
ctx.NotFound()
@@ -380,7 +379,6 @@ func CreatePullRequest(ctx *context.APIContext) {
380379
PosterID: ctx.User.ID,
381380
Poster: ctx.User,
382381
MilestoneID: milestoneID,
383-
AssigneeID: assigneeID,
384382
IsPull: true,
385383
Content: form.Body,
386384
DeadlineUnix: deadlineUnix,

templates/shared/issuelist.tmpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
{{$waitingOfficial := call $approvalCounts .ID "waiting"}}
9393
{{if gt $approveOfficial 0}}
9494
<span class="approvals df ac">
95-
{{svg "octicon-check" 14 "mr-2"}}
95+
{{svg "octicon-check" 14 "mr-1"}}
9696
{{$.i18n.Tr (TrN $.i18n.Lang $approveOfficial "repo.pulls.approve_count_1" "repo.pulls.approve_count_n") $approveOfficial}}
9797
</span>
9898
{{end}}
@@ -104,7 +104,7 @@
104104
{{end}}
105105
{{if gt $waitingOfficial 0}}
106106
<span class="waiting df ac">
107-
{{svg "octicon-eye" 14}}
107+
{{svg "octicon-eye" 14 "mr-2"}}
108108
{{$.i18n.Tr (TrN $.i18n.Lang $waitingOfficial "repo.pulls.waiting_count_1" "repo.pulls.waiting_count_n") $waitingOfficial}}
109109
</span>
110110
{{end}}

0 commit comments

Comments
 (0)