@@ -71,12 +71,16 @@ mod tests {
7171 use crate :: model:: { KeymapsDatabase , LocalesDatabase , ModelAdapter , TimezonesDatabase } ;
7272 use crate :: service:: { self , Service } ;
7373 use agama_locale_data:: { KeymapId , LocaleId } ;
74- use agama_utils:: actor:: { self , Handler } ;
75- use agama_utils:: api;
76- use agama_utils:: api:: event:: { self , Event } ;
77- use agama_utils:: api:: l10n:: { Keymap , LocaleEntry , TimezoneEntry } ;
78- use agama_utils:: api:: scope:: Scope ;
79- use agama_utils:: issue;
74+ use agama_utils:: {
75+ actor:: { self , Handler } ,
76+ api:: {
77+ self ,
78+ event:: { self , Event } ,
79+ l10n:: { Keymap , LocaleEntry , TimezoneEntry } ,
80+ scope:: Scope ,
81+ } ,
82+ issue, test,
83+ } ;
8084 use tokio:: sync:: broadcast;
8185
8286 pub struct TestModel {
@@ -145,7 +149,8 @@ mod tests {
145149 async fn start_testing_service ( ) -> ( event:: Receiver , Handler < Service > , Handler < issue:: Service > )
146150 {
147151 let ( events_tx, events_rx) = broadcast:: channel :: < Event > ( 16 ) ;
148- let issues = issue:: start ( events_tx. clone ( ) , None ) . await . unwrap ( ) ;
152+ let dbus = test:: dbus:: connection ( ) . await . unwrap ( ) ;
153+ let issues = issue:: start ( events_tx. clone ( ) , dbus) . await . unwrap ( ) ;
149154
150155 let model = build_adapter ( ) ;
151156 let service = Service :: new ( model, issues. clone ( ) , events_tx) ;
@@ -167,7 +172,7 @@ mod tests {
167172 timezone : Some ( "Atlantic/Canary" . to_string ( ) ) ,
168173 } ;
169174 handler
170- . call ( message:: SetConfig :: new ( input_config. clone ( ) ) )
175+ . call ( message:: SetConfig :: with ( input_config. clone ( ) ) )
171176 . await ?;
172177
173178 let updated = handler. call ( message:: GetConfig ) . await ?;
@@ -190,7 +195,7 @@ mod tests {
190195
191196 // Use system info for missing values.
192197 handler
193- . call ( message:: SetConfig :: new ( input_config. clone ( ) ) )
198+ . call ( message:: SetConfig :: with ( input_config. clone ( ) ) )
194199 . await ?;
195200
196201 let updated = handler. call ( message:: GetConfig ) . await ?;
@@ -206,6 +211,25 @@ mod tests {
206211 Ok ( ( ) )
207212 }
208213
214+ #[ tokio:: test]
215+ async fn test_reset_config ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
216+ let ( mut _events_rx, handler, _issues) = start_testing_service ( ) . await ;
217+
218+ handler. call ( message:: SetConfig :: new ( None ) ) . await ?;
219+
220+ let config = handler. call ( message:: GetConfig ) . await ?;
221+ assert_eq ! (
222+ config,
223+ api:: l10n:: Config {
224+ locale: Some ( "en_US.UTF-8" . to_string( ) ) ,
225+ keymap: Some ( "us" . to_string( ) ) ,
226+ timezone: Some ( "Europe/Berlin" . to_string( ) ) ,
227+ }
228+ ) ;
229+
230+ Ok ( ( ) )
231+ }
232+
209233 #[ tokio:: test]
210234 async fn test_set_invalid_config ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
211235 let ( _events_rx, handler, _issues) = start_testing_service ( ) . await ;
@@ -216,7 +240,7 @@ mod tests {
216240 } ;
217241
218242 let result = handler
219- . call ( message:: SetConfig :: new ( input_config. clone ( ) ) )
243+ . call ( message:: SetConfig :: with ( input_config. clone ( ) ) )
220244 . await ;
221245 assert ! ( matches!( result, Err ( service:: Error :: InvalidLocale ( _) ) ) ) ;
222246 Ok ( ( ) )
@@ -228,7 +252,7 @@ mod tests {
228252
229253 let config = handler. call ( message:: GetConfig ) . await ?;
230254 assert_eq ! ( config. locale, Some ( "en_US.UTF-8" . to_string( ) ) ) ;
231- let message = message:: SetConfig :: new ( config. clone ( ) ) ;
255+ let message = message:: SetConfig :: with ( config. clone ( ) ) ;
232256 handler. call ( message) . await ?;
233257 // Wait until the action is dispatched.
234258 let _ = handler. call ( message:: GetConfig ) . await ?;
@@ -247,7 +271,7 @@ mod tests {
247271 locale : Some ( "xx_XX.UTF-8" . to_string ( ) ) ,
248272 timezone : Some ( "Unknown/Unknown" . to_string ( ) ) ,
249273 } ;
250- let _ = handler. call ( message:: SetConfig :: new ( config) ) . await ?;
274+ let _ = handler. call ( message:: SetConfig :: with ( config) ) . await ?;
251275
252276 let found_issues = issues. call ( issue:: message:: Get ) . await ?;
253277 let l10n_issues = found_issues. get ( & Scope :: L10n ) . unwrap ( ) ;
@@ -277,7 +301,7 @@ mod tests {
277301 keymap : Some ( "es" . to_string ( ) ) ,
278302 timezone : Some ( "Atlantic/Canary" . to_string ( ) ) ,
279303 } ;
280- let message = message:: SetConfig :: new ( input_config. clone ( ) ) ;
304+ let message = message:: SetConfig :: with ( input_config. clone ( ) ) ;
281305 handler. call ( message) . await ?;
282306
283307 let proposal = handler
0 commit comments