Skip to main content

max / balanced_breakfast

2.0 KB · 67 lines History Blame Raw
1 //! Config operations integration tests.
2
3 mod common;
4
5 // ── Config Operations ─────────────────��──────────────────────────────
6
7 #[tokio::test]
8 async fn config_set_and_get() {
9 let db = common::test_db().await;
10
11 db.config().set("theme", "dark-mode").await.unwrap();
12 let value = db.config().get("theme").await.unwrap();
13 assert_eq!(value, Some("dark-mode".to_string()));
14 }
15
16 #[tokio::test]
17 async fn config_get_missing_key_returns_none() {
18 let db = common::test_db().await;
19
20 let value = db.config().get("nonexistent_key").await.unwrap();
21 assert!(value.is_none());
22 }
23
24 #[tokio::test]
25 async fn config_overwrite_semantics() {
26 let db = common::test_db().await;
27
28 db.config().set("theme", "dark-mode").await.unwrap();
29 db.config().set("theme", "light-mode").await.unwrap();
30
31 let value = db.config().get("theme").await.unwrap();
32 assert_eq!(value, Some("light-mode".to_string()));
33 }
34
35 #[tokio::test]
36 async fn config_multiple_keys_independent() {
37 let db = common::test_db().await;
38
39 db.config().set("theme", "dark").await.unwrap();
40 db.config().set("language", "en").await.unwrap();
41 db.config().set("welcome_seen", "true").await.unwrap();
42
43 assert_eq!(db.config().get("theme").await.unwrap(), Some("dark".to_string()));
44 assert_eq!(db.config().get("language").await.unwrap(), Some("en".to_string()));
45 assert_eq!(db.config().get("welcome_seen").await.unwrap(), Some("true".to_string()));
46 }
47
48 #[tokio::test]
49 async fn config_delete() {
50 let db = common::test_db().await;
51
52 db.config().set("key", "value").await.unwrap();
53 assert!(db.config().get("key").await.unwrap().is_some());
54
55 db.config().delete("key").await.unwrap();
56 assert!(db.config().get("key").await.unwrap().is_none());
57 }
58
59 #[tokio::test]
60 async fn config_empty_value_is_valid() {
61 let db = common::test_db().await;
62
63 db.config().set("key", "").await.unwrap();
64 let value = db.config().get("key").await.unwrap();
65 assert_eq!(value, Some(String::new()));
66 }
67