* add package.json Signed-off-by: Jess Frazelle <github@jessfraz.com> initial run; Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> more fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> clientsidescne Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> paths Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> fix styles Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> combine Signed-off-by: Jess Frazelle <github@jessfraz.com> eslint rule Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> my ocd Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> constants file Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> no more import sceneInfra Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> try fix circular import Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import fsp from 'fs/promises'
 | 
						|
import { join } from 'path'
 | 
						|
 | 
						|
import { executorInputPath } from '@e2e/playwright/test-utils'
 | 
						|
import { expect, test } from '@e2e/playwright/zoo-test'
 | 
						|
 | 
						|
test(
 | 
						|
  'When machine-api server not found butt is disabled and shows the reason',
 | 
						|
  { tag: '@electron' },
 | 
						|
  async ({ context, page }, testInfo) => {
 | 
						|
    await context.folderSetupFn(async (dir) => {
 | 
						|
      const bracketDir = join(dir, 'bracket')
 | 
						|
      await fsp.mkdir(bracketDir, { recursive: true })
 | 
						|
      await fsp.copyFile(
 | 
						|
        executorInputPath('cylinder-inches.kcl'),
 | 
						|
        join(bracketDir, 'main.kcl')
 | 
						|
      )
 | 
						|
    })
 | 
						|
 | 
						|
    await page.setBodyDimensions({ width: 1200, height: 500 })
 | 
						|
 | 
						|
    await expect(page.getByText('bracket')).toBeVisible()
 | 
						|
 | 
						|
    await page.getByText('bracket').click()
 | 
						|
 | 
						|
    await expect(page.getByTestId('loading')).toBeAttached()
 | 
						|
    await expect(page.getByTestId('loading')).not.toBeAttached({
 | 
						|
      timeout: 20_000,
 | 
						|
    })
 | 
						|
 | 
						|
    const notFoundText = 'Machine API server was not discovered'
 | 
						|
    await expect(page.getByText(notFoundText).first()).not.toBeVisible()
 | 
						|
 | 
						|
    // Find the make button
 | 
						|
    const makeButton = page.getByRole('button', { name: 'Make part' })
 | 
						|
    // Make sure the button is visible but disabled
 | 
						|
    await expect(makeButton).toBeVisible()
 | 
						|
    await expect(makeButton).toBeDisabled()
 | 
						|
 | 
						|
    // When you hover over the button, the tooltip should show
 | 
						|
    // that the machine-api server is not found
 | 
						|
    await makeButton.hover()
 | 
						|
    await expect(page.getByText(notFoundText).first()).toBeVisible()
 | 
						|
  }
 | 
						|
)
 | 
						|
 | 
						|
test(
 | 
						|
  'When machine-api server not found home screen & project status shows the reason',
 | 
						|
  { tag: '@electron' },
 | 
						|
  async ({ context, page }, testInfo) => {
 | 
						|
    await context.folderSetupFn(async (dir) => {
 | 
						|
      const bracketDir = join(dir, 'bracket')
 | 
						|
      await fsp.mkdir(bracketDir, { recursive: true })
 | 
						|
      await fsp.copyFile(
 | 
						|
        executorInputPath('cylinder-inches.kcl'),
 | 
						|
        join(bracketDir, 'main.kcl')
 | 
						|
      )
 | 
						|
    })
 | 
						|
 | 
						|
    await page.setBodyDimensions({ width: 1200, height: 500 })
 | 
						|
 | 
						|
    const notFoundText = 'Machine API server was not discovered'
 | 
						|
 | 
						|
    await expect(page.getByText(notFoundText)).not.toBeVisible()
 | 
						|
 | 
						|
    const networkMachineToggle = page.getByTestId('network-machine-toggle')
 | 
						|
    await networkMachineToggle.hover()
 | 
						|
    await expect(page.getByText(notFoundText)).toBeVisible()
 | 
						|
 | 
						|
    await expect(page.getByText('bracket')).toBeVisible()
 | 
						|
 | 
						|
    await page.getByText('bracket').click()
 | 
						|
 | 
						|
    await expect(page.getByTestId('loading')).toBeAttached()
 | 
						|
    await expect(page.getByTestId('loading')).not.toBeAttached({
 | 
						|
      timeout: 20_000,
 | 
						|
    })
 | 
						|
 | 
						|
    await expect(page.getByText(notFoundText).nth(1)).not.toBeVisible()
 | 
						|
 | 
						|
    await networkMachineToggle.hover()
 | 
						|
    await expect(page.getByText(notFoundText).nth(1)).toBeVisible()
 | 
						|
  }
 | 
						|
)
 |