mirror of
https://github.com/freqtrade/frequi.git
synced 2024-11-21 23:53:52 +00:00
tests: reduce e2e test flakyness
This commit is contained in:
parent
113f8f0935
commit
a2b3a3d8d7
|
@ -101,9 +101,21 @@ test.describe('Trade', () => {
|
||||||
await expect(page.getByText('Config reloaded successfully.')).toBeInViewport();
|
await expect(page.getByText('Config reloaded successfully.')).toBeInViewport();
|
||||||
});
|
});
|
||||||
test('Trade page - drag and drop', async ({ page }) => {
|
test('Trade page - drag and drop', async ({ page }) => {
|
||||||
await page.goto('/trade');
|
await Promise.all([
|
||||||
|
page.goto('/trade'),
|
||||||
const multiPane = page.locator('.drag-header', { hasText: 'Multi Pane' });
|
// Wait for network requests
|
||||||
|
// page.waitForResponse('**/ping'),
|
||||||
|
page.waitForResponse('**/status'),
|
||||||
|
page.waitForResponse('**/profit'),
|
||||||
|
page.waitForResponse('**/balance'),
|
||||||
|
// page.waitForResponse('**/trades'),
|
||||||
|
page.waitForResponse('**/whitelist'),
|
||||||
|
page.waitForResponse('**/blacklist'),
|
||||||
|
page.waitForResponse('**/locks'),
|
||||||
|
]);
|
||||||
|
// Wait for dynamic layout to settle
|
||||||
|
await page.waitForTimeout(1000);
|
||||||
|
const multiPane = await page.locator('.drag-header', { hasText: 'Multi Pane' });
|
||||||
|
|
||||||
const multiPanebb = await multiPane.boundingBox();
|
const multiPanebb = await multiPane.boundingBox();
|
||||||
|
|
||||||
|
@ -111,6 +123,8 @@ test.describe('Trade', () => {
|
||||||
await page.getByText('Lock layout').uncheck();
|
await page.getByText('Lock layout').uncheck();
|
||||||
|
|
||||||
const chartHeader = await page.locator('.drag-header:has-text("Chart")');
|
const chartHeader = await page.locator('.drag-header:has-text("Chart")');
|
||||||
|
// Click outside of popup to ensure it's closed
|
||||||
|
// await chartHeader.click();
|
||||||
await expect(multiPane).toBeInViewport();
|
await expect(multiPane).toBeInViewport();
|
||||||
await expect(chartHeader).toBeInViewport();
|
await expect(chartHeader).toBeInViewport();
|
||||||
|
|
||||||
|
|
24
src/components.d.ts
vendored
24
src/components.d.ts
vendored
|
@ -23,6 +23,8 @@ declare module 'vue' {
|
||||||
BaseStringList: typeof import('./components/general/BaseStringList.vue')['default']
|
BaseStringList: typeof import('./components/general/BaseStringList.vue')['default']
|
||||||
BAvatar: typeof import('bootstrap-vue-next/components/BAvatar')['BAvatar']
|
BAvatar: typeof import('bootstrap-vue-next/components/BAvatar')['BAvatar']
|
||||||
BButton: typeof import('bootstrap-vue-next/components/BButton')['BButton']
|
BButton: typeof import('bootstrap-vue-next/components/BButton')['BButton']
|
||||||
|
BCard: typeof import('bootstrap-vue-next/components/BCard')['BCard']
|
||||||
|
BCardBody: typeof import('bootstrap-vue-next/components/BCard')['BCardBody']
|
||||||
BCollapse: typeof import('bootstrap-vue-next/components/BCollapse')['BCollapse']
|
BCollapse: typeof import('bootstrap-vue-next/components/BCollapse')['BCollapse']
|
||||||
BDropdown: typeof import('bootstrap-vue-next/components/BDropdown')['BDropdown']
|
BDropdown: typeof import('bootstrap-vue-next/components/BDropdown')['BDropdown']
|
||||||
BDropdownDivider: typeof import('bootstrap-vue-next/components/BDropdown')['BDropdownDivider']
|
BDropdownDivider: typeof import('bootstrap-vue-next/components/BDropdown')['BDropdownDivider']
|
||||||
|
@ -30,6 +32,7 @@ declare module 'vue' {
|
||||||
BFormCheckbox: typeof import('bootstrap-vue-next/components/BFormCheckbox')['BFormCheckbox']
|
BFormCheckbox: typeof import('bootstrap-vue-next/components/BFormCheckbox')['BFormCheckbox']
|
||||||
BFormGroup: typeof import('bootstrap-vue-next/components/BFormGroup')['BFormGroup']
|
BFormGroup: typeof import('bootstrap-vue-next/components/BFormGroup')['BFormGroup']
|
||||||
BFormInput: typeof import('bootstrap-vue-next/components/BFormInput')['BFormInput']
|
BFormInput: typeof import('bootstrap-vue-next/components/BFormInput')['BFormInput']
|
||||||
|
BFormRadio: typeof import('bootstrap-vue-next/components/BFormRadio')['BFormRadio']
|
||||||
BFormRadioGroup: typeof import('bootstrap-vue-next/components/BFormRadio')['BFormRadioGroup']
|
BFormRadioGroup: typeof import('bootstrap-vue-next/components/BFormRadio')['BFormRadioGroup']
|
||||||
BFormSelect: typeof import('bootstrap-vue-next/components/BFormSelect')['BFormSelect']
|
BFormSelect: typeof import('bootstrap-vue-next/components/BFormSelect')['BFormSelect']
|
||||||
BFormTextarea: typeof import('bootstrap-vue-next/components/BFormTextarea')['BFormTextarea']
|
BFormTextarea: typeof import('bootstrap-vue-next/components/BFormTextarea')['BFormTextarea']
|
||||||
|
@ -59,8 +62,14 @@ declare module 'vue' {
|
||||||
BSpinner: typeof import('bootstrap-vue-next/components/BSpinner')['BSpinner']
|
BSpinner: typeof import('bootstrap-vue-next/components/BSpinner')['BSpinner']
|
||||||
BTab: typeof import('bootstrap-vue-next/components/BTabs')['BTab']
|
BTab: typeof import('bootstrap-vue-next/components/BTabs')['BTab']
|
||||||
BTable: typeof import('bootstrap-vue-next/components/BTable')['BTable']
|
BTable: typeof import('bootstrap-vue-next/components/BTable')['BTable']
|
||||||
|
BTableSimple: typeof import('bootstrap-vue-next/components/BTable')['BTableSimple']
|
||||||
BTabs: typeof import('bootstrap-vue-next/components/BTabs')['BTabs']
|
BTabs: typeof import('bootstrap-vue-next/components/BTabs')['BTabs']
|
||||||
|
BTbody: typeof import('bootstrap-vue-next/components/BTable')['BTbody']
|
||||||
|
BTd: typeof import('bootstrap-vue-next/components/BTable')['BTd']
|
||||||
|
BTh: typeof import('bootstrap-vue-next/components/BTable')['BTh']
|
||||||
|
BThead: typeof import('bootstrap-vue-next/components/BTable')['BThead']
|
||||||
BToast: typeof import('bootstrap-vue-next/components/BToast')['BToast']
|
BToast: typeof import('bootstrap-vue-next/components/BToast')['BToast']
|
||||||
|
BTr: typeof import('bootstrap-vue-next/components/BTable')['BTr']
|
||||||
CandleChart: typeof import('./components/charts/CandleChart.vue')['default']
|
CandleChart: typeof import('./components/charts/CandleChart.vue')['default']
|
||||||
CandleChartContainer: typeof import('./components/charts/CandleChartContainer.vue')['default']
|
CandleChartContainer: typeof import('./components/charts/CandleChartContainer.vue')['default']
|
||||||
CopyableTextfield: typeof import('./components/general/CopyableTextfield.vue')['default']
|
CopyableTextfield: typeof import('./components/general/CopyableTextfield.vue')['default']
|
||||||
|
@ -76,17 +85,31 @@ declare module 'vue' {
|
||||||
FreqaiModelSelect: typeof import('./components/ftbot/FreqaiModelSelect.vue')['default']
|
FreqaiModelSelect: typeof import('./components/ftbot/FreqaiModelSelect.vue')['default']
|
||||||
HourlyChart: typeof import('./components/charts/HourlyChart.vue')['default']
|
HourlyChart: typeof import('./components/charts/HourlyChart.vue')['default']
|
||||||
IMdiAlert: typeof import('~icons/mdi/alert')['default']
|
IMdiAlert: typeof import('~icons/mdi/alert')['default']
|
||||||
|
IMdiArrowDownThick: typeof import('~icons/mdi/arrow-down-thick')['default']
|
||||||
|
IMdiArrowDownThin: typeof import('~icons/mdi/arrow-down-thin')['default']
|
||||||
|
IMdiArrowRight: typeof import('~icons/mdi/arrow-right')['default']
|
||||||
|
IMdiArrowRightBoldBoxOutline: typeof import('~icons/mdi/arrow-right-bold-box-outline')['default']
|
||||||
|
IMdiArrowUpThin: typeof import('~icons/mdi/arrow-up-thin')['default']
|
||||||
IMdiBank: typeof import('~icons/mdi/bank')['default']
|
IMdiBank: typeof import('~icons/mdi/bank')['default']
|
||||||
IMdiBrightness6: typeof import('~icons/mdi/brightness6')['default']
|
IMdiBrightness6: typeof import('~icons/mdi/brightness6')['default']
|
||||||
IMdiCancel: typeof import('~icons/mdi/cancel')['default']
|
IMdiCancel: typeof import('~icons/mdi/cancel')['default']
|
||||||
|
IMdiChartBellCurveCumulative: typeof import('~icons/mdi/chart-bell-curve-cumulative')['default']
|
||||||
|
IMdiChartTimelineVariantShimmer: typeof import('~icons/mdi/chart-timeline-variant-shimmer')['default']
|
||||||
IMdiCheck: typeof import('~icons/mdi/check')['default']
|
IMdiCheck: typeof import('~icons/mdi/check')['default']
|
||||||
IMdiCheckCircle: typeof import('~icons/mdi/check-circle')['default']
|
IMdiCheckCircle: typeof import('~icons/mdi/check-circle')['default']
|
||||||
|
IMdiChevronDown: typeof import('~icons/mdi/chevron-down')['default']
|
||||||
|
IMdiChevronLeft: typeof import('~icons/mdi/chevron-left')['default']
|
||||||
|
IMdiChevronRight: typeof import('~icons/mdi/chevron-right')['default']
|
||||||
|
IMdiChevronUp: typeof import('~icons/mdi/chevron-up')['default']
|
||||||
IMdiCircle: typeof import('~icons/mdi/circle')['default']
|
IMdiCircle: typeof import('~icons/mdi/circle')['default']
|
||||||
IMdiClose: typeof import('~icons/mdi/close')['default']
|
IMdiClose: typeof import('~icons/mdi/close')['default']
|
||||||
IMdiCloseBox: typeof import('~icons/mdi/close-box')['default']
|
IMdiCloseBox: typeof import('~icons/mdi/close-box')['default']
|
||||||
IMdiCloseBoxMultiple: typeof import('~icons/mdi/close-box-multiple')['default']
|
IMdiCloseBoxMultiple: typeof import('~icons/mdi/close-box-multiple')['default']
|
||||||
|
IMdiCloudDownload: typeof import('~icons/mdi/cloud-download')['default']
|
||||||
IMdiCog: typeof import('~icons/mdi/cog')['default']
|
IMdiCog: typeof import('~icons/mdi/cog')['default']
|
||||||
|
IMdiCompareHorizontal: typeof import('~icons/mdi/compare-horizontal')['default']
|
||||||
IMdiContentCopy: typeof import('~icons/mdi/content-copy')['default']
|
IMdiContentCopy: typeof import('~icons/mdi/content-copy')['default']
|
||||||
|
IMdiContentSave: typeof import('~icons/mdi/content-save')['default']
|
||||||
IMdiDelete: typeof import('~icons/mdi/delete')['default']
|
IMdiDelete: typeof import('~icons/mdi/delete')['default']
|
||||||
IMdiDiceMultiple: typeof import('~icons/mdi/dice-multiple')['default']
|
IMdiDiceMultiple: typeof import('~icons/mdi/dice-multiple')['default']
|
||||||
IMdiEye: typeof import('~icons/mdi/eye')['default']
|
IMdiEye: typeof import('~icons/mdi/eye')['default']
|
||||||
|
@ -110,6 +133,7 @@ declare module 'vue' {
|
||||||
IMdiRobot: typeof import('~icons/mdi/robot')['default']
|
IMdiRobot: typeof import('~icons/mdi/robot')['default']
|
||||||
IMdiRunFast: typeof import('~icons/mdi/run-fast')['default']
|
IMdiRunFast: typeof import('~icons/mdi/run-fast')['default']
|
||||||
IMdiStop: typeof import('~icons/mdi/stop')['default']
|
IMdiStop: typeof import('~icons/mdi/stop')['default']
|
||||||
|
IMdiTableEye: typeof import('~icons/mdi/table-eye')['default']
|
||||||
IMdiTriangle: typeof import('~icons/mdi/triangle')['default']
|
IMdiTriangle: typeof import('~icons/mdi/triangle')['default']
|
||||||
IMdiTriangleDown: typeof import('~icons/mdi/triangle-down')['default']
|
IMdiTriangleDown: typeof import('~icons/mdi/triangle-down')['default']
|
||||||
IMdiViewDashboardOutline: typeof import('~icons/mdi/view-dashboard-outline')['default']
|
IMdiViewDashboardOutline: typeof import('~icons/mdi/view-dashboard-outline')['default']
|
||||||
|
|
Loading…
Reference in New Issue
Block a user