[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…
	
	Add table
		Add a link
		
	
		Reference in a new issue