@@ -14,14 +14,14 @@ import kotlin.test.BeforeTest
1414import kotlin.test.Test
1515
1616class PowerSyncRoomTest {
17-
1817 lateinit var database: TestDatabase
1918
2019 @BeforeTest
2120 fun setup () {
22- val driver = BundledSQLiteDriver ().also {
23- it.loadPowerSyncExtension()
24- }
21+ val driver =
22+ BundledSQLiteDriver ().also {
23+ it.loadPowerSyncExtension()
24+ }
2525
2626 database = createDatabaseBuilder().setDriver(driver).build()
2727 }
@@ -32,96 +32,107 @@ class PowerSyncRoomTest {
3232 }
3333
3434 @Test
35- fun roomWritePowerSyncRead () = runTest {
36- database.userDao().create(User (id = " test" , name = " Test user" ))
37- val logger = Logger (loggerConfigInit())
38-
39- val powersync = PowerSyncDatabase .opened(
40- pool = RoomConnectionPool (database),
41- scope = this ,
42- schema = TestDatabase .schema,
43- identifier = " test" ,
44- logger = logger,
45- )
46-
47- val row = powersync.get(" SELECT * FROM user" ) {
48- User (
49- id = it.getString(" id" ),
50- name = it.getString(" name" )
51- )
52- }
53- row shouldBe User (id = " test" , name = " Test user" )
35+ fun roomWritePowerSyncRead () =
36+ runTest {
37+ database.userDao().create(User (id = " test" , name = " Test user" ))
38+ val logger = Logger (loggerConfigInit())
39+
40+ val powersync =
41+ PowerSyncDatabase .opened(
42+ pool = RoomConnectionPool (database),
43+ scope = this ,
44+ schema = TestDatabase .schema,
45+ identifier = " test" ,
46+ logger = logger,
47+ )
5448
55- powersync.close()
56- }
49+ val row =
50+ powersync.get(" SELECT * FROM user" ) {
51+ User (
52+ id = it.getString(" id" ),
53+ name = it.getString(" name" ),
54+ )
55+ }
56+ row shouldBe User (id = " test" , name = " Test user" )
57+
58+ powersync.close()
59+ }
5760
5861 @Test
59- fun roomWritePowerSyncWatch () = runTest {
60- val logger = Logger (loggerConfigInit())
61- val pool = RoomConnectionPool (database)
62-
63- val powersync = PowerSyncDatabase .opened(
64- pool = pool,
65- scope = this ,
66- schema = TestDatabase .schema,
67- identifier = " test" ,
68- logger = logger,
69- )
70-
71- turbineScope {
72- val turbine = powersync.watch(" SELECT * FROM user" ) {
73- User (
74- id = it.getString(" id" ),
75- name = it.getString(" name" )
62+ fun roomWritePowerSyncWatch () =
63+ runTest {
64+ val logger = Logger (loggerConfigInit())
65+ val pool = RoomConnectionPool (database)
66+
67+ val powersync =
68+ PowerSyncDatabase .opened(
69+ pool = pool,
70+ scope = this ,
71+ schema = TestDatabase .schema,
72+ identifier = " test" ,
73+ logger = logger,
7674 )
77- }.testIn(this )
7875
79- turbine.awaitItem() shouldHaveSize 0
80- database.userDao().create(User (" id" , " name" ))
81- pool.transferRoomUpdatesToPowerSync() // TODO: Would be cool if this wasn't necessary
82- turbine.awaitItem() shouldHaveSize 1
83- turbine.cancel()
76+ turbineScope {
77+ val turbine =
78+ powersync
79+ .watch(" SELECT * FROM user" ) {
80+ User (
81+ id = it.getString(" id" ),
82+ name = it.getString(" name" ),
83+ )
84+ }.testIn(this )
85+
86+ turbine.awaitItem() shouldHaveSize 0
87+ database.userDao().create(User (" id" , " name" ))
88+ pool.transferRoomUpdatesToPowerSync() // TODO: Would be cool if this wasn't necessary
89+ turbine.awaitItem() shouldHaveSize 1
90+ turbine.cancel()
91+ }
8492 }
85- }
8693
8794 @Test
88- fun powersyncWriteRoomRead () = runTest {
89- val logger = Logger (loggerConfigInit())
90- val pool = RoomConnectionPool (database)
91-
92- val powersync = PowerSyncDatabase .opened(
93- pool = pool,
94- scope = this ,
95- schema = TestDatabase .schema,
96- identifier = " test" ,
97- logger = logger,
98- )
99-
100- database.userDao().getAll() shouldHaveSize 0
101- powersync.execute(" insert into user values (uuid(), ?)" , listOf (" PowerSync user" ))
102- database.userDao().getAll() shouldHaveSize 1
103- }
95+ fun powersyncWriteRoomRead () =
96+ runTest {
97+ val logger = Logger (loggerConfigInit())
98+ val pool = RoomConnectionPool (database)
99+
100+ val powersync =
101+ PowerSyncDatabase .opened(
102+ pool = pool,
103+ scope = this ,
104+ schema = TestDatabase .schema,
105+ identifier = " test" ,
106+ logger = logger,
107+ )
108+
109+ database.userDao().getAll() shouldHaveSize 0
110+ powersync.execute(" insert into user values (uuid(), ?)" , listOf (" PowerSync user" ))
111+ database.userDao().getAll() shouldHaveSize 1
112+ }
104113
105114 @Test
106- fun powersyncWriteRoomWatch () = runTest {
107- val logger = Logger (loggerConfigInit())
108- val pool = RoomConnectionPool (database)
109-
110- val powersync = PowerSyncDatabase .opened(
111- pool = pool,
112- scope = this ,
113- schema = TestDatabase .schema,
114- identifier = " test" ,
115- logger = logger,
116- )
117-
118- turbineScope {
119- val turbine = database.userDao().watchAll().testIn(this )
120- turbine.awaitItem() shouldHaveSize 0
115+ fun powersyncWriteRoomWatch () =
116+ runTest {
117+ val logger = Logger (loggerConfigInit())
118+ val pool = RoomConnectionPool (database)
119+
120+ val powersync =
121+ PowerSyncDatabase .opened(
122+ pool = pool,
123+ scope = this ,
124+ schema = TestDatabase .schema,
125+ identifier = " test" ,
126+ logger = logger,
127+ )
121128
122- powersync.execute(" insert into user values (uuid(), ?)" , listOf (" PowerSync user" ))
123- turbine.awaitItem() shouldHaveSize 1
124- turbine.cancel()
129+ turbineScope {
130+ val turbine = database.userDao().watchAll().testIn(this )
131+ turbine.awaitItem() shouldHaveSize 0
132+
133+ powersync.execute(" insert into user values (uuid(), ?)" , listOf (" PowerSync user" ))
134+ turbine.awaitItem() shouldHaveSize 1
135+ turbine.cancel()
136+ }
125137 }
126- }
127138}
0 commit comments