@ -3,7 +3,6 @@
use std ::path ::PathBuf ;
use std ::path ::PathBuf ;
use std ::sync ::{ Arc , Mutex } ;
use std ::sync ::{ Arc , Mutex } ;
use chrono ::{ Utc , TimeZone } ;
use url ::Url ;
use url ::Url ;
use my_tasks ::traits ::CalDavSource ;
use my_tasks ::traits ::CalDavSource ;
@ -56,23 +55,19 @@ async fn populate_test_provider() -> Provider<Cache, CachedCalendar, Cache, Cach
let cal_id = Url ::parse ( "http://todo.list/cal" ) . unwrap ( ) ;
let cal_id = Url ::parse ( "http://todo.list/cal" ) . unwrap ( ) ;
let task_a = Item ::Task ( Task ::new ( "task A" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 1 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_a = Item ::Task ( Task ::new ( "task A" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_b = Item ::Task ( Task ::new ( "task B" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 2 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_b = Item ::Task ( Task ::new ( "task B" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_c = Item ::Task ( Task ::new ( "task C" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 3 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_c = Item ::Task ( Task ::new ( "task C" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_d = Item ::Task ( Task ::new ( "task D" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 4 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_d = Item ::Task ( Task ::new ( "task D" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_e = Item ::Task ( Task ::new ( "task E" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 5 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_e = Item ::Task ( Task ::new ( "task E" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_f = Item ::Task ( Task ::new ( "task F" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 6 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_f = Item ::Task ( Task ::new ( "task F" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_g = Item ::Task ( Task ::new ( "task G" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 7 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_g = Item ::Task ( Task ::new ( "task G" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_h = Item ::Task ( Task ::new ( "task H" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 8 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_h = Item ::Task ( Task ::new ( "task H" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_i = Item ::Task ( Task ::new ( "task I" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 9 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_i = Item ::Task ( Task ::new ( "task I" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_j = Item ::Task ( Task ::new ( "task J" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 10 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_j = Item ::Task ( Task ::new ( "task J" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_k = Item ::Task ( Task ::new ( "task K" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 11 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_k = Item ::Task ( Task ::new ( "task K" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_l = Item ::Task ( Task ::new ( "task L" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 12 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_l = Item ::Task ( Task ::new ( "task L" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_m = Item ::Task ( Task ::new ( "task M" . into ( ) , ItemId ::random ( ) , Utc . ymd ( 2000 , 1 , 12 ) . and_hms ( 0 , 0 , 0 ) , SyncStatus ::random_synced ( ) ) ) ;
let task_m = Item ::Task ( Task ::new ( "task M" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
// let last_sync = task_m.last_modified();
// local.update_last_sync(Some(last_sync));
// assert!(last_sync < Utc::now());
let task_b_id = task_b . id ( ) . clone ( ) ;
let task_b_id = task_b . id ( ) . clone ( ) ;
let task_c_id = task_c . id ( ) . clone ( ) ;
let task_c_id = task_c . id ( ) . clone ( ) ;
@ -132,7 +127,7 @@ async fn populate_test_provider() -> Provider<Cache, CachedCalendar, Cache, Cach
cal_server . delete_item ( & task_l_id ) . await . unwrap ( ) ;
cal_server . delete_item ( & task_l_id ) . await . unwrap ( ) ;
let task_n = Item ::Task ( Task ::new ( "task N (new from server)" . into ( ) , ItemId ::random ( ) , Utc ::now ( ) , SyncStatus ::random_synced ( ) ) ) ;
let task_n = Item ::Task ( Task ::new ( "task N (new from server)" . into ( ) , ItemId ::random ( ) , SyncStatus ::random_synced ( ) ) ) ;
cal_server . add_item ( task_n ) . await ;
cal_server . add_item ( task_n ) . await ;
@ -161,7 +156,7 @@ async fn populate_test_provider() -> Provider<Cache, CachedCalendar, Cache, Cach
cal_local . delete_item ( & task_k_id ) . await . unwrap ( ) ;
cal_local . delete_item ( & task_k_id ) . await . unwrap ( ) ;
cal_local . delete_item ( & task_l_id ) . await . unwrap ( ) ;
cal_local . delete_item ( & task_l_id ) . await . unwrap ( ) ;
let task_o = Item ::Task ( Task ::new ( "task O (new from local)" . into ( ) , ItemId ::random ( ) , Utc ::now ( ) , SyncStatus ::NotSynced ) ) ;
let task_o = Item ::Task ( Task ::new ( "task O (new from local)" . into ( ) , ItemId ::random ( ) , SyncStatus ::NotSynced ) ) ;
cal_local . add_item ( task_o ) . await ;
cal_local . add_item ( task_o ) . await ;
Provider ::new ( server , local )
Provider ::new ( server , local )