| import { expect, test } from '../fixtures'; | |
| import { ChatPage } from '../pages/chat'; | |
| import { ArtifactPage } from '../pages/artifact'; | |
| test.describe('Artifacts activity', () => { | |
| let chatPage: ChatPage; | |
| let artifactPage: ArtifactPage; | |
| test.beforeEach(async ({ page }) => { | |
| chatPage = new ChatPage(page); | |
| artifactPage = new ArtifactPage(page); | |
| await chatPage.createNewChat(); | |
| }); | |
| test('Create a text artifact', async () => { | |
| test.fixme(); | |
| await chatPage.createNewChat(); | |
| await chatPage.sendUserMessage( | |
| 'Help me write an essay about Silicon Valley', | |
| ); | |
| await artifactPage.isGenerationComplete(); | |
| expect(artifactPage.artifact).toBeVisible(); | |
| const assistantMessage = await chatPage.getRecentAssistantMessage(); | |
| expect(assistantMessage.content).toBe( | |
| 'A document was created and is now visible to the user.', | |
| ); | |
| await chatPage.hasChatIdInUrl(); | |
| }); | |
| test('Toggle artifact visibility', async () => { | |
| test.fixme(); | |
| await chatPage.createNewChat(); | |
| await chatPage.sendUserMessage( | |
| 'Help me write an essay about Silicon Valley', | |
| ); | |
| await artifactPage.isGenerationComplete(); | |
| expect(artifactPage.artifact).toBeVisible(); | |
| const assistantMessage = await chatPage.getRecentAssistantMessage(); | |
| expect(assistantMessage.content).toBe( | |
| 'A document was created and is now visible to the user.', | |
| ); | |
| await artifactPage.closeArtifact(); | |
| await chatPage.isElementNotVisible('artifact'); | |
| }); | |
| test('Send follow up message after generation', async () => { | |
| test.fixme(); | |
| await chatPage.createNewChat(); | |
| await chatPage.sendUserMessage( | |
| 'Help me write an essay about Silicon Valley', | |
| ); | |
| await artifactPage.isGenerationComplete(); | |
| expect(artifactPage.artifact).toBeVisible(); | |
| const assistantMessage = await artifactPage.getRecentAssistantMessage(); | |
| expect(assistantMessage.content).toBe( | |
| 'A document was created and is now visible to the user.', | |
| ); | |
| await artifactPage.sendUserMessage('Thanks!'); | |
| await artifactPage.isGenerationComplete(); | |
| const secondAssistantMessage = await chatPage.getRecentAssistantMessage(); | |
| expect(secondAssistantMessage.content).toBe("You're welcome!"); | |
| }); | |
| }); | |