|
|
|
|
@@ -40,13 +40,16 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
- AI success
|
|
|
|
|
`, async ({ loggedInPage: page, utils }) => {
|
|
|
|
|
// Type and send a message
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Introduce AFFiNE to me');
|
|
|
|
|
await utils.chatPanel.makeChat(
|
|
|
|
|
page,
|
|
|
|
|
'Introduce AFFiNE to me. Answer in 50 words.'
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// AI is loading
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Introduce AFFiNE to me',
|
|
|
|
|
content: 'Introduce AFFiNE to me. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -60,7 +63,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Introduce AFFiNE to me',
|
|
|
|
|
content: 'Introduce AFFiNE to me. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -73,7 +76,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Introduce AFFiNE to me',
|
|
|
|
|
content: 'Introduce AFFiNE to me. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -86,13 +89,16 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
loggedInPage: page,
|
|
|
|
|
utils,
|
|
|
|
|
}) => {
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Introduce AFFiNE to me');
|
|
|
|
|
await utils.chatPanel.makeChat(
|
|
|
|
|
page,
|
|
|
|
|
'Introduce AFFiNE to me. Answer in 50 words.'
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// AI Generating
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Introduce AFFiNE to me',
|
|
|
|
|
content: 'Introduce AFFiNE to me. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -104,7 +110,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Introduce AFFiNE to me',
|
|
|
|
|
content: 'Introduce AFFiNE to me. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -117,11 +123,14 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
loggedInPage: page,
|
|
|
|
|
utils,
|
|
|
|
|
}) => {
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Hello, how can you help me?');
|
|
|
|
|
await utils.chatPanel.makeChat(
|
|
|
|
|
page,
|
|
|
|
|
'Hello, how can you help me? Answer in 50 words.'
|
|
|
|
|
);
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Hello, how can you help me?',
|
|
|
|
|
content: 'Hello, how can you help me? Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -130,11 +139,14 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
await expect(page.getByTestId('chat-action-list')).toBeVisible();
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Nice to meet you');
|
|
|
|
|
await utils.chatPanel.makeChat(
|
|
|
|
|
page,
|
|
|
|
|
'Nice to meet you. Answer in 50 words.'
|
|
|
|
|
);
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Hello, how can you help me?',
|
|
|
|
|
content: 'Hello, how can you help me? Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -142,7 +154,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Nice to meet you',
|
|
|
|
|
content: 'Nice to meet you. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -168,13 +180,13 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
// Type and send a message
|
|
|
|
|
await utils.chatPanel.makeChat(
|
|
|
|
|
page,
|
|
|
|
|
'Hello, write a poem about the moon with 50 words.'
|
|
|
|
|
'Hello, write a poem about the moon. Answer in 50 words.'
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Hello, write a poem about the moon with 50 words.',
|
|
|
|
|
content: 'Hello, write a poem about the moon. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -215,7 +227,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await page.route('**/graphql', route => route.abort('failed'));
|
|
|
|
|
|
|
|
|
|
// Send a message that will fail
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Hello');
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Hello. Answer in 50 words.');
|
|
|
|
|
|
|
|
|
|
await expect(page.getByTestId('ai-error')).toBeVisible();
|
|
|
|
|
await expect(page.getByTestId('action-retry-button')).toBeVisible();
|
|
|
|
|
@@ -229,7 +241,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await page.route('**/graphql', route => route.abort('failed'));
|
|
|
|
|
|
|
|
|
|
// Send a message that will fail
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Hello');
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Hello. Answer in 50 words.');
|
|
|
|
|
|
|
|
|
|
// Verify error state
|
|
|
|
|
await expect(page.getByTestId('ai-error')).toBeVisible();
|
|
|
|
|
@@ -237,7 +249,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Hello',
|
|
|
|
|
content: 'Hello. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -254,7 +266,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Hello',
|
|
|
|
|
content: 'Hello. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -269,13 +281,13 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
}) => {
|
|
|
|
|
await utils.chatPanel.makeChat(
|
|
|
|
|
page,
|
|
|
|
|
'Introduce Large Language Model in under 500 words'
|
|
|
|
|
'Introduce Large Language Model. Answer in 50 words.'
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Introduce Large Language Model in under 500 words',
|
|
|
|
|
content: 'Introduce Large Language Model. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -289,7 +301,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Introduce Large Language Model in under 500 words',
|
|
|
|
|
content: 'Introduce Large Language Model. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -300,7 +312,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Introduce Large Language Model in under 500 words',
|
|
|
|
|
content: 'Introduce Large Language Model. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -333,11 +345,11 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
utils,
|
|
|
|
|
}) => {
|
|
|
|
|
await utils.chatPanel.openChatPanel(page);
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Hello');
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Hello. Answer in 50 words.');
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Hello',
|
|
|
|
|
content: 'Hello. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -352,11 +364,11 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
utils,
|
|
|
|
|
}) => {
|
|
|
|
|
await utils.chatPanel.openChatPanel(page);
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Hello');
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Hello. Answer in 50 words.');
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Hello',
|
|
|
|
|
content: 'Hello. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -383,13 +395,12 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await utils.chatPanel.openChatPanel(page);
|
|
|
|
|
await utils.chatPanel.makeChat(
|
|
|
|
|
page,
|
|
|
|
|
'Help me write a two-line love poem, return two paragraphs for me.'
|
|
|
|
|
'Help me write a two-line love poem. Answer in 50 words.'
|
|
|
|
|
);
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content:
|
|
|
|
|
'Help me write a two-line love poem, return two paragraphs for me.',
|
|
|
|
|
content: 'Help me write a two-line love poem. Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -437,7 +448,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
page,
|
|
|
|
|
'AFFiNE is an open source all in one workspace.'
|
|
|
|
|
);
|
|
|
|
|
await page.keyboard.type('Translate to chinese');
|
|
|
|
|
await page.keyboard.type('Translate to chinese.');
|
|
|
|
|
|
|
|
|
|
const sendButton = await page.getByTestId('ai-panel-input-send');
|
|
|
|
|
await expect(sendButton).toHaveAttribute('data-active', 'true');
|
|
|
|
|
@@ -448,7 +459,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content:
|
|
|
|
|
'AFFiNE is an open source all in one workspace.\nTranslate to chinese',
|
|
|
|
|
'AFFiNE is an open source all in one workspace.\nTranslate to chinese.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -466,7 +477,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await utils.editor.createShape(page, 'HelloWorld');
|
|
|
|
|
});
|
|
|
|
|
await page.waitForTimeout(1000);
|
|
|
|
|
await page.keyboard.type('What color is it?');
|
|
|
|
|
await page.keyboard.type('What color is it? Answer in 50 words.');
|
|
|
|
|
|
|
|
|
|
await page.waitForTimeout(1000);
|
|
|
|
|
const sendButton = await page.getByTestId('ai-panel-input-send');
|
|
|
|
|
@@ -478,7 +489,7 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'What color is it?',
|
|
|
|
|
content: 'What color is it? Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
@@ -500,12 +511,12 @@ test.describe('AIBasic/Chat', () => {
|
|
|
|
|
await page.mouse.move(350, 350);
|
|
|
|
|
await page.mouse.up({ button: 'right' });
|
|
|
|
|
|
|
|
|
|
await page.keyboard.type('Who are you?');
|
|
|
|
|
await page.keyboard.press('Enter');
|
|
|
|
|
await utils.chatPanel.openChatPanel(page);
|
|
|
|
|
await utils.chatPanel.makeChat(page, 'Who are you? Answer in 50 words.');
|
|
|
|
|
await utils.chatPanel.waitForHistory(page, [
|
|
|
|
|
{
|
|
|
|
|
role: 'user',
|
|
|
|
|
content: 'Who are you?',
|
|
|
|
|
content: 'Who are you? Answer in 50 words.',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
role: 'assistant',
|
|
|
|
|
|