63 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package models_test
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| 
 | |
| 	. "code.gitea.io/gitea/models"
 | |
| 	"code.gitea.io/gitea/modules/markdown"
 | |
| 	. "github.com/smartystreets/goconvey/convey"
 | |
| )
 | |
| 
 | |
| func TestRepo(t *testing.T) {
 | |
| 	Convey("The metas map", t, func() {
 | |
| 		var repo = new(Repository)
 | |
| 		repo.Name = "testrepo"
 | |
| 		repo.Owner = new(User)
 | |
| 		repo.Owner.Name = "testuser"
 | |
| 		repo.ExternalTrackerFormat = "https://someurl.com/{user}/{repo}/{issue}"
 | |
| 
 | |
| 		Convey("When no external tracker is configured", func() {
 | |
| 			Convey("It should be nil", func() {
 | |
| 				repo.EnableExternalTracker = false
 | |
| 				So(repo.ComposeMetas(), ShouldEqual, map[string]string(nil))
 | |
| 			})
 | |
| 			Convey("It should be nil even if other settings are present", func() {
 | |
| 				repo.EnableExternalTracker = false
 | |
| 				repo.ExternalTrackerFormat = "http://someurl.com/{user}/{repo}/{issue}"
 | |
| 				repo.ExternalTrackerStyle = markdown.IssueNameStyleNumeric
 | |
| 				So(repo.ComposeMetas(), ShouldEqual, map[string]string(nil))
 | |
| 			})
 | |
| 		})
 | |
| 
 | |
| 		Convey("When an external issue tracker is configured", func() {
 | |
| 			repo.EnableExternalTracker = true
 | |
| 			Convey("It should default to numeric issue style", func() {
 | |
| 				metas := repo.ComposeMetas()
 | |
| 				So(metas["style"], ShouldEqual, markdown.IssueNameStyleNumeric)
 | |
| 			})
 | |
| 			Convey("It should pass through numeric issue style setting", func() {
 | |
| 				repo.ExternalTrackerStyle = markdown.IssueNameStyleNumeric
 | |
| 				metas := repo.ComposeMetas()
 | |
| 				So(metas["style"], ShouldEqual, markdown.IssueNameStyleNumeric)
 | |
| 			})
 | |
| 			Convey("It should pass through alphanumeric issue style setting", func() {
 | |
| 				repo.ExternalTrackerStyle = markdown.IssueNameStyleAlphanumeric
 | |
| 				metas := repo.ComposeMetas()
 | |
| 				So(metas["style"], ShouldEqual, markdown.IssueNameStyleAlphanumeric)
 | |
| 			})
 | |
| 			Convey("It should contain the user name", func() {
 | |
| 				metas := repo.ComposeMetas()
 | |
| 				So(metas["user"], ShouldEqual, "testuser")
 | |
| 			})
 | |
| 			Convey("It should contain the repo name", func() {
 | |
| 				metas := repo.ComposeMetas()
 | |
| 				So(metas["repo"], ShouldEqual, "testrepo")
 | |
| 			})
 | |
| 			Convey("It should contain the URL format", func() {
 | |
| 				metas := repo.ComposeMetas()
 | |
| 				So(metas["format"], ShouldEqual, "https://someurl.com/{user}/{repo}/{issue}")
 | |
| 			})
 | |
| 		})
 | |
| 	})
 | |
| }
 |