peixue-dev/Archive/peidu-temp-files/scripts/[一次性]test-address-functionality.js

179 lines
4.2 KiB
JavaScript
Raw Normal View History

2026-02-28 17:26:03 +08:00
// 简单的地址保存功能测试
// 可以在浏览器控制台中运行
// 模拟地址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进行前端测试')