mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-18 21:15:41 +00:00
* bump deps
* upgrade all deps
* adapt theme context
* add vanilla extract
* add basic theme
* reformat global state
* fix imports
* fix spotlight
* update args
* adapt arg names
* fix more arg renames
* fix italic
* switch sx to style
* fix types
* fix theme refs
* misc fixes
* misc fixes
* fix type
* fix selects
* misc fixes
* bug fix
* update to new style
* set text args
* fix spotlight
* dumb spotlight down
* change ActionIcons back to default
* fix name
* fix test
* adjust test to new spotlight
* package fix
* fix new code to v7
* fix building
* fix group aligment
* remove unneeded imports
* add new type
* import cleanups
* add notification style
* move context to loadable
* reorder contexts
* make test less flaky
* fix missing theming
* fix color schema switcher
* increase timeouts
* update package refs
* add missing style for datatables
* fix missing nesting
* organize imports
* move language context around
* make sure license keys are unique
* add keys to badges
* fix import
* fix missing keys
* fix missing key issue in badge section
* update packages
* fix new code to v7 style
* dummy change
* fix up test
* fix btn style
* fix merge issues
* remove placeholders
* fix color schema usage
* fix usage of ColorScheme
* fix style issues
* fix test
* fix choice field to fit stricter validation
* make test more reproducible
* wait for dash before proceeding
* bump deps
* add missing style
* do loops
* fix css
* change carousel sizing
* fix merge for v7
* fix image ratio
* Revert "bump deps"
This reverts commit 91cdae5a3e
.
* fix userstate to ensure it always renders
* await dashboard loading before resuming wiht wuick login
* fix spotlight and remove testing changes
* Catch API error
* Update breadcrumb list
* Update panel icon
* Cleanup notification drawer
* Some more tweaks
* Fix for notification count indicator
* Fix stack prop
* fix type error
* fix double timeout key
* use div instead of text
---------
Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
121 lines
4.5 KiB
TypeScript
121 lines
4.5 KiB
TypeScript
import { systemKey, test } from './baseFixtures.js';
|
|
import { baseUrl } from './defaults.js';
|
|
import { doQuickLogin } from './login.js';
|
|
|
|
test('PUI - Quick Command', async ({ page }) => {
|
|
await doQuickLogin(page);
|
|
|
|
// Open Spotlight with Keyboard Shortcut
|
|
await page.locator('body').press(`${systemKey}+k`);
|
|
await page.waitForTimeout(200);
|
|
await page
|
|
.getByRole('button', { name: 'Go to the InvenTree dashboard' })
|
|
.click();
|
|
await page.locator('p').filter({ hasText: 'Dashboard' }).waitFor();
|
|
await page.waitForURL('**/platform/dashboard');
|
|
|
|
// Open Spotlight with Button
|
|
await page.getByRole('button', { name: 'Open spotlight' }).click();
|
|
await page.getByRole('button', { name: 'Home Go to the home page' }).click();
|
|
await page
|
|
.getByRole('heading', { name: 'Welcome to your Dashboard,' })
|
|
.click();
|
|
await page.waitForURL('**/platform');
|
|
|
|
// Open Spotlight with Keyboard Shortcut and Search
|
|
await page.locator('body').press(`${systemKey}+k`);
|
|
await page.waitForTimeout(200);
|
|
await page.getByPlaceholder('Search...').fill('Dashboard');
|
|
await page.getByPlaceholder('Search...').press('Tab');
|
|
await page.getByPlaceholder('Search...').press('Enter');
|
|
await page.waitForURL('**/platform/dashboard');
|
|
});
|
|
|
|
test('PUI - Quick Command - No Keys', async ({ page }) => {
|
|
await doQuickLogin(page);
|
|
|
|
// Open Spotlight with Button
|
|
await page.getByRole('button', { name: 'Open spotlight' }).click();
|
|
await page.getByRole('button', { name: 'Home Go to the home page' }).click();
|
|
await page
|
|
.getByRole('heading', { name: 'Welcome to your Dashboard,' })
|
|
.click();
|
|
await page.waitForURL('**/platform');
|
|
|
|
// Use navigation menu
|
|
await page.getByRole('button', { name: 'Open spotlight' }).click();
|
|
await page
|
|
.getByRole('button', { name: 'Open Navigation Open the main' })
|
|
.click();
|
|
// assert the nav headers are visible
|
|
await page.getByRole('heading', { name: 'Navigation' }).waitFor();
|
|
await page.getByRole('heading', { name: 'Pages' }).waitFor();
|
|
await page.getByRole('heading', { name: 'Documentation' }).waitFor();
|
|
await page.getByRole('heading', { name: 'About' }).waitFor();
|
|
|
|
await page.keyboard.press('Escape');
|
|
|
|
// use server info
|
|
await page.getByRole('button', { name: 'Open spotlight' }).click();
|
|
await page
|
|
.getByRole('button', {
|
|
name: 'Server Information About this Inventree instance'
|
|
})
|
|
.click();
|
|
await page.getByRole('cell', { name: 'Instance Name' }).waitFor();
|
|
await page.getByRole('button', { name: 'Dismiss' }).click();
|
|
|
|
await page.waitForURL('**/platform');
|
|
|
|
// use license info
|
|
await page.getByRole('button', { name: 'Open spotlight' }).click();
|
|
await page
|
|
.getByRole('button', {
|
|
name: 'License Information Licenses for dependencies of the service'
|
|
})
|
|
.click();
|
|
await page.getByText('License Information').first().waitFor();
|
|
await page.getByRole('tab', { name: 'backend Packages' }).waitFor();
|
|
|
|
await page.getByLabel('License Information').getByRole('button').click();
|
|
|
|
// use about
|
|
await page.getByRole('button', { name: 'Open spotlight' }).click();
|
|
await page
|
|
.getByRole('button', { name: 'About InvenTree About the InvenTree org' })
|
|
.click();
|
|
await page.getByText('This information is only').waitFor();
|
|
|
|
await page.getByLabel('About InvenTree').getByRole('button').click();
|
|
|
|
// use documentation
|
|
await page.getByRole('button', { name: 'Open spotlight' }).click();
|
|
await page
|
|
.getByRole('button', {
|
|
name: 'Documentation Visit the documentation to learn more about InvenTree'
|
|
})
|
|
.click();
|
|
await page.waitForURL('https://docs.inventree.org/**');
|
|
|
|
// Test addition of new actions
|
|
await page.goto(`${baseUrl}/playground`);
|
|
await page.locator('p').filter({ hasText: 'Playground' }).waitFor();
|
|
await page.getByRole('button', { name: 'Spotlight actions' }).click();
|
|
await page.getByRole('button', { name: 'Register extra actions' }).click();
|
|
/*
|
|
await page.getByPlaceholder('Search...').fill('secret');
|
|
await page.getByRole('button', { name: 'Secret action It was' }).click();
|
|
await page.getByRole('button', { name: 'Open spotlight' }).click();
|
|
await page.getByPlaceholder('Search...').fill('Another secret action');
|
|
await page
|
|
.getByRole('button', {
|
|
name: 'Another secret action You can register multiple actions with just one command'
|
|
})
|
|
.click();
|
|
await page.getByRole('tab', { name: 'Home' }).click();
|
|
await page.getByRole('button', { name: 'Open spotlight' }).click();
|
|
*/
|
|
await page.getByPlaceholder('Search...').fill('secret');
|
|
await page.getByText('Nothing found...').click();
|
|
});
|