mirror of
https://github.com/nextcloud/server.git
synced 2025-02-07 18:09:45 +00:00
![Ferdinand Thiessen](/assets/img/avatar_default.png)
Prevent a regression of https://github.com/nextcloud/server/issues/48403 Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
/*!
|
|
* 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)
|
|
})
|
|
})
|
|
})
|