diff --git a/cache/src/main/java/com/example/expenselogger/cache/dao/ExpenseDao.kt b/cache/src/main/java/com/example/expenselogger/cache/dao/ExpenseDao.kt index ee81902..e90a9de 100644 --- a/cache/src/main/java/com/example/expenselogger/cache/dao/ExpenseDao.kt +++ b/cache/src/main/java/com/example/expenselogger/cache/dao/ExpenseDao.kt @@ -4,7 +4,6 @@ import androidx.room.Dao import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query -import androidx.room.Update import com.example.expenselogger.cache.entity.ExpenseEntity @Dao @@ -12,9 +11,6 @@ internal interface ExpenseDao { @Insert(onConflict = OnConflictStrategy.REPLACE) suspend fun insertExpense(expense: ExpenseEntity): Long - @Update - suspend fun updateExpense(expense: ExpenseEntity) - @Query("SELECT * FROM expense WHERE id = :id") suspend fun getExpense(id: Long): ExpenseEntity? diff --git a/cache/src/main/java/com/example/expenselogger/cache/entity/ExpenseEntity.kt b/cache/src/main/java/com/example/expenselogger/cache/entity/ExpenseEntity.kt index 3c22afb..4e24152 100644 --- a/cache/src/main/java/com/example/expenselogger/cache/entity/ExpenseEntity.kt +++ b/cache/src/main/java/com/example/expenselogger/cache/entity/ExpenseEntity.kt @@ -13,9 +13,8 @@ public data class ExpenseEntity( @ColumnInfo(name = "date") val date: Long, @ColumnInfo(name = "info") - val info: String -) { + val info: String, @PrimaryKey(autoGenerate = true) @ColumnInfo(name = "id") - var id: Long = 0L -} + val id: Long = 0L +) diff --git a/cache/src/main/java/com/example/expenselogger/cache/repository/ExpenseRepository.kt b/cache/src/main/java/com/example/expenselogger/cache/repository/ExpenseRepository.kt index e15f51b..de0d2c6 100644 --- a/cache/src/main/java/com/example/expenselogger/cache/repository/ExpenseRepository.kt +++ b/cache/src/main/java/com/example/expenselogger/cache/repository/ExpenseRepository.kt @@ -3,9 +3,7 @@ package com.example.expenselogger.cache.repository import com.example.expenselogger.cache.entity.ExpenseEntity public interface ExpenseRepository { - public suspend fun insertExpense(expenseEntity: ExpenseEntity): Long - public suspend fun updateExpense(expenseEntity: ExpenseEntity) public suspend fun getExpense(id: Long): ExpenseEntity? public suspend fun getExpenses(): List public suspend fun deleteExpense(id: Long) diff --git a/cache/src/main/java/com/example/expenselogger/cache/repository/ExpenseRepositoryImpl.kt b/cache/src/main/java/com/example/expenselogger/cache/repository/ExpenseRepositoryImpl.kt index 68ba2ac..73e79bd 100644 --- a/cache/src/main/java/com/example/expenselogger/cache/repository/ExpenseRepositoryImpl.kt +++ b/cache/src/main/java/com/example/expenselogger/cache/repository/ExpenseRepositoryImpl.kt @@ -12,10 +12,6 @@ internal class ExpenseRepositoryImpl @Inject constructor( expenseEntity: ExpenseEntity ): Long = expenseDao.insertExpense(expenseEntity) - override suspend fun updateExpense(expenseEntity: ExpenseEntity) { - expenseDao.updateExpense(expenseEntity) - } - override suspend fun getExpense( id: Long ): ExpenseEntity? = expenseDao.getExpense(id) diff --git a/cache/src/test/java/com/example/expenselogger/cache/repository/ExpenseRepositoryTest.kt b/cache/src/test/java/com/example/expenselogger/cache/repository/ExpenseRepositoryTest.kt index 320b903..70d2d49 100644 --- a/cache/src/test/java/com/example/expenselogger/cache/repository/ExpenseRepositoryTest.kt +++ b/cache/src/test/java/com/example/expenselogger/cache/repository/ExpenseRepositoryTest.kt @@ -41,15 +41,20 @@ internal class ExpenseRepositoryTest { val expenseEntity = DummyData.expenseEntity val id = expenseRepository.insertExpense(expenseEntity) val actual = expenseRepository.getExpense(id) - assertThat(actual).isEqualTo(expenseEntity) + assertThat(actual).isEqualTo(expenseEntity.copy(id = id)) } @Test fun `verify that getExpenses gets list of expenses`(): Unit = runBlocking { val expense = DummyData.expenseEntity - expenseRepository.insertExpense(expense) + val id = expenseRepository.insertExpense(expense) + val id2 = expenseRepository.insertExpense(expense) val actual = expenseRepository.getExpenses() - assertThat(actual).isEqualTo(listOf(expense)) + val expected = listOf( + expense.copy(id = id), + expense.copy(id = id2) + ) + assertThat(actual).isEqualTo(expected) } @Test @@ -57,22 +62,7 @@ internal class ExpenseRepositoryTest { val expenseEntity = DummyData.expenseEntity val id = expenseRepository.insertExpense(expenseEntity) val actual = expenseRepository.getExpense(id) - assertThat(actual).isEqualTo(expenseEntity) - } - - @Test - fun `verify that updateExpense updates an expense`(): Unit = runBlocking { - val expenseEntity = DummyData.expenseEntity - val id = expenseRepository.insertExpense(expenseEntity) - val newExpenseEntity = expenseRepository.getExpense(id) - val newInfo = "Valentine outing with now ex bae" - val newExpenseEntityCopy = newExpenseEntity?.copy(info = newInfo) - newExpenseEntityCopy?.let { - it.id = id - expenseRepository.updateExpense(it) - } - val actual = expenseRepository.getExpense(id) - assertThat(actual?.info).isEqualTo(newInfo) + assertThat(actual).isEqualTo(expenseEntity.copy(id = id)) } @Test