mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-10 02:31:39 +02:00
1 parent
20ea3e204d
commit
26475404d4
2 files changed
+21
-2
No files matched your search
@@ -112,7 +112,7 @@ func (prInfo *pullRequestViewInfo) prepareMergeBoxFormProps(ctx *context.Context
|
|||||||
// if this pr can be merged now, then hide the auto merge
|
// if this pr can be merged now, then hide the auto merge
|
||||||
generalHideAutoMerge := prInfo.MergeBoxData.canMergeNow && allOverridableChecksOk
|
generalHideAutoMerge := prInfo.MergeBoxData.canMergeNow && allOverridableChecksOk
|
||||||
var mergeStyles []any
|
var mergeStyles []any
|
||||||
if pull.IsStatusMergeable() {
|
if pull.IsStatusMergeable() || pull.IsEmpty() {
|
||||||
mergeStyles = []any{
|
mergeStyles = []any{
|
||||||
map[string]any{
|
map[string]any{
|
||||||
"name": "merge",
|
"name": "merge",
|
||||||
@@ -176,7 +176,7 @@ func (prInfo *pullRequestViewInfo) prepareMergeBoxFormProps(ctx *context.Context
|
|||||||
if len(mergeStyles) > 0 {
|
if len(mergeStyles) > 0 {
|
||||||
mergeFormProps["mergeStyles"] = mergeStyles
|
mergeFormProps["mergeStyles"] = mergeStyles
|
||||||
prInfo.MergeBoxData.MergeFormProps = mergeFormProps
|
prInfo.MergeBoxData.MergeFormProps = mergeFormProps
|
||||||
} else if pull.IsStatusMergeable() {
|
} else if pull.IsStatusMergeable() || pull.IsEmpty() {
|
||||||
// no merge style was set in repo setting
|
// no merge style was set in repo setting
|
||||||
prInfo.MergeBoxData.infoCommitBlockers.AddInfoItem(
|
prInfo.MergeBoxData.infoCommitBlockers.AddInfoItem(
|
||||||
svg.RenderHTML("octicon-x", 16, "tw-text-red"),
|
svg.RenderHTML("octicon-x", 16, "tw-text-red"),
|
||||||
|
|||||||
@@ -17,12 +17,14 @@ import (
|
|||||||
repo_model "gitea.dev/models/repo"
|
repo_model "gitea.dev/models/repo"
|
||||||
"gitea.dev/models/unittest"
|
"gitea.dev/models/unittest"
|
||||||
"gitea.dev/modules/commitstatus"
|
"gitea.dev/modules/commitstatus"
|
||||||
|
"gitea.dev/modules/json"
|
||||||
"gitea.dev/modules/setting"
|
"gitea.dev/modules/setting"
|
||||||
api "gitea.dev/modules/structs"
|
api "gitea.dev/modules/structs"
|
||||||
"gitea.dev/modules/test"
|
"gitea.dev/modules/test"
|
||||||
"gitea.dev/services/pull"
|
"gitea.dev/services/pull"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestPullCreate_CommitStatus(t *testing.T) {
|
func TestPullCreate_CommitStatus(t *testing.T) {
|
||||||
@@ -134,6 +136,23 @@ func TestPullCreate_EmptyChangesWithDifferentCommits(t *testing.T) {
|
|||||||
text := strings.TrimSpace(doc.doc.Find(".merge-section").Text())
|
text := strings.TrimSpace(doc.doc.Find(".merge-section").Text())
|
||||||
assert.Contains(t, text, "The changes on this branch are already on the target branch. This will be an empty commit.")
|
assert.Contains(t, text, "The changes on this branch are already on the target branch. This will be an empty commit.")
|
||||||
assert.Contains(t, text, "This pull request can be merged automatically.")
|
assert.Contains(t, text, "This pull request can be merged automatically.")
|
||||||
|
mergeFormProps, exists := doc.doc.Find("#pull-request-merge-form").Attr("data-merge-form-props")
|
||||||
|
require.True(t, exists)
|
||||||
|
var mergeForm struct {
|
||||||
|
EmptyCommit bool `json:"emptyCommit"`
|
||||||
|
CanMergeNow bool `json:"canMergeNow"`
|
||||||
|
MergeStyles []struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
Allowed bool `json:"allowed"`
|
||||||
|
} `json:"mergeStyles"`
|
||||||
|
}
|
||||||
|
require.NoError(t, json.Unmarshal([]byte(mergeFormProps), &mergeForm))
|
||||||
|
assert.True(t, mergeForm.EmptyCommit)
|
||||||
|
assert.True(t, mergeForm.CanMergeNow)
|
||||||
|
assert.Contains(t, mergeForm.MergeStyles, struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
Allowed bool `json:"allowed"`
|
||||||
|
}{Name: "merge", Allowed: true})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user