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

179 lines
4.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 简单的地址保存功能测试
// 可以在浏览器控制台中运行
// 模拟地址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进行前端测试')