fix: validation is missing on the testsuite creation UI (#126)
This commit is contained in:
parent
581b6527ae
commit
7bd43cc4a5
|
@ -2,7 +2,7 @@
|
|||
import { ElMessage } from 'element-plus'
|
||||
import { reactive, ref, watch } from 'vue'
|
||||
import { Edit } from '@element-plus/icons-vue'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import type { FormInstance, FormRules } from 'element-plus'
|
||||
|
||||
const props = defineProps({
|
||||
name: String,
|
||||
|
@ -62,6 +62,12 @@ const testCaseForm = reactive({
|
|||
name: "",
|
||||
api: "",
|
||||
})
|
||||
const rules = reactive<FormRules<Suite>>({
|
||||
name: [
|
||||
{ required: true, message: 'Please input TestCase name', trigger: 'blur' },
|
||||
]
|
||||
})
|
||||
|
||||
function openNewTestCaseDialog() {
|
||||
loadTestSuites()
|
||||
dialogVisible.value = true
|
||||
|
@ -80,32 +86,36 @@ function loadTestSuites() {
|
|||
});
|
||||
}
|
||||
|
||||
const submitForm = (formEl: FormInstance | undefined) => {
|
||||
const submitForm = async (formEl: FormInstance | undefined) => {
|
||||
if (!formEl) return
|
||||
suiteCreatingLoading.value = true
|
||||
await formEl.validate((valid: boolean, fields) => {
|
||||
if (valid) {
|
||||
suiteCreatingLoading.value = true
|
||||
|
||||
const requestOptions = {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
suiteName: testCaseForm.suiteName,
|
||||
data: {
|
||||
name: testCaseForm.name,
|
||||
request: {
|
||||
api: testCaseForm.api,
|
||||
method: "GET",
|
||||
}
|
||||
},
|
||||
})
|
||||
};
|
||||
const requestOptions = {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
suiteName: testCaseForm.suiteName,
|
||||
data: {
|
||||
name: testCaseForm.name,
|
||||
request: {
|
||||
api: testCaseForm.api,
|
||||
method: "GET",
|
||||
}
|
||||
},
|
||||
})
|
||||
};
|
||||
|
||||
fetch('/server.Runner/CreateTestCase', requestOptions)
|
||||
.then(response => response.json())
|
||||
.then(() => {
|
||||
suiteCreatingLoading.value = false
|
||||
emit('updated', 'hello from child')
|
||||
});
|
||||
|
||||
dialogVisible.value = false
|
||||
fetch('/server.Runner/CreateTestCase', requestOptions)
|
||||
.then(response => response.json())
|
||||
.then(() => {
|
||||
suiteCreatingLoading.value = false
|
||||
emit('updated', 'hello from child')
|
||||
});
|
||||
|
||||
dialogVisible.value = false
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function del() {
|
||||
|
@ -147,6 +157,8 @@ const testSuiteList = ref([])
|
|||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-form
|
||||
:rules="rules"
|
||||
:model="testCaseForm"
|
||||
ref="testcaseFormRef"
|
||||
status-icon
|
||||
label-width="120px"
|
||||
|
|
|
@ -112,14 +112,16 @@ func (l *fileLoader) CreateSuite(name, api string) (err error) {
|
|||
l.parent = path.Dir(absPath)
|
||||
}
|
||||
newSuiteFile := path.Join(l.parent, fmt.Sprintf("%s.yaml", name))
|
||||
fmt.Println("new suite file:", newSuiteFile)
|
||||
if newSuiteFile, err = filepath.Abs(newSuiteFile); err == nil {
|
||||
fmt.Println("new suite file:", newSuiteFile)
|
||||
|
||||
suite := &TestSuite{
|
||||
Name: name,
|
||||
API: api,
|
||||
}
|
||||
if err = SaveTestSuiteToFile(suite, newSuiteFile); err == nil {
|
||||
l.Put(newSuiteFile)
|
||||
suite := &TestSuite{
|
||||
Name: name,
|
||||
API: api,
|
||||
}
|
||||
if err = SaveTestSuiteToFile(suite, newSuiteFile); err == nil {
|
||||
l.Put(newSuiteFile)
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
|
|
Loading…
Reference in New Issue