mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-09-24 04:27:27 +08:00
test(core): edgeless shape e2e (#11446)
### TL;DR Add Edgeless shape ai e2e tests. ### What Changed - Add Edgeless shape make it real e2e - Add Edgeless shape generate image e2e - Fix Edgeless generate headings e2e
This commit is contained in:
@@ -51,6 +51,21 @@ test.describe('AIAction/GenerateAnImageWithText', () => {
|
||||
expect(responses).toEqual(new Set(['insert-below']));
|
||||
});
|
||||
|
||||
test('should generate an image for the selected shape in edgeless', async ({
|
||||
page,
|
||||
utils,
|
||||
}) => {
|
||||
const { generateImage } = await utils.editor.askAIWithEdgeless(
|
||||
page,
|
||||
async () => {
|
||||
await utils.editor.createShape(page, 'HelloWorld');
|
||||
}
|
||||
);
|
||||
const { answer, responses } = await generateImage();
|
||||
await expect(answer.getByTestId('ai-answer-image')).toBeVisible();
|
||||
expect(responses).toEqual(new Set(['insert-below']));
|
||||
});
|
||||
|
||||
test('should show chat history in chat panel', async ({ page, utils }) => {
|
||||
const { generateImage } = await utils.editor.askAIWithText(page, 'Panda');
|
||||
const { answer } = await generateImage();
|
||||
|
||||
@@ -29,53 +29,53 @@ test.describe('AIAction/GenerateHeadings', () => {
|
||||
expect(responses).toEqual(new Set(['insert-above', 'replace-selection']));
|
||||
});
|
||||
|
||||
test.fixme(
|
||||
'should generate headings for selected text block in edgeless',
|
||||
async ({ page, utils }) => {
|
||||
const { generateHeadings } = await utils.editor.askAIWithEdgeless(
|
||||
page,
|
||||
async () => {
|
||||
await utils.editor.createEdgelessText(
|
||||
page,
|
||||
'AFFiNE is a workspace with fully merged docs'
|
||||
);
|
||||
}
|
||||
);
|
||||
test('should generate headings for selected text block in edgeless', async ({
|
||||
page,
|
||||
utils,
|
||||
}) => {
|
||||
const { generateHeadings } = await utils.editor.askAIWithEdgeless(
|
||||
page,
|
||||
async () => {
|
||||
await utils.editor.createEdgelessText(
|
||||
page,
|
||||
'AFFiNE is a workspace with fully merged docs'
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
const { answer, responses } = await generateHeadings();
|
||||
await Promise.race([
|
||||
answer.locator('h1').isVisible(),
|
||||
answer.locator('h2').isVisible(),
|
||||
answer.locator('h3').isVisible(),
|
||||
]);
|
||||
await expect(answer).toHaveText(/AFFiNE/, { timeout: 10000 });
|
||||
expect(responses).toEqual(new Set(['insert-above']));
|
||||
}
|
||||
);
|
||||
const { answer, responses } = await generateHeadings();
|
||||
await Promise.race([
|
||||
answer.locator('h1').isVisible(),
|
||||
answer.locator('h2').isVisible(),
|
||||
answer.locator('h3').isVisible(),
|
||||
]);
|
||||
await expect(answer).toHaveText(/AFFiNE/, { timeout: 10000 });
|
||||
expect(responses).toEqual(new Set(['insert-below']));
|
||||
});
|
||||
|
||||
test.fixme(
|
||||
'should generate headings for selected note block in edgeless',
|
||||
async ({ page, utils }) => {
|
||||
const { generateHeadings } = await utils.editor.askAIWithEdgeless(
|
||||
page,
|
||||
async () => {
|
||||
await utils.editor.createEdgelessNote(
|
||||
page,
|
||||
'AFFiNE is a workspace with fully merged docs'
|
||||
);
|
||||
}
|
||||
);
|
||||
test('should generate headings for selected note block in edgeless', async ({
|
||||
page,
|
||||
utils,
|
||||
}) => {
|
||||
const { generateHeadings } = await utils.editor.askAIWithEdgeless(
|
||||
page,
|
||||
async () => {
|
||||
await utils.editor.createEdgelessNote(
|
||||
page,
|
||||
'AFFiNE is a workspace with fully merged docs'
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
const { answer, responses } = await generateHeadings();
|
||||
await Promise.race([
|
||||
answer.locator('h1').isVisible(),
|
||||
answer.locator('h2').isVisible(),
|
||||
answer.locator('h3').isVisible(),
|
||||
]);
|
||||
await expect(answer).toHaveText(/AFFiNE/, { timeout: 10000 });
|
||||
expect(responses).toEqual(new Set(['insert-above']));
|
||||
}
|
||||
);
|
||||
const { answer, responses } = await generateHeadings();
|
||||
await Promise.race([
|
||||
answer.locator('h1').isVisible(),
|
||||
answer.locator('h2').isVisible(),
|
||||
answer.locator('h3').isVisible(),
|
||||
]);
|
||||
await expect(answer).toHaveText(/AFFiNE/, { timeout: 10000 });
|
||||
expect(responses).toEqual(new Set(['insert-below']));
|
||||
});
|
||||
|
||||
test('should show chat history in chat panel', async ({ page, utils }) => {
|
||||
const { generateHeadings } = await utils.editor.askAIWithText(
|
||||
|
||||
@@ -60,6 +60,22 @@ test.describe('AIAction/MakeItReal', () => {
|
||||
expect(responses).toEqual(new Set(['insert-below']));
|
||||
});
|
||||
|
||||
test('should support making the selected element to real in edgeless', async ({
|
||||
page,
|
||||
utils,
|
||||
}) => {
|
||||
const { makeItReal } = await utils.editor.askAIWithEdgeless(
|
||||
page,
|
||||
async () => {
|
||||
await utils.editor.createShape(page, 'HelloWorld');
|
||||
}
|
||||
);
|
||||
|
||||
const { answer, responses } = await makeItReal();
|
||||
await expect(answer.locator('iframe')).toBeVisible({ timeout: 30000 });
|
||||
expect(responses).toEqual(new Set(['insert-below']));
|
||||
});
|
||||
|
||||
test('should show chat history in chat panel', async ({ page, utils }) => {
|
||||
const { makeItReal } = await utils.editor.askAIWithText(
|
||||
page,
|
||||
|
||||
Reference in New Issue
Block a user