fix: validation is missing on the testsuite creation UI (#126)

This commit is contained in:
Rick 2023-07-13 15:58:26 +08:00 committed by GitHub
parent 581b6527ae
commit 7bd43cc4a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 45 additions and 31 deletions

View File

@ -2,7 +2,7 @@
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { reactive, ref, watch } from 'vue' import { reactive, ref, watch } from 'vue'
import { Edit } from '@element-plus/icons-vue' import { Edit } from '@element-plus/icons-vue'
import type { FormInstance } from 'element-plus' import type { FormInstance, FormRules } from 'element-plus'
const props = defineProps({ const props = defineProps({
name: String, name: String,
@ -62,6 +62,12 @@ const testCaseForm = reactive({
name: "", name: "",
api: "", api: "",
}) })
const rules = reactive<FormRules<Suite>>({
name: [
{ required: true, message: 'Please input TestCase name', trigger: 'blur' },
]
})
function openNewTestCaseDialog() { function openNewTestCaseDialog() {
loadTestSuites() loadTestSuites()
dialogVisible.value = true dialogVisible.value = true
@ -80,8 +86,10 @@ function loadTestSuites() {
}); });
} }
const submitForm = (formEl: FormInstance | undefined) => { const submitForm = async (formEl: FormInstance | undefined) => {
if (!formEl) return if (!formEl) return
await formEl.validate((valid: boolean, fields) => {
if (valid) {
suiteCreatingLoading.value = true suiteCreatingLoading.value = true
const requestOptions = { const requestOptions = {
@ -107,6 +115,8 @@ const submitForm = (formEl: FormInstance | undefined) => {
dialogVisible.value = false dialogVisible.value = false
} }
})
}
function del() { function del() {
const requestOptions = { const requestOptions = {
@ -147,6 +157,8 @@ const testSuiteList = ref([])
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-form <el-form
:rules="rules"
:model="testCaseForm"
ref="testcaseFormRef" ref="testcaseFormRef"
status-icon status-icon
label-width="120px" label-width="120px"

View File

@ -112,6 +112,7 @@ func (l *fileLoader) CreateSuite(name, api string) (err error) {
l.parent = path.Dir(absPath) l.parent = path.Dir(absPath)
} }
newSuiteFile := path.Join(l.parent, fmt.Sprintf("%s.yaml", name)) newSuiteFile := path.Join(l.parent, fmt.Sprintf("%s.yaml", name))
if newSuiteFile, err = filepath.Abs(newSuiteFile); err == nil {
fmt.Println("new suite file:", newSuiteFile) fmt.Println("new suite file:", newSuiteFile)
suite := &TestSuite{ suite := &TestSuite{
@ -122,6 +123,7 @@ func (l *fileLoader) CreateSuite(name, api string) (err error) {
l.Put(newSuiteFile) l.Put(newSuiteFile)
} }
} }
}
return return
} }