This commit is contained in:
Mateusz Gruszczyński committed 2026-10-15 13:00:44 +02:00
1 parent 5a36bb0c4b
commit 78ad28ef4d
27 files changed
+1448 -234

No files matched your search

+53
View File
@@ -202,3 +202,56 @@ fn explicit_visible_stream_opt_in_is_not_reset_when_normalizing_saved_order() {
assert_eq!(prefs.dashboard_widgets, default_admin_dashboard_widgets());
assert!(validate_admin_preferences(&prefs).is_ok());
}
#[test]
fn dashboard_width_preferences_preserve_legacy_and_allow_custom_grids() {
let old: AdminPreferences = serde_json::from_str(r#"{"theme":"dark"}"#).unwrap();
assert!(old.dashboard_widget_sizes.is_none());
let mut prefs = AdminPreferences::default();
prefs.dashboard_widget_sizes = Some(std::collections::BTreeMap::new());
assert!(validate_admin_preferences(&prefs).is_ok());
for (id, span) in [
("http_protocol", 4),
("http_protocol", 3),
("requests", 4),
("www_requests", 3),
("backend_table", 6),
] {
prefs
.dashboard_widget_sizes
.as_mut()
.unwrap()
.insert(id.into(), span);
}
assert!(validate_admin_preferences(&prefs).is_ok());
let saved = serde_json::to_string(&prefs).unwrap();
let restored: AdminPreferences = serde_json::from_str(&saved).unwrap();
assert_eq!(
restored.dashboard_widget_sizes,
prefs.dashboard_widget_sizes
);
prefs
.dashboard_widget_sizes
.as_mut()
.unwrap()
.insert("backend_table".into(), 2);
assert!(validate_admin_preferences(&prefs).is_err());
prefs
.dashboard_widget_sizes
.as_mut()
.unwrap()
.insert("backend_table".into(), 12);
prefs
.dashboard_widget_sizes
.as_mut()
.unwrap()
.insert("not_a_card".into(), 3);
assert!(validate_admin_preferences(&prefs).is_err());
reconcile_dashboard_widgets(&mut prefs);
assert!(!prefs
.dashboard_widget_sizes
.as_ref()
.unwrap()
.contains_key("not_a_card"));
assert!(validate_admin_preferences(&prefs).is_ok());
}