mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-01-30 06:12:03 +00:00
- Updated the 'Add Context Image' test to simplify file verification by relying on UI visibility instead of disk checks. - Enhanced the 'Feature Manual Review Flow' test with better project setup and API interception to ensure consistent test conditions. - Improved the 'AI Profiles' test by replacing arbitrary timeouts with dynamic checks for profile count. - Refined the 'Project Creation' and 'Open Existing Project' tests to ensure proper project visibility and settings management during tests. - Added mechanisms to prevent settings hydration from restoring previous project states, ensuring tests run in isolation. - Removed unused test image from fixtures to clean up the repository.
60 lines
1.7 KiB
TypeScript
60 lines
1.7 KiB
TypeScript
/**
|
|
* AI Profiles E2E Test
|
|
*
|
|
* Happy path: Create a new profile
|
|
*/
|
|
|
|
import { test, expect } from '@playwright/test';
|
|
import {
|
|
setupMockProjectWithProfiles,
|
|
waitForNetworkIdle,
|
|
navigateToProfiles,
|
|
clickNewProfileButton,
|
|
fillProfileForm,
|
|
saveProfile,
|
|
waitForSuccessToast,
|
|
countCustomProfiles,
|
|
authenticateForTests,
|
|
handleLoginScreenIfPresent,
|
|
} from '../utils';
|
|
|
|
test.describe('AI Profiles', () => {
|
|
test('should create a new profile', async ({ page }) => {
|
|
await setupMockProjectWithProfiles(page, { customProfilesCount: 0 });
|
|
await authenticateForTests(page);
|
|
await page.goto('/');
|
|
await page.waitForLoadState('load');
|
|
await handleLoginScreenIfPresent(page);
|
|
await waitForNetworkIdle(page);
|
|
await navigateToProfiles(page);
|
|
|
|
// Get initial custom profile count (may be 0 or more due to server settings hydration)
|
|
const initialCount = await countCustomProfiles(page);
|
|
|
|
await clickNewProfileButton(page);
|
|
|
|
await fillProfileForm(page, {
|
|
name: 'Test Profile',
|
|
description: 'A test profile',
|
|
icon: 'Brain',
|
|
model: 'sonnet',
|
|
thinkingLevel: 'medium',
|
|
});
|
|
|
|
await saveProfile(page);
|
|
|
|
await waitForSuccessToast(page, 'Profile created');
|
|
|
|
// Wait for the new profile to appear in the list (replaces arbitrary timeout)
|
|
// The count should increase by 1 from the initial count
|
|
await expect(async () => {
|
|
const customCount = await countCustomProfiles(page);
|
|
expect(customCount).toBe(initialCount + 1);
|
|
}).toPass({ timeout: 5000 });
|
|
|
|
// Verify the count is correct (final assertion)
|
|
const finalCount = await countCustomProfiles(page);
|
|
expect(finalCount).toBe(initialCount + 1);
|
|
});
|
|
});
|