mirror of
https://github.com/grafana/grafana.git
synced 2025-07-29 02:52:16 +08:00
29 lines
1002 B
TypeScript
29 lines
1002 B
TypeScript
import { Preferences as UserPreferencesDTO } from '@grafana/schema/src/raw/preferences/x/preferences_types.gen';
|
|
|
|
import { e2e } from '..';
|
|
import { fromBaseUrl } from '../support/url';
|
|
|
|
const defaultUserPreferences = {
|
|
timezone: '', // "Default" option
|
|
navbar: {
|
|
bookmarkUrls: [],
|
|
},
|
|
} as const satisfies UserPreferencesDTO; // TODO: when we update typescript >4.9 change to `as const satisfies UserPreferencesDTO`
|
|
|
|
// Only accept preferences we have defaults for as arguments. To allow a new preference to be set, add a default for it
|
|
type UserPreferences = Pick<UserPreferencesDTO, keyof typeof defaultUserPreferences>;
|
|
|
|
export function setUserPreferences(prefs: UserPreferences) {
|
|
e2e.setScenarioContext({ hasChangedUserPreferences: prefs !== defaultUserPreferences });
|
|
|
|
return cy.request({
|
|
method: 'PUT',
|
|
url: fromBaseUrl('/api/user/preferences'),
|
|
body: prefs,
|
|
});
|
|
}
|
|
|
|
export function setDefaultUserPreferences() {
|
|
return setUserPreferences(defaultUserPreferences);
|
|
}
|