179 lines
4.2 KiB
JavaScript
179 lines
4.2 KiB
JavaScript
// 简单的地址保存功能测试
|
||
// 可以在浏览器控制台中运行
|
||
|
||
// 模拟地址API
|
||
const mockAddressApi = {
|
||
add: function(data) {
|
||
return new Promise((resolve) => {
|
||
console.log('🧪 [模拟API] 添加地址:', data)
|
||
// 模拟成功响应
|
||
setTimeout(() => {
|
||
resolve({
|
||
code: 200,
|
||
message: '添加成功',
|
||
data: {
|
||
id: Date.now(),
|
||
...data,
|
||
createTime: new Date().toISOString()
|
||
}
|
||
})
|
||
}, 1000)
|
||
})
|
||
},
|
||
|
||
update: function(data) {
|
||
return new Promise((resolve) => {
|
||
console.log('🧪 [模拟API] 更新地址:', data)
|
||
setTimeout(() => {
|
||
resolve({
|
||
code: 200,
|
||
message: '更新成功',
|
||
data: data
|
||
})
|
||
}, 1000)
|
||
})
|
||
}
|
||
}
|
||
|
||
// 测试地址保存功能
|
||
async function testAddressSave() {
|
||
console.log('🔍 [测试] 开始测试地址保存功能')
|
||
|
||
// 模拟表单数据
|
||
const formData = {
|
||
name: '测试用户',
|
||
phone: '13800138000',
|
||
province: '北京市',
|
||
city: '北京市',
|
||
district: '朝阳区',
|
||
detail: '测试地址123号',
|
||
isDefault: 1
|
||
}
|
||
|
||
console.log('🔍 [测试] 表单数据:', formData)
|
||
|
||
try {
|
||
// 测试添加地址
|
||
console.log('🔍 [测试] 调用添加地址接口')
|
||
const result = await mockAddressApi.add(formData)
|
||
console.log('🔍 [测试] 添加结果:', result)
|
||
|
||
if (result.code === 200) {
|
||
console.log('✅ [测试] 地址添加成功!')
|
||
|
||
// 测试更新地址
|
||
console.log('🔍 [测试] 调用更新地址接口')
|
||
const updateData = {
|
||
...result.data,
|
||
name: '更新后的用户名'
|
||
}
|
||
const updateResult = await mockAddressApi.update(updateData)
|
||
console.log('🔍 [测试] 更新结果:', updateResult)
|
||
|
||
if (updateResult.code === 200) {
|
||
console.log('✅ [测试] 地址更新成功!')
|
||
}
|
||
}
|
||
} catch (error) {
|
||
console.error('❌ [测试] 测试失败:', error)
|
||
}
|
||
}
|
||
|
||
// 运行测试
|
||
testAddressSave()
|
||
|
||
// 测试表单验证
|
||
function testFormValidation() {
|
||
console.log('🔍 [验证] 测试表单验证逻辑')
|
||
|
||
const testCases = [
|
||
{
|
||
name: '',
|
||
phone: '13800138000',
|
||
province: '北京市',
|
||
city: '北京市',
|
||
district: '朝阳区',
|
||
detail: '测试地址',
|
||
expected: false
|
||
},
|
||
{
|
||
name: '测试用户',
|
||
phone: '',
|
||
province: '北京市',
|
||
city: '北京市',
|
||
district: '朝阳区',
|
||
detail: '测试地址',
|
||
expected: false
|
||
},
|
||
{
|
||
name: '测试用户',
|
||
phone: '13800138000',
|
||
province: '',
|
||
city: '北京市',
|
||
district: '朝阳区',
|
||
detail: '测试地址',
|
||
expected: false
|
||
},
|
||
{
|
||
name: '测试用户',
|
||
phone: '13800138000',
|
||
province: '北京市',
|
||
city: '北京市',
|
||
district: '朝阳区',
|
||
detail: '',
|
||
expected: false
|
||
},
|
||
{
|
||
name: '测试用户',
|
||
phone: '13800138000',
|
||
province: '北京市',
|
||
city: '北京市',
|
||
district: '朝阳区',
|
||
detail: '测试地址',
|
||
expected: true
|
||
}
|
||
]
|
||
|
||
testCases.forEach((testCase, index) => {
|
||
const isValid = validateForm(testCase)
|
||
const result = isValid === testCase.expected ? '✅ 通过' : '❌ 失败'
|
||
console.log(`🔍 [验证] 测试用例 ${index + 1}: ${result}`)
|
||
})
|
||
}
|
||
|
||
// 表单验证函数(从edit.vue复制)
|
||
function validateForm(form) {
|
||
if (!form.name) {
|
||
console.log('❌ 请输入收货人姓名')
|
||
return false
|
||
}
|
||
|
||
if (!form.phone) {
|
||
console.log('❌ 请输入手机号')
|
||
return false
|
||
}
|
||
|
||
if (!/^1[3-9]\d{9}$/.test(form.phone)) {
|
||
console.log('❌ 请输入正确的手机号')
|
||
return false
|
||
}
|
||
|
||
if (!form.province || !form.city || !form.district) {
|
||
console.log('❌ 请选择所在地区')
|
||
return false
|
||
}
|
||
|
||
if (!form.detail) {
|
||
console.log('❌ 请输入详细地址')
|
||
return false
|
||
}
|
||
|
||
return true
|
||
}
|
||
|
||
// 运行验证测试
|
||
testFormValidation()
|
||
|
||
console.log('🎉 [完成] 地址管理功能测试完成!')
|
||
console.log('💡 [提示] 如果后端服务器无法启动,可以使用这个模拟API进行前端测试')
|