* Make thread screen as default screen * Blank state when user have not any model * Cleanup topbar thread screen * Improve style right panel * Add instructions right panel * Styling thread list history * Resolve conflict * Default title new thread * Fix trigger panel sidebar * Make default right panel false when no activethread * Fix CI test * chore: assistant instruction with system prompt * Fix title and blank state explore the hub * Claenup style thread screen and add buble message for assitant * Remove unused import * Styling more menus on thread list and right panel, and make max height textarea 400 pixel * Finished revamp ui thread * Finished system monitor UI * Style box running models * Make animate right panel more smooth * Add status arround textarea for starting model info * Temporary disable hide left panel * chore: system resource monitoring update * copy nits * chore: typo * Reverse icon chevron accordion * Move my models into setting page --------- Co-authored-by: Louis <louis@jan.ai> Co-authored-by: 0xSage <n@pragmatic.vc>
56 lines
1.5 KiB
TypeScript
56 lines
1.5 KiB
TypeScript
import { _electron as electron } from 'playwright'
|
|
import { ElectronApplication, Page, expect, test } from '@playwright/test'
|
|
|
|
import {
|
|
findLatestBuild,
|
|
parseElectronApp,
|
|
stubDialog,
|
|
} from 'electron-playwright-helpers'
|
|
|
|
let electronApp: ElectronApplication
|
|
let page: Page
|
|
|
|
test.beforeAll(async () => {
|
|
process.env.CI = 'e2e'
|
|
|
|
const latestBuild = findLatestBuild('dist')
|
|
expect(latestBuild).toBeTruthy()
|
|
|
|
// parse the packaged Electron app and find paths and other info
|
|
const appInfo = parseElectronApp(latestBuild)
|
|
expect(appInfo).toBeTruthy()
|
|
expect(appInfo.asar).toBe(true)
|
|
expect(appInfo.executable).toBeTruthy()
|
|
expect(appInfo.main).toBeTruthy()
|
|
expect(appInfo.name).toBe('jan')
|
|
expect(appInfo.packageJson).toBeTruthy()
|
|
expect(appInfo.packageJson.name).toBe('jan')
|
|
expect(appInfo.platform).toBeTruthy()
|
|
expect(appInfo.platform).toBe(process.platform)
|
|
expect(appInfo.resourcesDir).toBeTruthy()
|
|
|
|
electronApp = await electron.launch({
|
|
args: [appInfo.main], // main file from package.json
|
|
executablePath: appInfo.executable, // path to the Electron executable
|
|
})
|
|
await stubDialog(electronApp, 'showMessageBox', { response: 1 })
|
|
|
|
page = await electronApp.firstWindow()
|
|
})
|
|
|
|
test.afterAll(async () => {
|
|
await electronApp.close()
|
|
await page.close()
|
|
})
|
|
|
|
test('renders the home page', async () => {
|
|
expect(page).toBeDefined()
|
|
|
|
// Welcome text is available
|
|
const welcomeText = await page
|
|
.getByTestId('testid-welcome-title')
|
|
.first()
|
|
.isVisible()
|
|
expect(welcomeText).toBe(false)
|
|
})
|