@@ -3,7 +3,9 @@ namespace PowerSync.Common.Tests.Client;
33using System . Diagnostics ;
44
55using Microsoft . Data . Sqlite ;
6+
67using Newtonsoft . Json ;
8+
79using PowerSync . Common . Client ;
810using PowerSync . Common . DB . Schema ;
911
@@ -695,65 +697,14 @@ await db.Execute(
695697 [ Fact ( Timeout = 2000 ) ]
696698 public async Task WatchSchemaResetTest ( )
697699 {
698- var initialSchema = new Schema (
699- new Table
700- {
701- Name = "assets_local" ,
702- ViewName = "assets" ,
703- LocalOnly = true ,
704- Columns =
705- {
706- [ "make" ] = ColumnType . Text ,
707- [ "model" ] = ColumnType . Text ,
708- [ "description" ] = ColumnType . Text ,
709- }
710- } ,
711- new Table
712- {
713- Name = "assets_synced" ,
714- ViewName = "assets_synced_inactive" ,
715- LocalOnly = false ,
716- Columns =
717- {
718- [ "make" ] = ColumnType . Text ,
719- [ "model" ] = ColumnType . Text ,
720- [ "description" ] = ColumnType . Text ,
721- }
722- }
723- ) ;
724- var updatedSchema = new Schema (
725- new Table
726- {
727- Name = "assets_local" ,
728- ViewName = "assets_local_inactive" ,
729- LocalOnly = true ,
730- Columns =
731- {
732- [ "make" ] = ColumnType . Text ,
733- [ "description" ] = ColumnType . Text ,
734- }
735- } ,
736- new Table
737- {
738- Name = "assets_synced" ,
739- ViewName = "assets" ,
740- LocalOnly = false ,
741- Columns =
742- {
743- [ "make" ] = ColumnType . Text ,
744- [ "description" ] = ColumnType . Text ,
745- }
746- }
747- ) ;
748-
749700 var dbId = Guid . NewGuid ( ) . ToString ( ) ;
750701 var db = new PowerSyncDatabase ( new ( )
751702 {
752703 Database = new SQLOpenOptions
753704 {
754705 DbFilename = $ "powerSyncWatch_{ dbId } .db",
755706 } ,
756- Schema = initialSchema
707+ Schema = TestSchema . MakeOptionalSyncSchema ( false )
757708 } ) ;
758709
759710 var sem = new SemaphoreSlim ( 0 ) ;
@@ -772,9 +723,9 @@ public async Task WatchSchemaResetTest()
772723 Assert . True ( await sem . WaitAsync ( 100 ) ) ;
773724 Assert . Equal ( 0 , lastCount ) ;
774725
775- var initialResolved = await GetSourceTables ( db , querySql ) ;
776- Assert . Contains ( "ps_data_local__assets_local" , initialResolved ) ;
777- Assert . DoesNotContain ( "ps_data__assets_synced ", initialResolved ) ;
726+ var resolved = await GetSourceTables ( db , querySql ) ;
727+ Assert . Single ( resolved ) ;
728+ Assert . Contains ( "ps_data_local__local_assets ", resolved ) ;
778729
779730 for ( int i = 0 ; i < 3 ; i ++ )
780731 {
@@ -787,19 +738,20 @@ await db.Execute(
787738 }
788739 Assert . Equal ( 3 , lastCount ) ;
789740
790- await db . UpdateSchema ( updatedSchema ) ;
741+ await db . UpdateSchema ( TestSchema . MakeOptionalSyncSchema ( true ) ) ;
791742
792- var updatedResolved = await GetSourceTables ( db , querySql ) ;
793- Assert . Contains ( "ps_data__assets_synced" , updatedResolved ) ;
794- Assert . DoesNotContain ( "ps_data_local__assets_local ", updatedResolved ) ;
743+ resolved = await GetSourceTables ( db , querySql ) ;
744+ Assert . Single ( resolved ) ;
745+ Assert . Contains ( "ps_data__assets ", resolved ) ;
795746
796747 Assert . True ( await sem . WaitAsync ( 100 ) ) ;
797748 Assert . Equal ( 0 , lastCount ) ;
798749
799- await db . Execute ( "insert into assets select * from assets_local_inactive " ) ;
750+ await db . Execute ( "insert into assets select * from inactive_local_assets " ) ;
800751 Assert . True ( await sem . WaitAsync ( 100 ) ) ;
801752 Assert . Equal ( 3 , lastCount ) ;
802753
754+ // Sanity check
803755 query . Dispose ( ) ;
804756
805757 await db . Execute ( "delete from assets" ) ;
0 commit comments