2023-04-03 13:06:57 +03:00
// Copyright 2023 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package devtest
import (
"net/http"
"path"
"strings"
2023-04-15 14:01:54 +03:00
"time"
2023-04-03 13:06:57 +03:00
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/templates"
2024-02-27 10:12:22 +03:00
"code.gitea.io/gitea/services/context"
2023-04-03 13:06:57 +03:00
)
// List all devtest templates, they will be used for e2e tests for the UI components
func List ( ctx * context . Context ) {
2023-04-12 13:16:45 +03:00
templateNames , err := templates . AssetFS ( ) . ListFiles ( "devtest" , true )
if err != nil {
ctx . ServerError ( "AssetFS().ListFiles" , err )
return
}
2023-04-03 13:06:57 +03:00
var subNames [ ] string
for _ , tmplName := range templateNames {
2023-04-12 13:16:45 +03:00
subName := strings . TrimSuffix ( tmplName , ".tmpl" )
if subName != "list" {
subNames = append ( subNames , subName )
2023-04-03 13:06:57 +03:00
}
}
ctx . Data [ "SubNames" ] = subNames
ctx . HTML ( http . StatusOK , "devtest/list" )
}
2023-06-14 11:01:37 +03:00
func FetchActionTest ( ctx * context . Context ) {
_ = ctx . Req . ParseForm ( )
2023-07-03 09:04:50 +03:00
ctx . Flash . Info ( "fetch-action: " + ctx . Req . Method + " " + ctx . Req . RequestURI + "<br>" +
2023-06-14 11:01:37 +03:00
"Form: " + ctx . Req . Form . Encode ( ) + "<br>" +
"PostForm: " + ctx . Req . PostForm . Encode ( ) ,
)
time . Sleep ( 2 * time . Second )
ctx . JSONRedirect ( "" )
}
2023-04-03 13:06:57 +03:00
func Tmpl ( ctx * context . Context ) {
2023-04-15 14:01:54 +03:00
now := time . Now ( )
ctx . Data [ "TimeNow" ] = now
ctx . Data [ "TimePast5s" ] = now . Add ( - 5 * time . Second )
ctx . Data [ "TimeFuture5s" ] = now . Add ( 5 * time . Second )
ctx . Data [ "TimePast2m" ] = now . Add ( - 2 * time . Minute )
ctx . Data [ "TimeFuture2m" ] = now . Add ( 2 * time . Minute )
ctx . Data [ "TimePast1y" ] = now . Add ( - 1 * 366 * 86400 * time . Second )
ctx . Data [ "TimeFuture1y" ] = now . Add ( 1 * 366 * 86400 * time . Second )
2023-07-03 09:04:50 +03:00
if ctx . Req . Method == "POST" {
_ = ctx . Req . ParseForm ( )
ctx . Flash . Info ( "form: " + ctx . Req . Method + " " + ctx . Req . RequestURI + "<br>" +
"Form: " + ctx . Req . Form . Encode ( ) + "<br>" +
"PostForm: " + ctx . Req . PostForm . Encode ( ) ,
true ,
)
time . Sleep ( 2 * time . Second )
}
2023-04-03 13:06:57 +03:00
ctx . HTML ( http . StatusOK , base . TplName ( "devtest" + path . Clean ( "/" + ctx . Params ( "sub" ) ) ) )
}