mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-31 22:41:03 +00:00 
			
		
		
		
	This commit allows chaning default branch update style through global and repository settings. The setting affects "Update branch" button in PR view (button shows when some commits are ahead of master branch). When default update style is set to "rebase", dropdown button updates branch by rebase by default. When update style is set to other value, dropdown button updates branch by merge. Any of these actions may be selected using dropdown in any case. Signed-off-by: George Bartolomey <george@bh4.ru>
		
			
				
	
	
		
			88 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2023 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package repo
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| 
 | |
| 	"code.gitea.io/gitea/models/perm"
 | |
| 	"code.gitea.io/gitea/modules/setting"
 | |
| 	"code.gitea.io/gitea/modules/test"
 | |
| 
 | |
| 	"github.com/stretchr/testify/assert"
 | |
| )
 | |
| 
 | |
| func TestActionsConfig(t *testing.T) {
 | |
| 	cfg := &ActionsConfig{}
 | |
| 	cfg.DisableWorkflow("test1.yaml")
 | |
| 	assert.EqualValues(t, []string{"test1.yaml"}, cfg.DisabledWorkflows)
 | |
| 
 | |
| 	cfg.DisableWorkflow("test1.yaml")
 | |
| 	assert.EqualValues(t, []string{"test1.yaml"}, cfg.DisabledWorkflows)
 | |
| 
 | |
| 	cfg.EnableWorkflow("test1.yaml")
 | |
| 	assert.EqualValues(t, []string{}, cfg.DisabledWorkflows)
 | |
| 
 | |
| 	cfg.EnableWorkflow("test1.yaml")
 | |
| 	assert.EqualValues(t, []string{}, cfg.DisabledWorkflows)
 | |
| 
 | |
| 	cfg.DisableWorkflow("test1.yaml")
 | |
| 	cfg.DisableWorkflow("test2.yaml")
 | |
| 	cfg.DisableWorkflow("test3.yaml")
 | |
| 	assert.EqualValues(t, "test1.yaml,test2.yaml,test3.yaml", cfg.ToString())
 | |
| }
 | |
| 
 | |
| func TestRepoUnitAccessMode(t *testing.T) {
 | |
| 	assert.Equal(t, perm.AccessModeNone, UnitAccessModeNone.ToAccessMode(perm.AccessModeAdmin))
 | |
| 	assert.Equal(t, perm.AccessModeRead, UnitAccessModeRead.ToAccessMode(perm.AccessModeAdmin))
 | |
| 	assert.Equal(t, perm.AccessModeWrite, UnitAccessModeWrite.ToAccessMode(perm.AccessModeAdmin))
 | |
| 	assert.Equal(t, perm.AccessModeRead, UnitAccessModeUnset.ToAccessMode(perm.AccessModeRead))
 | |
| }
 | |
| 
 | |
| func TestRepoPRIsUpdateStyleAllowed(t *testing.T) {
 | |
| 	var cfg PullRequestsConfig
 | |
| 	cfg = PullRequestsConfig{
 | |
| 		AllowRebaseUpdate: true,
 | |
| 	}
 | |
| 	assert.True(t, cfg.IsUpdateStyleAllowed(UpdateStyleMerge))
 | |
| 	assert.True(t, cfg.IsUpdateStyleAllowed(UpdateStyleRebase))
 | |
| 
 | |
| 	cfg = PullRequestsConfig{
 | |
| 		AllowRebaseUpdate: false,
 | |
| 	}
 | |
| 	assert.True(t, cfg.IsUpdateStyleAllowed(UpdateStyleMerge))
 | |
| 	assert.False(t, cfg.IsUpdateStyleAllowed(UpdateStyleRebase))
 | |
| }
 | |
| 
 | |
| func TestRepoPRGetDefaultUpdateStyle(t *testing.T) {
 | |
| 	defer test.MockVariableValue(&setting.Repository.PullRequest.DefaultUpdateStyle, "merge")()
 | |
| 
 | |
| 	var cfg PullRequestsConfig
 | |
| 	cfg = PullRequestsConfig{
 | |
| 		DefaultUpdateStyle: "",
 | |
| 	}
 | |
| 	assert.Equal(t, UpdateStyleMerge, cfg.GetDefaultUpdateStyle())
 | |
| 	cfg = PullRequestsConfig{
 | |
| 		DefaultUpdateStyle: "rebase",
 | |
| 	}
 | |
| 	assert.Equal(t, UpdateStyleRebase, cfg.GetDefaultUpdateStyle())
 | |
| 	cfg = PullRequestsConfig{
 | |
| 		DefaultUpdateStyle: "merge",
 | |
| 	}
 | |
| 	assert.Equal(t, UpdateStyleMerge, cfg.GetDefaultUpdateStyle())
 | |
| 
 | |
| 	setting.Repository.PullRequest.DefaultUpdateStyle = "rebase"
 | |
| 	cfg = PullRequestsConfig{
 | |
| 		DefaultUpdateStyle: "",
 | |
| 	}
 | |
| 	assert.Equal(t, UpdateStyleRebase, cfg.GetDefaultUpdateStyle())
 | |
| 	cfg = PullRequestsConfig{
 | |
| 		DefaultUpdateStyle: "rebase",
 | |
| 	}
 | |
| 	assert.Equal(t, UpdateStyleRebase, cfg.GetDefaultUpdateStyle())
 | |
| 	cfg = PullRequestsConfig{
 | |
| 		DefaultUpdateStyle: "merge",
 | |
| 	}
 | |
| 	assert.Equal(t, UpdateStyleMerge, cfg.GetDefaultUpdateStyle())
 | |
| }
 |