You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
3.7 KiB
135 lines
3.7 KiB
package showcase
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"automatedtesting/usecases_server/models"
|
|
"automatedtesting/usecases_server/utils"
|
|
"automatedtesting/usecases_server/utils/cyllib/log"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func (s *CaseController) get_input(input []utils.Inputdata) (module, index string) {
|
|
for _, d := range input {
|
|
switch d.Name {
|
|
case "module":
|
|
module = d.Input
|
|
case "index":
|
|
index = d.Input
|
|
}
|
|
}
|
|
return
|
|
}
|
|
func (s *CaseController) GetCaseData(public utils.PublicData, c *gin.Context) (*[]CaseController, int64) {
|
|
casec := []CaseController{}
|
|
var total int64
|
|
module, index := s.get_input(public.Input)
|
|
che := public.Checked
|
|
var pubgorm *gorm.DB
|
|
pubgorm = models.GetDb().Table("cases").Where("gid = ? and child_module like ? and indexes like ?", public.Id, utils.LikeJoin(module), "%%"+index+"%%")
|
|
if che.Succ == "" && che.Fail == "" {
|
|
|
|
} else if che.Succ == "checked" && che.Fail == "checked" {
|
|
pubgorm = pubgorm.Where("result <> ?", "")
|
|
} else if che.Succ == "checked" && che.Fail == "" {
|
|
pubgorm = pubgorm.Where("result = ?", "T")
|
|
} else if che.Succ == "" && che.Fail == "checked" {
|
|
pubgorm = pubgorm.Where("result = ?", "F")
|
|
}
|
|
|
|
if err := pubgorm.Count(&total).Error; err != nil {
|
|
log.WriteErr(err)
|
|
}
|
|
if err := pubgorm.Order("id").Limit(public.Limit).Offset(public.Offset).Find(&casec).Error; err != nil {
|
|
log.WriteErr(err)
|
|
}
|
|
return &casec, total
|
|
}
|
|
|
|
func (s *CaseController) GetCaseAllData(public utils.PublicData, c *gin.Context) *[]CaseController {
|
|
casec := []CaseController{}
|
|
// var total int64
|
|
module, index := s.get_input(public.Input)
|
|
che := public.Checked
|
|
var pubgorm *gorm.DB
|
|
pubgorm = models.GetDb().Table("cases").Where("gid = ? and child_module like ? and indexes like ?", public.Id, utils.LikeJoin(module), "%%"+index+"%%")
|
|
if che.Succ == "" && che.Fail == "" {
|
|
|
|
} else if che.Succ == "checked" && che.Fail == "checked" {
|
|
pubgorm = pubgorm.Where("result <> ?", "")
|
|
} else if che.Succ == "checked" && che.Fail == "" {
|
|
pubgorm = pubgorm.Where("result = ?", "T")
|
|
} else if che.Succ == "" && che.Fail == "checked" {
|
|
pubgorm = pubgorm.Where("result = ?", "F")
|
|
}
|
|
|
|
if err := pubgorm.Order("id").Find(&casec).Error; err != nil {
|
|
log.WriteErr(err)
|
|
}
|
|
return &casec
|
|
}
|
|
|
|
type forms struct {
|
|
Id int
|
|
Module string
|
|
Childmodule string
|
|
Title string
|
|
Step []string
|
|
Expect []string
|
|
}
|
|
|
|
func (s *CaseController) UCase(c *gin.Context) models.Cases {
|
|
f := c.Query("row")
|
|
form := forms{}
|
|
json.Unmarshal([]byte(f), &form)
|
|
step, expect := "", ""
|
|
for i, _ := range form.Step {
|
|
step = fmt.Sprint(step, i+1, ".", form.Step[i])
|
|
expect = fmt.Sprint(expect, i+1, ".", form.Expect[i])
|
|
if i != len(form.Step)-1 {
|
|
step += "\r\n"
|
|
expect += "\r\n"
|
|
}
|
|
}
|
|
cas := models.Cases{
|
|
Id: form.Id,
|
|
Title: form.Title,
|
|
Module: form.Module,
|
|
ChildModule: form.Childmodule,
|
|
Step: step,
|
|
Expect: expect,
|
|
}
|
|
return cas
|
|
}
|
|
func (s *CaseController) ACase(c *gin.Context) models.Cases {
|
|
f := c.Query("row")
|
|
form := forms{}
|
|
json.Unmarshal([]byte(f), &form)
|
|
step, expect := "", ""
|
|
for i, _ := range form.Step {
|
|
step = fmt.Sprint(step, i+1, ".", form.Step[i])
|
|
expect = fmt.Sprint(expect, i+1, ".", form.Expect[i])
|
|
if i != len(form.Step)-1 {
|
|
step += "\r\n"
|
|
expect += "\r\n"
|
|
}
|
|
}
|
|
// cs:=models.Cases{}
|
|
index := 0
|
|
// models.GetDb().Table("cases").Where("gid = ?",form.Id).Order("indexes DESC").First(&cs)
|
|
models.GetDb().Raw("SELECT indexes FROM `cases` WHERE gid = 227 ORDER BY indexes DESC Limit 1").Scan(&index)
|
|
|
|
cas := models.Cases{
|
|
// Id: form.Id,
|
|
Gid: form.Id,
|
|
Title: form.Title,
|
|
Module: form.Module,
|
|
ChildModule: form.Childmodule,
|
|
Step: step,
|
|
Expect: expect,
|
|
Indexes: index + 1,
|
|
}
|
|
return cas
|
|
}
|
|
|