diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
index 82f13d652db784779022d1d750aec18c5bc1516a..5a52fb36babdbdff97ef84b1e2b7901c66ce0027 100644
--- a/.idea/deploymentTargetDropDown.xml
+++ b/.idea/deploymentTargetDropDown.xml
@@ -2,6 +2,9 @@
 <project version="4">
   <component name="deploymentTargetDropDown">
     <value>
+      <entry key="RoomTransactionRepositoryTest">
+        <State />
+      </entry>
       <entry key="app">
         <State>
           <targetSelectedWithDropDown>
@@ -18,6 +21,9 @@
           <timeTargetWasSelectedWithDropDown value="2024-03-12T16:51:54.989040Z" />
         </State>
       </entry>
+      <entry key="insert()">
+        <State />
+      </entry>
     </value>
   </component>
 </project>
\ No newline at end of file
diff --git a/app/src/androidTest/java/com/example/bondoman/repositories/room/RoomTransactionRepositoryTest.kt b/app/src/androidTest/java/com/example/bondoman/repositories/room/RoomTransactionRepositoryTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..4cbcbb5e59b7eb439d7ff606c3053377cdd1f757
--- /dev/null
+++ b/app/src/androidTest/java/com/example/bondoman/repositories/room/RoomTransactionRepositoryTest.kt
@@ -0,0 +1,67 @@
+package com.example.bondoman.repositories.room
+
+import androidx.room.Room
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.example.bondoman.database.room.TransactionDatabase
+import com.example.bondoman.entities.Transaction
+import com.example.bondoman.repositories.ITransactionRepository
+import kotlinx.coroutines.runBlocking
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+
+@RunWith(AndroidJUnit4::class)
+@SmallTest
+class RoomTransactionRepositoryTest {
+    private lateinit var database: TransactionDatabase
+    private lateinit var transactionDao: ITransactionDao
+    private lateinit var transactionRepository: ITransactionRepository
+    @Before
+    fun setupDatabase() {
+        database = Room.inMemoryDatabaseBuilder(
+            ApplicationProvider.getApplicationContext(),
+            TransactionDatabase::class.java
+        ).allowMainThreadQueries().build()
+
+        transactionDao = database.transactionDao()
+        transactionRepository = RoomTransactionRepository(transactionDao)
+    }
+
+    @After
+    fun closeDatabase() {
+        database.close()
+    }
+
+    @Test
+    fun insert() = runBlocking {
+        transactionRepository.deleteAll()
+        val transactionToInsert = Transaction(
+            1,
+            "Beli seblak",
+            "Pengeluaran",
+            20000f,
+            "Warung teteh",
+            "hahaha@email.com"
+        )
+        transactionRepository.insert(transactionToInsert)
+
+        val transactions = transactionRepository.getAll("hahaha@email.com")
+        assert(transactions.isNotEmpty())
+
+        val transactionInDb = transactions[0]
+
+        assert(
+            transactionToInsert.id == transactionInDb.id &&
+            transactionToInsert.title == transactionInDb.title &&
+            transactionToInsert.category == transactionInDb.category &&
+            transactionToInsert.amount == transactionInDb.amount &&
+            transactionToInsert.location == transactionInDb.location &&
+            transactionToInsert.userEmail == transactionInDb.userEmail
+        )
+        transactionRepository.deleteAll()
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/repositories/ITransactionRepository.kt b/app/src/main/java/com/example/bondoman/repositories/ITransactionRepository.kt
index 93bb521510bc4e07b63a887208e0b6aa44eeee13..560f2f9cd8ec9737f46100b28d770ddd55d776c3 100644
--- a/app/src/main/java/com/example/bondoman/repositories/ITransactionRepository.kt
+++ b/app/src/main/java/com/example/bondoman/repositories/ITransactionRepository.kt
@@ -8,4 +8,5 @@ interface ITransactionRepository {
     suspend fun insert(transaction: Transaction)
     suspend fun update(transaction: Transaction)
     suspend fun delete(transaction: Transaction)
+    suspend fun deleteAll()
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/repositories/room/ITransactionDao.kt b/app/src/main/java/com/example/bondoman/repositories/room/ITransactionDao.kt
index 36b1611bb2b0fefdc4b0dafab83a4c8319103147..2efc81d7077242d3c9e780e0c18683f87a85920a 100644
--- a/app/src/main/java/com/example/bondoman/repositories/room/ITransactionDao.kt
+++ b/app/src/main/java/com/example/bondoman/repositories/room/ITransactionDao.kt
@@ -17,4 +17,7 @@ interface ITransactionDao {
     suspend fun update(transaction: Transaction)
     @Delete
     suspend fun delete(transaction: Transaction)
+
+    @Query("DELETE FROM transactions")
+    suspend fun deleteAll()
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/repositories/room/RoomTransactionRepository.kt b/app/src/main/java/com/example/bondoman/repositories/room/RoomTransactionRepository.kt
index 85b6e0867e7623f52fc9ed6db1f866dcf56946d0..6cbe036aee2e2c9003315d7d93af861a4d742e18 100644
--- a/app/src/main/java/com/example/bondoman/repositories/room/RoomTransactionRepository.kt
+++ b/app/src/main/java/com/example/bondoman/repositories/room/RoomTransactionRepository.kt
@@ -16,4 +16,7 @@ class RoomTransactionRepository(private val transactionDao: ITransactionDao):
 
     override suspend fun delete(transaction: Transaction)
         = transactionDao.delete(transaction)
+
+    override suspend fun deleteAll()
+        = transactionDao.deleteAll()
 }
\ No newline at end of file