2016-04-23 01:28:08 +03:00
package models_test
import (
. "github.com/gogits/gogs/models"
2016-07-09 08:22:28 +03:00
. "github.com/smartystreets/goconvey/convey"
"testing"
2016-04-23 01:28:08 +03:00
"github.com/gogits/gogs/modules/markdown"
)
func TestRepo ( t * testing . T ) {
2016-07-09 08:22:28 +03:00
Convey ( "The metas map" , t , func ( ) {
2016-04-23 01:28:08 +03:00
var repo = new ( Repository )
repo . Name = "testrepo"
repo . Owner = new ( User )
repo . Owner . Name = "testuser"
repo . ExternalTrackerFormat = "https://someurl.com/{user}/{repo}/{issue}"
2016-07-09 08:22:28 +03:00
Convey ( "When no external tracker is configured" , func ( ) {
Convey ( "It should be nil" , func ( ) {
2016-04-23 01:28:08 +03:00
repo . EnableExternalTracker = false
So ( repo . ComposeMetas ( ) , ShouldEqual , map [ string ] string ( nil ) )
} )
2016-07-09 08:22:28 +03:00
Convey ( "It should be nil even if other settings are present" , func ( ) {
2016-04-23 01:28:08 +03:00
repo . EnableExternalTracker = false
repo . ExternalTrackerFormat = "http://someurl.com/{user}/{repo}/{issue}"
repo . ExternalTrackerStyle = markdown . ISSUE_NAME_STYLE_NUMERIC
So ( repo . ComposeMetas ( ) , ShouldEqual , map [ string ] string ( nil ) )
} )
} )
2016-07-09 08:22:28 +03:00
Convey ( "When an external issue tracker is configured" , func ( ) {
2016-04-23 01:28:08 +03:00
repo . EnableExternalTracker = true
2016-07-09 08:22:28 +03:00
Convey ( "It should default to numeric issue style" , func ( ) {
2016-04-23 01:28:08 +03:00
metas := repo . ComposeMetas ( )
So ( metas [ "style" ] , ShouldEqual , markdown . ISSUE_NAME_STYLE_NUMERIC )
} )
2016-07-09 08:22:28 +03:00
Convey ( "It should pass through numeric issue style setting" , func ( ) {
2016-04-23 01:28:08 +03:00
repo . ExternalTrackerStyle = markdown . ISSUE_NAME_STYLE_NUMERIC
metas := repo . ComposeMetas ( )
So ( metas [ "style" ] , ShouldEqual , markdown . ISSUE_NAME_STYLE_NUMERIC )
} )
2016-07-09 08:22:28 +03:00
Convey ( "It should pass through alphanumeric issue style setting" , func ( ) {
2016-04-23 01:28:08 +03:00
repo . ExternalTrackerStyle = markdown . ISSUE_NAME_STYLE_ALPHANUMERIC
metas := repo . ComposeMetas ( )
So ( metas [ "style" ] , ShouldEqual , markdown . ISSUE_NAME_STYLE_ALPHANUMERIC )
} )
2016-07-09 08:22:28 +03:00
Convey ( "It should contain the user name" , func ( ) {
2016-04-23 01:28:08 +03:00
metas := repo . ComposeMetas ( )
So ( metas [ "user" ] , ShouldEqual , "testuser" )
} )
2016-07-09 08:22:28 +03:00
Convey ( "It should contain the repo name" , func ( ) {
2016-04-23 01:28:08 +03:00
metas := repo . ComposeMetas ( )
So ( metas [ "repo" ] , ShouldEqual , "testrepo" )
} )
2016-07-09 08:22:28 +03:00
Convey ( "It should contain the URL format" , func ( ) {
2016-04-23 01:28:08 +03:00
metas := repo . ComposeMetas ( )
So ( metas [ "format" ] , ShouldEqual , "https://someurl.com/{user}/{repo}/{issue}" )
} )
} )
} )
}