|
|
@@ -62,12 +62,12 @@ test('simple group creation keeps chat lightweight and explicit delivery has edi
|
|
|
await page.getByRole('textbox',{name:'密码',exact:true}).fill('fixture-pass')
|
|
|
await page.getByRole('button',{name:'登录',exact:true}).click()
|
|
|
await expect(page.locator('.desktop-sidebar .sidebar-create-trigger')).toBeVisible()
|
|
|
- for (const [name,canManageTeam] of [['交付负责人',true],['协作成员',false]] as const) {
|
|
|
+ for (const name of ['交付负责人','协作成员']) {
|
|
|
await page.locator('.desktop-sidebar .sidebar-create-trigger').click()
|
|
|
await page.getByRole('menuitem',{name:'新建 Bot',exact:true}).click()
|
|
|
const editor=page.getByRole('dialog',{name:'创建机器人'})
|
|
|
await editor.getByRole('textbox',{name:'名称',exact:true}).fill(name)
|
|
|
- if(canManageTeam)await editor.getByRole('checkbox',{name:'允许组建团队',exact:true}).check()
|
|
|
+ await expect(editor.getByRole('checkbox',{name:'允许组建团队',exact:true})).toHaveCount(0)
|
|
|
await editor.getByRole('button',{name:'保存',exact:true}).click()
|
|
|
await expect(page.getByRole('heading',{name,exact:true})).toBeVisible()
|
|
|
}
|
|
|
@@ -128,7 +128,7 @@ test('simple group creation keeps chat lightweight and explicit delivery has edi
|
|
|
await expect(page.locator('.task-plan header')).toContainText('已停止')
|
|
|
})
|
|
|
|
|
|
-test('team permission defaults off, saves, reloads and revokes in the Agent editor', async ({page},testInfo) => {
|
|
|
+test('new bots can team by default and the permission checkboxes are gone', async ({page}) => {
|
|
|
await page.goto('/conversations')
|
|
|
await page.getByRole('textbox',{name:'账号',exact:true}).fill('fixture')
|
|
|
await page.getByRole('textbox',{name:'密码',exact:true}).fill('fixture-pass')
|
|
|
@@ -136,32 +136,15 @@ test('team permission defaults off, saves, reloads and revokes in the Agent edit
|
|
|
await expect(page.getByRole('heading',{name:'还没有聊天'})).toBeVisible()
|
|
|
await page.locator('.desktop-sidebar .sidebar-create-trigger').click()
|
|
|
await page.getByRole('menuitem',{name:'新建 Bot',exact:true}).click()
|
|
|
- const dialog=page.getByRole('dialog'), permission=dialog.getByRole('checkbox',{name:'允许组建团队',exact:true})
|
|
|
+ const dialog=page.getByRole('dialog')
|
|
|
+ await expect(dialog.getByRole('checkbox',{name:'允许组建团队',exact:true})).toHaveCount(0)
|
|
|
+ await expect(dialog.getByRole('checkbox',{name:'允许 Bot 协作',exact:true})).toHaveCount(0)
|
|
|
await dialog.getByRole('textbox',{name:'名称',exact:true}).fill('组队老板')
|
|
|
- await expect(permission).not.toBeChecked()
|
|
|
- await permission.check()
|
|
|
- await permission.scrollIntoViewIfNeeded()
|
|
|
- await page.screenshot({path:testInfo.outputPath('team-permission-desktop.png')})
|
|
|
const saved=page.waitForResponse(r=>r.request().method()==='POST' && r.url().endsWith('/api/app/agents'))
|
|
|
await dialog.getByRole('button',{name:'保存',exact:true}).click()
|
|
|
const response=await saved
|
|
|
expect(response.ok(),await response.text()).toBe(true)
|
|
|
- const agent=(await response.json()).agent
|
|
|
- expect(agent.canManageTeam).toBe(true)
|
|
|
- await page.reload()
|
|
|
- await expect(page.getByRole('heading',{name:'组队老板',exact:true})).toBeVisible()
|
|
|
- const edit=page.getByRole('button',{name:'聊天设置',exact:true})
|
|
|
- await edit.click()
|
|
|
- await expect(permission).toBeChecked()
|
|
|
- await page.setViewportSize({width:375,height:812})
|
|
|
- await page.emulateMedia({colorScheme:'dark',reducedMotion:'reduce'})
|
|
|
- await permission.scrollIntoViewIfNeeded()
|
|
|
- await page.screenshot({path:testInfo.outputPath('team-permission-mobile.png')})
|
|
|
- await permission.uncheck()
|
|
|
- const revoked=page.waitForResponse(r=>r.request().method()==='PATCH' && r.url().endsWith(`/api/app/agents/${agent.id}`))
|
|
|
- await dialog.getByRole('button',{name:'保存',exact:true}).click()
|
|
|
- expect((await (await revoked).json()).agent.canManageTeam).toBe(false)
|
|
|
- expect((await (await page.request.get('/api/app/agents')).json()).agents.find((a:any)=>a.id===agent.id).canManageTeam).toBe(false)
|
|
|
+ expect((await response.json()).agent.canManageTeam).toBe(true)
|
|
|
})
|
|
|
|
|
|
test('task plans show owners and keep independent text and attachment drafts when switching tasks',async({page},testInfo)=>{
|