feat: 迁移商务旗下渠道查询和抽屉
This commit is contained in:
@@ -34,6 +34,8 @@ def main():
|
||||
data = body.get("data")
|
||||
if isinstance(data, dict) and "rows" in data:
|
||||
item.update(total=data.get("total"), rows=len(data["rows"]))
|
||||
if "available" in data:
|
||||
item["available"] = data["available"]
|
||||
results.append(item)
|
||||
print(json.dumps(item, ensure_ascii=False), flush=True)
|
||||
return data if item["passed"] else None
|
||||
@@ -51,6 +53,7 @@ def main():
|
||||
request("GET", "/sw/business/list?" + urllib.parse.urlencode({"userName": account["userName"]}))
|
||||
bound = next((row for row in first["rows"] if row["bindCount"] > 0), account)
|
||||
request("GET", f"/sw/business/{bound['userId']}/bindPlatform")
|
||||
request("GET", f"/sw/business/{bound['userId']}/promotes")
|
||||
request("GET", "/sw/user/preference")
|
||||
request("GET", "/sw/business/bindPlatform?pageNum=1&pageSize=10")
|
||||
request("GET", "/sw/business/bindPlatform?sourceDb=lx,hw&status=0&pageSize=2")
|
||||
|
||||
@@ -13,13 +13,14 @@ const { chromium } = require(process.env.SW_PLAYWRIGHT_MODULE || 'playwright');
|
||||
const page = await context.newPage();
|
||||
const pageErrors=[];
|
||||
page.on('pageerror',e=>pageErrors.push(e.message));
|
||||
let bindingCalls=0;
|
||||
let bindingCalls=0; const channelCalls=[];
|
||||
await page.route('http://127.0.0.1:8080/api/**', async route => {
|
||||
const request=route.request();
|
||||
const uri=new URL(request.url());
|
||||
const apiPath=uri.pathname.slice(4);
|
||||
let body;
|
||||
if(apiPath==='/sw/business/list') body={code:0,msg:'成功',data:{rows:[{userId:79999,userName:'展示测试商务',level:2,parentUserName:'上级商务',realName:'测试姓名',phoneNumber:'',bindCount:0,promoteCount:0,createTime:'2026-11-03 10:00:00',status:'0',authorityId:902}],total:1}};
|
||||
else if(/^\/sw\/business\/\d+\/promotes$/.test(apiPath)) { channelCalls.push(Object.fromEntries(uri.searchParams)); body={code:0,msg:'成功',data:{rows:[{promoteId:1,promoteName:'渠道测试',sourceDb:'lx',platformName:'龙翔'}],total:1,available:true}}; }
|
||||
else if(apiPath==='/sw/business/bindPlatform') {
|
||||
bindingCalls++;
|
||||
body={code:0,msg:'成功',data:{total:3,rows:['0','2','3'].map((status,i)=>({userId:70000+level,sourceDb:'lx',platformName:'龙翔',platformBusierId:10+i,platformBusierAccount:['正常账号','驳回账号','待审账号'][i],bindUserName:'测试商务',promoteCount:status==='0'?2:0,status,createTime:'2026-11-03 10:00:00',reviewTime:'2026-11-03 11:00:00',reviewAccount:'测试审核人',rejectReason:status==='2'?'测试驳回原因':null}))}};
|
||||
@@ -41,7 +42,7 @@ const { chromium } = require(process.env.SW_PLAYWRIGHT_MODULE || 'playwright');
|
||||
if(tabs!==(level===3?1:0)||editButtons!==0) throw new Error('页面权限或编辑入口不一致 level='+level);
|
||||
const result={level,bindingTab:tabs===1,editButtons,passed:true};
|
||||
if(level===1 || level===2) {
|
||||
await page.getByRole('row').filter({hasText:'展示测试商务'}).getByRole('button',{name:'0',exact:true}).click();
|
||||
await page.getByRole('row').filter({hasText:'展示测试商务'}).getByRole('button',{name:'查看SDK商务绑定详情',exact:true}).click();
|
||||
await page.getByRole('dialog',{name:'SDK商务绑定详情'}).waitFor();
|
||||
result.sdkDetailReadonly=(await page.getByRole('dialog',{name:'SDK商务绑定详情'}).getByRole('button',{name:'解绑',exact:true}).count())===0;
|
||||
if(!result.sdkDetailReadonly)throw new Error('SDK 详情出现写操作');
|
||||
@@ -58,6 +59,15 @@ const { chromium } = require(process.env.SW_PLAYWRIGHT_MODULE || 'playwright');
|
||||
result.pendingUnbind=await pending.getByRole('button',{name:'解绑',exact:true}).count();
|
||||
result.rejectedDetail=await rejected.getByRole('button',{name:'查看驳回',exact:true}).count();
|
||||
if(result.normalUnbind!==1||result.rejectedUnbind||result.pendingUnbind||result.rejectedDetail!==1)throw new Error('绑定状态操作不一致');
|
||||
result.rejectedChannelsDisabled=await rejected.getByRole('button',{name:'查看旗下渠道',exact:true}).isDisabled();
|
||||
result.pendingChannelsDisabled=await pending.getByRole('button',{name:'查看旗下渠道',exact:true}).isDisabled();
|
||||
if(!result.rejectedChannelsDisabled || !result.pendingChannelsDisabled)throw new Error('未通过绑定仍可查看渠道');
|
||||
await normal.getByRole('button',{name:'查看旗下渠道',exact:true}).click();
|
||||
await page.getByText('渠道测试',{exact:true}).waitFor();
|
||||
const channelQuery=channelCalls.at(-1);
|
||||
if(channelQuery.sourceDb!=='lx'||channelQuery.platformBusierId!=='10')throw new Error('旗下渠道未携带平台和商务筛选');
|
||||
result.channelFilters=true;
|
||||
await page.getByRole('dialog',{name:'旗下渠道',exact:true}).getByRole('button',{name:'关闭此对话框',exact:true}).click();
|
||||
await rejected.getByRole('button',{name:'查看驳回',exact:true}).click();
|
||||
await page.getByText('测试驳回原因',{exact:true}).waitFor();
|
||||
const panel=await page.getByRole('dialog',{name:'审核详情',exact:true}).elementHandle();
|
||||
|
||||
Reference in New Issue
Block a user