Implement loading and saving full recipe info

This commit is contained in:
Kirill Kamakin
2021-11-17 20:44:14 +03:00
parent de6ca65b19
commit 7ebe89adfc
35 changed files with 355 additions and 39 deletions

View File

@@ -1,7 +1,7 @@
package gq.kirmanak.mealie.data.recipes
import gq.kirmanak.mealie.data.recipes.db.RecipeSummaryEntity
import gq.kirmanak.mealie.data.recipes.network.GetRecipeSummaryResponse
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
import kotlinx.datetime.LocalDate
import kotlinx.datetime.LocalDateTime
import okhttp3.mockwebserver.MockResponse
@@ -68,7 +68,6 @@ object RecipeImplTestData {
"""
val CAKE_RECIPE_ENTITY = RecipeSummaryEntity(
localId = 1,
remoteId = 1,
name = "Cake",
slug = "cake",
@@ -80,7 +79,6 @@ object RecipeImplTestData {
)
val PORRIDGE_RECIPE_ENTITY = RecipeSummaryEntity(
localId = 2,
remoteId = 2,
name = "Porridge",
slug = "porridge",

View File

@@ -8,6 +8,10 @@ import gq.kirmanak.mealie.data.recipes.RecipeImplTestData.CAKE_RECIPE_ENTITY
import gq.kirmanak.mealie.data.recipes.RecipeImplTestData.PORRIDGE_RECIPE_ENTITY
import gq.kirmanak.mealie.data.recipes.RecipeImplTestData.RECIPE_SUMMARY_CAKE
import gq.kirmanak.mealie.data.recipes.RecipeImplTestData.TEST_RECIPE_SUMMARIES
import gq.kirmanak.mealie.data.recipes.db.entity.CategoryEntity
import gq.kirmanak.mealie.data.recipes.db.entity.CategoryRecipeEntity
import gq.kirmanak.mealie.data.recipes.db.entity.TagEntity
import gq.kirmanak.mealie.data.recipes.db.entity.TagRecipeEntity
import kotlinx.coroutines.runBlocking
import org.junit.Test
import javax.inject.Inject
@@ -79,9 +83,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
subject.refreshAll(listOf(RECIPE_SUMMARY_CAKE))
val actual = mealieDb.recipeDao().queryAllRecipes()
assertThat(actual).containsExactly(
CAKE_RECIPE_ENTITY.copy(localId = 3),
)
assertThat(actual).containsExactly(CAKE_RECIPE_ENTITY)
}
@Test
@@ -90,8 +92,8 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
subject.refreshAll(listOf(RECIPE_SUMMARY_CAKE))
val actual = mealieDb.recipeDao().queryAllCategoryRecipes()
assertThat(actual).containsExactly(
CategoryRecipeEntity(categoryId = 1, recipeId = 3),
CategoryRecipeEntity(categoryId = 2, recipeId = 3),
CategoryRecipeEntity(categoryId = 1, recipeId = 1),
CategoryRecipeEntity(categoryId = 2, recipeId = 1),
)
}
@@ -101,8 +103,8 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
subject.refreshAll(listOf(RECIPE_SUMMARY_CAKE))
val actual = mealieDb.recipeDao().queryAllTagRecipes()
assertThat(actual).containsExactly(
TagRecipeEntity(tagId = 1, recipeId = 3),
TagRecipeEntity(tagId = 2, recipeId = 3),
TagRecipeEntity(tagId = 1, recipeId = 1),
TagRecipeEntity(tagId = 2, recipeId = 1),
)
}

View File

@@ -15,7 +15,7 @@ import gq.kirmanak.mealie.data.recipes.RecipeImplTestData.PORRIDGE_RECIPE_ENTITY
import gq.kirmanak.mealie.data.recipes.RecipeImplTestData.TEST_RECIPE_ENTITIES
import gq.kirmanak.mealie.data.recipes.RecipeImplTestData.enqueueSuccessfulRecipeSummaryResponse
import gq.kirmanak.mealie.data.recipes.RecipeImplTestData.enqueueUnsuccessfulRecipeSummaryResponse
import gq.kirmanak.mealie.data.recipes.db.RecipeSummaryEntity
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
import kotlinx.coroutines.runBlocking
import org.junit.Before
import org.junit.Test