Prevent a regression of https://github.com/nextcloud/server/issues/48403 Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>pull/50179/head
parent
b2d1df7f87
commit
2556da5957
@ -0,0 +1,41 @@ |
||||
/*! |
||||
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors |
||||
* SPDX-License-Identifier: AGPL-3.0-or-later |
||||
*/ |
||||
|
||||
/** |
||||
* Regression test of https://github.com/nextcloud/server/issues/48403
|
||||
* Ensure that only visible widget data is loaded |
||||
*/ |
||||
describe('dashboard: performance', () => { |
||||
before(() => { |
||||
cy.createRandomUser().then((user) => { |
||||
// Enable one widget
|
||||
cy.runOccCommand(`user:setting -- '${user.userId}' dashboard layout files-favorites`) |
||||
cy.login(user) |
||||
}) |
||||
}) |
||||
|
||||
it('Only load needed widgets', () => { |
||||
cy.intercept('**/dashboard/api/v2/widget-items?widgets*').as('loadedWidgets') |
||||
|
||||
const now = new Date(2025, 0, 14, 15) |
||||
cy.clock(now) |
||||
|
||||
// The dashboard is loaded
|
||||
cy.visit('/apps/dashboard') |
||||
cy.get('#app-dashboard') |
||||
.should('be.visible') |
||||
.contains('Good afternoon') |
||||
.should('be.visible') |
||||
|
||||
// Wait that one data is loaded (ensure the API works), this should be the favorite files.
|
||||
cy.wait('@loadedWidgets') |
||||
// Wait and check no requests are made (ensure that the user statuses data is NOT loaded)
|
||||
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
||||
cy.wait(4000, { timeout: 8000 }) |
||||
cy.get('@loadedWidgets.all').then((interceptions) => { |
||||
expect(interceptions).to.have.length(1) |
||||
}) |
||||
}) |
||||
}) |
||||
Loading…
Reference in new issue