mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-22 05:15:33 +03:00
[TESTS] add TestAPIForkDifferentName
Refs: https://codeberg.org/forgejo/forgejo/pulls/1719 (cherry picked from commited34138915
) (cherry picked from commit166d769a6e
) (cherry picked from commit8da818646c
) (cherry picked from commit95c9d6ede4
) (cherry picked from commit505ffa2cc4
)
This commit is contained in:
parent
00f86df8f4
commit
602bf1fa7f
1 changed files with 23 additions and 0 deletions
|
@ -209,6 +209,29 @@ func TestAPIEditPull(t *testing.T) {
|
|||
MakeRequest(t, req, http.StatusNotFound)
|
||||
}
|
||||
|
||||
func TestAPIForkDifferentName(t *testing.T) {
|
||||
defer tests.PrepareTestEnv(t)()
|
||||
|
||||
// Step 1: get a repo and a user that can fork this repo
|
||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
||||
owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID})
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 5})
|
||||
|
||||
session := loginUser(t, user.Name)
|
||||
token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser)
|
||||
|
||||
// Step 2: fork this repo with another name
|
||||
forkName := "myfork"
|
||||
req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/forks?token="+token, owner.Name, repo.Name),
|
||||
&api.CreateForkOption{Name: &forkName})
|
||||
MakeRequest(t, req, http.StatusAccepted)
|
||||
|
||||
// Step 3: make a PR onto the original repo, it should succeed
|
||||
req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/pulls?state=all&token="+token, owner.Name, repo.Name),
|
||||
&api.CreatePullRequestOption{Head: user.Name + ":master", Base: "master", Title: "hi"})
|
||||
MakeRequest(t, req, http.StatusCreated)
|
||||
}
|
||||
|
||||
func doAPIGetPullFiles(ctx APITestContext, pr *api.PullRequest, callback func(*testing.T, []*api.ChangedFile)) func(*testing.T) {
|
||||
return func(t *testing.T) {
|
||||
req := NewRequest(t, http.MethodGet, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/files", ctx.Username, ctx.Reponame, pr.Index)).
|
||||
|
|
Loading…
Reference in a new issue