mirror of https://github.com/gogs/gogs.git
55 lines
1.5 KiB
Go
55 lines
1.5 KiB
Go
package database
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"gogs.io/gogs/internal/markup"
|
|
)
|
|
|
|
func TestRepository_ComposeMetas(t *testing.T) {
|
|
repo := &Repository{
|
|
Name: "testrepo",
|
|
Owner: &User{
|
|
Name: "testuser",
|
|
},
|
|
ExternalTrackerFormat: "https://someurl.com/{user}/{repo}/{issue}",
|
|
}
|
|
|
|
t.Run("no external tracker is configured", func(t *testing.T) {
|
|
repo.EnableExternalTracker = false
|
|
|
|
metas := repo.ComposeMetas()
|
|
assert.Equal(t, metas["repoLink"], repo.Link())
|
|
|
|
// Should no format and style if no external tracker is configured
|
|
_, ok := metas["format"]
|
|
assert.False(t, ok)
|
|
_, ok = metas["style"]
|
|
assert.False(t, ok)
|
|
})
|
|
|
|
t.Run("an external issue tracker is configured", func(t *testing.T) {
|
|
repo.ExternalMetas = nil
|
|
repo.EnableExternalTracker = true
|
|
|
|
// Default to numeric issue style
|
|
assert.Equal(t, markup.IssueNameStyleNumeric, repo.ComposeMetas()["style"])
|
|
repo.ExternalMetas = nil
|
|
|
|
repo.ExternalTrackerStyle = markup.IssueNameStyleNumeric
|
|
assert.Equal(t, markup.IssueNameStyleNumeric, repo.ComposeMetas()["style"])
|
|
repo.ExternalMetas = nil
|
|
|
|
repo.ExternalTrackerStyle = markup.IssueNameStyleAlphanumeric
|
|
assert.Equal(t, markup.IssueNameStyleAlphanumeric, repo.ComposeMetas()["style"])
|
|
repo.ExternalMetas = nil
|
|
|
|
metas := repo.ComposeMetas()
|
|
assert.Equal(t, "testuser", metas["user"])
|
|
assert.Equal(t, "testrepo", metas["repo"])
|
|
assert.Equal(t, "https://someurl.com/{user}/{repo}/{issue}", metas["format"])
|
|
})
|
|
}
|