f7cloud_client/apps/whiteboard/playwright/e2e/voting.spec.ts
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

48 lines
1.7 KiB
TypeScript

/**
* SPDX-FileCopyrightText: 2025 F7cloud GmbH and F7cloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { expect } from '@playwright/test'
import { test } from '../support/fixtures/random-user'
import { createWhiteboard, openFilesApp } from '../support/utils'
test.beforeEach(async ({ page }) => {
await openFilesApp(page)
})
test('Create a voting and add it to the whiteboard', async ({ page }) => {
await createWhiteboard(page, { name: `Voting ${Date.now()}` })
// Open the main menu and navigate to voting
await page.getByTestId('main-menu-trigger').click()
await page.getByRole('button', { name: /voting/i }).click()
// Start a new voting
await page.getByRole('button', { name: /start new voting/i }).click()
await page.getByLabel(/question/i).fill('What is your favorite color?')
await page.getByLabel(/option 1/i).fill('Red')
await page.getByLabel(/option 2/i).fill('Blue')
await page.getByRole('button', { name: /add option/i }).click()
await page.getByLabel(/option 3/i).fill('Green')
await page.getByRole('button', { name: /Start voting/i }).click()
await expect(page.getByText('What is your favorite color?')).toBeVisible()
// Vote for the first option
await page.getByText('Red').locator('..').getByRole('button', { name: /vote/i }).click()
await expect(page.getByText('Red').locator('..').getByText(/voted/i)).toBeVisible()
// End the voting
await page.getByRole('button', { name: /end voting/i }).click()
await expect(page.getByText(/status.*closed/i)).toBeVisible()
// Add results as drawing
await page.getByRole('button', { name: /add as drawing/i }).click()
await expect(page.locator('text=Voting results')).toBeVisible()
await expect(page.locator('text=What is your favorite color?')).toBeVisible()
})