Compare commits
	
		
			13 Commits
		
	
	
		
			pierremtb/
			...
			franknoiro
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 34f8366849 | |||
| f59f023d90 | |||
| e974d995e3 | |||
| 8f2cbd69c7 | |||
| 076bd65038 | |||
| 39fb1bcc5c | |||
| d996da8c45 | |||
| 8fd482a424 | |||
| 2cd74a063c | |||
| 37c77df23b | |||
| a283f5aab8 | |||
| 25a1560d81 | |||
| 032c4c04eb | 
| @ -99,7 +99,6 @@ export class HomePageFixture { | ||||
|   createAndGoToProject = async (projectTitle = 'untitled') => { | ||||
|     await this.projectsLoaded() | ||||
|     await this.projectButtonNew.click() | ||||
|     await this.projectTextName.click() | ||||
|     await this.projectTextName.fill(projectTitle) | ||||
|     await this.projectButtonContinue.click() | ||||
|   } | ||||
|  | ||||
| @ -230,16 +230,12 @@ export class SceneFixture { | ||||
|     await expect(this.networkToggleConnected).toBeVisible({ timeout }) | ||||
|   } | ||||
|  | ||||
|   settled = async (cmdBar: CmdBarFixture) => { | ||||
|   settled = async (cmdBar?: CmdBarFixture) => { | ||||
|     const u = await getUtils(this.page) | ||||
|  | ||||
|     await expect(this.startEditSketchBtn).not.toBeDisabled() | ||||
|     await expect(this.startEditSketchBtn).not.toBeDisabled({ timeout: 15_000 }) | ||||
|     await expect(this.startEditSketchBtn).toBeVisible() | ||||
|  | ||||
|     await cmdBar.openCmdBar() | ||||
|     await cmdBar.chooseCommand('Settings · app · show debug panel') | ||||
|     await cmdBar.selectOption({ name: 'on' }).click() | ||||
|  | ||||
|     await u.openDebugPanel() | ||||
|     await u.expectCmdLog('[data-message-type="execution-done"]') | ||||
|     await u.closeDebugPanel() | ||||
|  | ||||
| @ -68,12 +68,10 @@ test.describe('edit with AI example snapshots', () => { | ||||
|         body1CapCoords.x, | ||||
|         body1CapCoords.y | ||||
|       ) | ||||
|       const yellow: [number, number, number] = [179, 179, 131] | ||||
|       const submittingToast = page.getByText('Submitting to Text-to-CAD API...') | ||||
|  | ||||
|       await test.step('wait for scene to load select body and check selection came through', async () => { | ||||
|         await clickBody1Cap() | ||||
|         await scene.expectPixelColor(yellow, body1CapCoords, 20) | ||||
|         await editor.expectState({ | ||||
|           highlightedCode: '', | ||||
|           activeLines: ['|>startProfileAt([-73.64,-42.89],%)'], | ||||
|  | ||||
| @ -588,6 +588,7 @@ test( | ||||
|   'Draft circle should look right', | ||||
|   { tag: '@snapshot' }, | ||||
|   async ({ page, context, cmdBar, scene }) => { | ||||
|     test.fixme(orRunWhenFullSuiteEnabled()) | ||||
|     const u = await getUtils(page) | ||||
|     await page.setViewportSize({ width: 1200, height: 500 }) | ||||
|     const PUR = 400 / 37.5 //pixeltoUnitRatio | ||||
|  | ||||
							
								
								
									
										15
									
								
								e2e/playwright/stress-test.spec.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								e2e/playwright/stress-test.spec.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| import { createProject } from '@e2e/playwright/test-utils' | ||||
| import { test } from '@e2e/playwright/zoo-test' | ||||
|  | ||||
| test.describe('Stress test', () => { | ||||
|   test('Create project and load stress test', async ({ | ||||
|     cmdBar, | ||||
|     scene, | ||||
|     page, | ||||
|   }, testInfo) => { | ||||
|     const projectName = 'stress-test-project' | ||||
|     // Create and load project | ||||
|     await createProject({ name: projectName, page }) | ||||
|     await scene.settled(cmdBar) | ||||
|   }) | ||||
| }) | ||||
| @ -14,6 +14,7 @@ import { | ||||
|   commandBarActor, | ||||
|   useCommandBarState, | ||||
| } from '@src/machines/commandBarMachine' | ||||
| import toast from 'react-hot-toast' | ||||
|  | ||||
| export const COMMAND_PALETTE_HOTKEY = 'mod+k' | ||||
|  | ||||
| @ -35,13 +36,23 @@ export const CommandBar = () => { | ||||
|     commandBarActor.send({ type: 'Close' }) | ||||
|   }, [pathname]) | ||||
|  | ||||
|   /** | ||||
|    * if the engine connection is about to end, we don't want users | ||||
|    * to be able to perform commands that might require that connection, | ||||
|    * so we just close the command palette. | ||||
|    * TODO: instead, let each command control whether it is disabled, and | ||||
|    * don't just bail out | ||||
|    */ | ||||
|   useEffect(() => { | ||||
|     if ( | ||||
|       immediateState.type !== EngineConnectionStateType.ConnectionEstablished | ||||
|       !commandBarActor.getSnapshot().matches('Closed') && | ||||
|       (immediateState.type === EngineConnectionStateType.Disconnecting || | ||||
|         immediateState.type === EngineConnectionStateType.Disconnected) | ||||
|     ) { | ||||
|       commandBarActor.send({ type: 'Close' }) | ||||
|       toast.error('Exiting command flow because engine disconnected') | ||||
|     } | ||||
|   }, [immediateState]) | ||||
|   }, [immediateState, commandBarActor]) | ||||
|  | ||||
|   // Hook up keyboard shortcuts | ||||
|   useHotkeyWrapper([COMMAND_PALETTE_HOTKEY], () => { | ||||
|  | ||||
| @ -3,6 +3,7 @@ import { faBugSlash } from '@fortawesome/free-solid-svg-icons' | ||||
| import type { MouseEventHandler, ReactNode } from 'react' | ||||
| import type { ContextFrom } from 'xstate' | ||||
|  | ||||
| import { IS_PLAYWRIGHT_KEY } from '@e2e/playwright/storageStates' | ||||
| import type { CustomIconName } from '@src/components/CustomIcon' | ||||
| import { | ||||
|   FileTreeInner, | ||||
| @ -241,6 +242,8 @@ export const sidebarPanes: SidebarPane[] = [ | ||||
|       ) | ||||
|     }, | ||||
|     keybinding: 'Shift + D', | ||||
|     hide: ({ settings }) => !settings.app.showDebugPanel.current, | ||||
|     hide: ({ settings }) => | ||||
|       !(window?.localStorage.getItem(IS_PLAYWRIGHT_KEY) === 'true') && | ||||
|       !settings.app.showDebugPanel.current, | ||||
|   }, | ||||
| ] | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	