@ -15,7 +15,7 @@ func TestIntegrationTempUserCommandsAndQueries(t *testing.T) {
if testing . Short ( ) {
if testing . Short ( ) {
t . Skip ( "skipping integration test" )
t . Skip ( "skipping integration test" )
}
}
var store s tore
var store * xormS tore
var tempUser * tempuser . TempUser
var tempUser * tempuser . TempUser
var err error
var err error
cmd := tempuser . CreateTempUserCommand {
cmd := tempuser . CreateTempUserCommand {
@ -27,7 +27,7 @@ func TestIntegrationTempUserCommandsAndQueries(t *testing.T) {
}
}
setup := func ( t * testing . T ) {
setup := func ( t * testing . T ) {
db := db . InitTestDB ( t )
db := db . InitTestDB ( t )
store = & xormStore { db : db }
store = & xormStore { db : db , cfg : db . Cfg }
tempUser , err = store . CreateTempUser ( context . Background ( ) , & cmd )
tempUser , err = store . CreateTempUser ( context . Background ( ) , & cmd )
require . Nil ( t , err )
require . Nil ( t , err )
}
}
@ -56,6 +56,31 @@ func TestIntegrationTempUserCommandsAndQueries(t *testing.T) {
require . Nil ( t , err )
require . Nil ( t , err )
require . Equal ( t , 1 , len ( queryResult ) )
require . Equal ( t , 1 , len ( queryResult ) )
} )
} )
t . Run ( "Should not be able to get temp users by case-insentive email - case sensitive" , func ( t * testing . T ) {
if db . IsTestDbMySQL ( ) {
t . Skip ( "MySQL is case insensitive by default" )
}
setup ( t )
store . cfg . CaseInsensitiveLogin = false
query := tempuser . GetTempUsersQuery { Email : "E@as.co" , Status : tempuser . TmpUserInvitePending }
queryResult , err := store . GetTempUsersQuery ( context . Background ( ) , & query )
require . Nil ( t , err )
require . Equal ( t , 0 , len ( queryResult ) )
} )
t . Run ( "Should be able to get temp users by email - case insensitive" , func ( t * testing . T ) {
setup ( t )
store . cfg . CaseInsensitiveLogin = true
query := tempuser . GetTempUsersQuery { Email : "E@as.co" , Status : tempuser . TmpUserInvitePending }
queryResult , err := store . GetTempUsersQuery ( context . Background ( ) , & query )
require . Nil ( t , err )
require . Equal ( t , 1 , len ( queryResult ) )
t . Cleanup ( func ( ) {
store . cfg . CaseInsensitiveLogin = false
} )
} )
t . Run ( "Should be able to get temp users by code" , func ( t * testing . T ) {
t . Run ( "Should be able to get temp users by code" , func ( t * testing . T ) {
setup ( t )
setup ( t )