Replace "Mealie" with "Mealient" everywhere
This commit is contained in:
@@ -5,7 +5,6 @@ before_script:
|
||||
- export GRADLE_USER_HOME=`pwd`/.gradle
|
||||
|
||||
cache:
|
||||
key: "mealie-android"
|
||||
paths:
|
||||
- .gradle
|
||||
|
||||
@@ -19,10 +18,10 @@ assembleDebug:
|
||||
needs: [ ]
|
||||
script:
|
||||
- ./gradlew assembleDebug
|
||||
- cp app/build/outputs/apk/debug/*.apk mealie-debug.apk
|
||||
- cp app/build/outputs/apk/debug/*.apk mealient-debug.apk
|
||||
artifacts:
|
||||
paths:
|
||||
- mealie-debug.apk
|
||||
- mealient-debug.apk
|
||||
|
||||
checkApp:
|
||||
interruptible: true
|
||||
@@ -40,15 +39,15 @@ assembleRelease:
|
||||
stage: build
|
||||
needs: [ "checkApp" ]
|
||||
script:
|
||||
- echo "$MEALIE_KEY_STORE" | base64 -d > app/mealie-release-key.jks
|
||||
- echo "storeFile=mealie-release-key.jks" > keystore.properties
|
||||
- echo "$MEALIE_KEY_STORE" | base64 -d > app/mealient-release-key.jks
|
||||
- echo "storeFile=mealient-release-key.jks" > keystore.properties
|
||||
- echo "storePassword=$MEALIE_KEY_STORE_PASSWORD" >> keystore.properties
|
||||
- echo "keyAlias=$MEALIE_KEY_ALIAS" >> keystore.properties
|
||||
- echo "keyPassword=$MEALIE_KEY_PASSWORD" >> keystore.properties
|
||||
- ./gradlew assembleRelease
|
||||
- cp app/build/outputs/apk/release/*.apk mealie-release.apk
|
||||
- cp app/build/outputs/apk/release/*.apk mealient-release.apk
|
||||
artifacts:
|
||||
paths:
|
||||
- mealie-release.apk
|
||||
- mealient-release.apk
|
||||
rules:
|
||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
||||
@@ -5,6 +5,6 @@ If you face any issues using the application or have a feature request DO NOT se
|
||||
Instead, report a new issue in this repository.
|
||||
THAT IS NOT AN OFFICIAL CLIENT.
|
||||
|
||||
# Mealie Android Application
|
||||
# Mealient Android Application
|
||||
|
||||
An Android client for [Mealie](https://hay-kot.github.io/mealie/). Easily access your recipes using your phone.
|
||||
@@ -11,7 +11,7 @@ android {
|
||||
compileSdk 31
|
||||
|
||||
defaultConfig {
|
||||
applicationId "gq.kirmanak.mealie"
|
||||
applicationId "gq.kirmanak.mealient"
|
||||
minSdk 21
|
||||
targetSdk 31
|
||||
versionCode 1
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="gq.kirmanak.mealie">
|
||||
package="gq.kirmanak.mealient">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
<application
|
||||
android:name=".MealieApp"
|
||||
android:name="gq.kirmanak.mealient.App"
|
||||
android:allowBackup="true"
|
||||
android:fullBackupOnly="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.Mealie">
|
||||
android:theme="@style/Theme.Mealient">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:exported="true">
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package gq.kirmanak.mealie.data.recipes.network
|
||||
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeResponse
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
|
||||
|
||||
interface RecipeDataSource {
|
||||
suspend fun requestRecipes(start: Int = 0, limit: Int = 9999): List<GetRecipeSummaryResponse>
|
||||
|
||||
suspend fun requestRecipeInfo(slug: String): GetRecipeResponse
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
package gq.kirmanak.mealie
|
||||
package gq.kirmanak.mealient
|
||||
|
||||
import android.app.Application
|
||||
import dagger.hilt.android.HiltAndroidApp
|
||||
import timber.log.Timber
|
||||
|
||||
@HiltAndroidApp
|
||||
class MealieApp : Application() {
|
||||
class App : Application() {
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
if (BuildConfig.DEBUG) Timber.plant(Timber.DebugTree())
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie
|
||||
package gq.kirmanak.mealient
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.Menu
|
||||
@@ -7,8 +7,8 @@ import androidx.activity.viewModels
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import gq.kirmanak.mealie.databinding.MainActivityBinding
|
||||
import gq.kirmanak.mealie.ui.auth.AuthenticationViewModel
|
||||
import gq.kirmanak.mealient.databinding.MainActivityBinding
|
||||
import gq.kirmanak.mealient.ui.auth.AuthenticationViewModel
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
import timber.log.Timber
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package gq.kirmanak.mealie.data
|
||||
package gq.kirmanak.mealient.data
|
||||
|
||||
import androidx.room.Database
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverters
|
||||
import gq.kirmanak.mealie.data.impl.RoomTypeConverters
|
||||
import gq.kirmanak.mealie.data.recipes.db.RecipeDao
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.*
|
||||
import gq.kirmanak.mealient.data.impl.RoomTypeConverters
|
||||
import gq.kirmanak.mealient.data.recipes.db.RecipeDao
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.*
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Database(
|
||||
@@ -15,6 +15,6 @@ import javax.inject.Singleton
|
||||
)
|
||||
@TypeConverters(RoomTypeConverters::class)
|
||||
@Singleton
|
||||
abstract class MealieDb : RoomDatabase() {
|
||||
abstract class AppDb : RoomDatabase() {
|
||||
abstract fun recipeDao(): RecipeDao
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data
|
||||
package gq.kirmanak.mealient.data
|
||||
|
||||
import android.content.Context
|
||||
import androidx.room.Room
|
||||
@@ -10,11 +10,11 @@ import dagger.hilt.components.SingletonComponent
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
interface MealieModule {
|
||||
interface AppModule {
|
||||
companion object {
|
||||
@Provides
|
||||
fun createDb(@ApplicationContext context: Context): MealieDb {
|
||||
return Room.databaseBuilder(context, MealieDb::class.java, "mealie.db").build()
|
||||
fun createDb(@ApplicationContext context: Context): AppDb {
|
||||
return Room.databaseBuilder(context, AppDb::class.java, "app.db").build()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.auth
|
||||
package gq.kirmanak.mealient.data.auth
|
||||
|
||||
interface AuthDataSource {
|
||||
/**
|
||||
@@ -1,12 +1,12 @@
|
||||
package gq.kirmanak.mealie.data.auth
|
||||
package gq.kirmanak.mealient.data.auth
|
||||
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import gq.kirmanak.mealie.data.auth.impl.AuthDataSourceImpl
|
||||
import gq.kirmanak.mealie.data.auth.impl.AuthRepoImpl
|
||||
import gq.kirmanak.mealie.data.auth.impl.AuthStorageImpl
|
||||
import gq.kirmanak.mealient.data.auth.impl.AuthDataSourceImpl
|
||||
import gq.kirmanak.mealient.data.auth.impl.AuthRepoImpl
|
||||
import gq.kirmanak.mealient.data.auth.impl.AuthStorageImpl
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.auth
|
||||
package gq.kirmanak.mealient.data.auth
|
||||
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package gq.kirmanak.mealie.data.auth
|
||||
package gq.kirmanak.mealient.data.auth
|
||||
|
||||
import gq.kirmanak.mealie.data.auth.impl.GetTokenResponse
|
||||
import gq.kirmanak.mealient.data.auth.impl.GetTokenResponse
|
||||
import retrofit2.http.Field
|
||||
import retrofit2.http.FormUrlEncoded
|
||||
import retrofit2.http.POST
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.auth
|
||||
package gq.kirmanak.mealient.data.auth
|
||||
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package gq.kirmanak.mealie.data.auth.impl
|
||||
package gq.kirmanak.mealient.data.auth.impl
|
||||
|
||||
import gq.kirmanak.mealie.data.auth.AuthDataSource
|
||||
import gq.kirmanak.mealie.data.auth.AuthService
|
||||
import gq.kirmanak.mealie.data.impl.RetrofitBuilder
|
||||
import gq.kirmanak.mealient.data.auth.AuthDataSource
|
||||
import gq.kirmanak.mealient.data.auth.AuthService
|
||||
import gq.kirmanak.mealient.data.impl.RetrofitBuilder
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import retrofit2.create
|
||||
import timber.log.Timber
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.auth.impl
|
||||
package gq.kirmanak.mealient.data.auth.impl
|
||||
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.Response
|
||||
@@ -1,8 +1,8 @@
|
||||
package gq.kirmanak.mealie.data.auth.impl
|
||||
package gq.kirmanak.mealient.data.auth.impl
|
||||
|
||||
import gq.kirmanak.mealie.data.auth.AuthDataSource
|
||||
import gq.kirmanak.mealie.data.auth.AuthRepo
|
||||
import gq.kirmanak.mealie.data.auth.AuthStorage
|
||||
import gq.kirmanak.mealient.data.auth.AuthDataSource
|
||||
import gq.kirmanak.mealient.data.auth.AuthRepo
|
||||
import gq.kirmanak.mealient.data.auth.AuthStorage
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.map
|
||||
import timber.log.Timber
|
||||
@@ -1,10 +1,10 @@
|
||||
package gq.kirmanak.mealie.data.auth.impl
|
||||
package gq.kirmanak.mealient.data.auth.impl
|
||||
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import androidx.preference.PreferenceManager
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import gq.kirmanak.mealie.data.auth.AuthStorage
|
||||
import gq.kirmanak.mealient.data.auth.AuthStorage
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.channels.awaitClose
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.auth.impl
|
||||
package gq.kirmanak.mealient.data.auth.impl
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
@@ -1,7 +1,7 @@
|
||||
package gq.kirmanak.mealie.data.impl
|
||||
package gq.kirmanak.mealient.data.impl
|
||||
|
||||
import gq.kirmanak.mealie.BuildConfig
|
||||
import gq.kirmanak.mealie.data.auth.impl.AuthOkHttpInterceptor
|
||||
import gq.kirmanak.mealient.BuildConfig
|
||||
import gq.kirmanak.mealient.data.auth.impl.AuthOkHttpInterceptor
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.logging.HttpLoggingInterceptor
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.impl
|
||||
package gq.kirmanak.mealient.data.impl
|
||||
|
||||
import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.impl
|
||||
package gq.kirmanak.mealient.data.impl
|
||||
|
||||
import androidx.room.TypeConverter
|
||||
import kotlinx.datetime.*
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes
|
||||
package gq.kirmanak.mealient.data.recipes
|
||||
|
||||
import android.widget.ImageView
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package gq.kirmanak.mealie.data.recipes
|
||||
package gq.kirmanak.mealient.data.recipes
|
||||
|
||||
import androidx.paging.ExperimentalPagingApi
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import gq.kirmanak.mealie.data.recipes.db.RecipeStorage
|
||||
import gq.kirmanak.mealie.data.recipes.db.RecipeStorageImpl
|
||||
import gq.kirmanak.mealie.data.recipes.impl.RecipeImageLoaderImpl
|
||||
import gq.kirmanak.mealie.data.recipes.impl.RecipeRepoImpl
|
||||
import gq.kirmanak.mealie.data.recipes.network.RecipeDataSource
|
||||
import gq.kirmanak.mealie.data.recipes.network.RecipeDataSourceImpl
|
||||
import gq.kirmanak.mealient.data.recipes.db.RecipeStorage
|
||||
import gq.kirmanak.mealient.data.recipes.db.RecipeStorageImpl
|
||||
import gq.kirmanak.mealient.data.recipes.impl.RecipeImageLoaderImpl
|
||||
import gq.kirmanak.mealient.data.recipes.impl.RecipeRepoImpl
|
||||
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource
|
||||
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSourceImpl
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
|
||||
@ExperimentalPagingApi
|
||||
@@ -1,8 +1,8 @@
|
||||
package gq.kirmanak.mealie.data.recipes
|
||||
package gq.kirmanak.mealient.data.recipes
|
||||
|
||||
import androidx.paging.Pager
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealie.data.recipes.impl.FullRecipeInfo
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealient.data.recipes.impl.FullRecipeInfo
|
||||
|
||||
interface RecipeRepo {
|
||||
fun createPager(): Pager<Int, RecipeSummaryEntity>
|
||||
@@ -1,9 +1,9 @@
|
||||
package gq.kirmanak.mealie.data.recipes.db
|
||||
package gq.kirmanak.mealient.data.recipes.db
|
||||
|
||||
import androidx.paging.PagingSource
|
||||
import androidx.room.*
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.*
|
||||
import gq.kirmanak.mealie.data.recipes.impl.FullRecipeInfo
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.*
|
||||
import gq.kirmanak.mealient.data.recipes.impl.FullRecipeInfo
|
||||
|
||||
@Dao
|
||||
interface RecipeDao {
|
||||
@@ -1,10 +1,10 @@
|
||||
package gq.kirmanak.mealie.data.recipes.db
|
||||
package gq.kirmanak.mealient.data.recipes.db
|
||||
|
||||
import androidx.paging.PagingSource
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealie.data.recipes.impl.FullRecipeInfo
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeResponse
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealient.data.recipes.impl.FullRecipeInfo
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse
|
||||
|
||||
interface RecipeStorage {
|
||||
suspend fun saveRecipes(recipes: List<GetRecipeSummaryResponse>)
|
||||
@@ -1,19 +1,19 @@
|
||||
package gq.kirmanak.mealie.data.recipes.db
|
||||
package gq.kirmanak.mealient.data.recipes.db
|
||||
|
||||
import androidx.paging.PagingSource
|
||||
import androidx.room.withTransaction
|
||||
import gq.kirmanak.mealie.data.MealieDb
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.*
|
||||
import gq.kirmanak.mealie.data.recipes.impl.FullRecipeInfo
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeIngredientResponse
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeInstructionResponse
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeResponse
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
|
||||
import gq.kirmanak.mealient.data.AppDb
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.*
|
||||
import gq.kirmanak.mealient.data.recipes.impl.FullRecipeInfo
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeIngredientResponse
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeInstructionResponse
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
|
||||
class RecipeStorageImpl @Inject constructor(
|
||||
private val db: MealieDb
|
||||
private val db: AppDb
|
||||
) : RecipeStorage {
|
||||
private val recipeDao: RecipeDao by lazy { db.recipeDao() }
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
||||
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
||||
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
||||
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
||||
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
||||
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
||||
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
||||
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
||||
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
@@ -1,11 +1,11 @@
|
||||
package gq.kirmanak.mealie.data.recipes.impl
|
||||
package gq.kirmanak.mealient.data.recipes.impl
|
||||
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Relation
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeEntity
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeIngredientEntity
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeInstructionEntity
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeEntity
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeIngredientEntity
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeInstructionEntity
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||
|
||||
data class FullRecipeInfo(
|
||||
@Embedded val recipeEntity: RecipeEntity,
|
||||
@@ -1,10 +1,10 @@
|
||||
package gq.kirmanak.mealie.data.recipes.impl
|
||||
package gq.kirmanak.mealient.data.recipes.impl
|
||||
|
||||
import android.widget.ImageView
|
||||
import gq.kirmanak.mealie.R
|
||||
import gq.kirmanak.mealie.data.auth.AuthRepo
|
||||
import gq.kirmanak.mealie.data.recipes.RecipeImageLoader
|
||||
import gq.kirmanak.mealie.ui.ImageLoader
|
||||
import gq.kirmanak.mealient.R
|
||||
import gq.kirmanak.mealient.data.auth.AuthRepo
|
||||
import gq.kirmanak.mealient.data.recipes.RecipeImageLoader
|
||||
import gq.kirmanak.mealient.ui.ImageLoader
|
||||
import javax.inject.Inject
|
||||
|
||||
class RecipeImageLoaderImpl @Inject constructor(
|
||||
@@ -1,8 +1,8 @@
|
||||
package gq.kirmanak.mealie.data.recipes.impl
|
||||
package gq.kirmanak.mealient.data.recipes.impl
|
||||
|
||||
import androidx.paging.PagingSource
|
||||
import gq.kirmanak.mealie.data.recipes.db.RecipeStorage
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealient.data.recipes.db.RecipeStorage
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
@@ -1,12 +1,12 @@
|
||||
package gq.kirmanak.mealie.data.recipes.impl
|
||||
package gq.kirmanak.mealient.data.recipes.impl
|
||||
|
||||
import androidx.paging.ExperimentalPagingApi
|
||||
import androidx.paging.Pager
|
||||
import androidx.paging.PagingConfig
|
||||
import gq.kirmanak.mealie.data.recipes.RecipeRepo
|
||||
import gq.kirmanak.mealie.data.recipes.db.RecipeStorage
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealie.data.recipes.network.RecipeDataSource
|
||||
import gq.kirmanak.mealient.data.recipes.RecipeRepo
|
||||
import gq.kirmanak.mealient.data.recipes.db.RecipeStorage
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource
|
||||
import kotlinx.coroutines.CancellationException
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.impl
|
||||
package gq.kirmanak.mealient.data.recipes.impl
|
||||
|
||||
import androidx.annotation.VisibleForTesting
|
||||
import androidx.paging.ExperimentalPagingApi
|
||||
@@ -7,9 +7,9 @@ import androidx.paging.LoadType.PREPEND
|
||||
import androidx.paging.LoadType.REFRESH
|
||||
import androidx.paging.PagingState
|
||||
import androidx.paging.RemoteMediator
|
||||
import gq.kirmanak.mealie.data.recipes.db.RecipeStorage
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealie.data.recipes.network.RecipeDataSource
|
||||
import gq.kirmanak.mealient.data.recipes.db.RecipeStorage
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource
|
||||
import kotlinx.coroutines.CancellationException
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
@@ -0,0 +1,10 @@
|
||||
package gq.kirmanak.mealient.data.recipes.network
|
||||
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse
|
||||
|
||||
interface RecipeDataSource {
|
||||
suspend fun requestRecipes(start: Int = 0, limit: Int = 9999): List<GetRecipeSummaryResponse>
|
||||
|
||||
suspend fun requestRecipeInfo(slug: String): GetRecipeResponse
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
package gq.kirmanak.mealie.data.recipes.network
|
||||
package gq.kirmanak.mealient.data.recipes.network
|
||||
|
||||
import gq.kirmanak.mealie.data.auth.AuthRepo
|
||||
import gq.kirmanak.mealie.data.impl.RetrofitBuilder
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeResponse
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
|
||||
import gq.kirmanak.mealient.data.auth.AuthRepo
|
||||
import gq.kirmanak.mealient.data.impl.RetrofitBuilder
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
@@ -1,7 +1,7 @@
|
||||
package gq.kirmanak.mealie.data.recipes.network
|
||||
package gq.kirmanak.mealient.data.recipes.network
|
||||
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeResponse
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse
|
||||
import retrofit2.http.GET
|
||||
import retrofit2.http.Path
|
||||
import retrofit2.http.Query
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.network.response
|
||||
package gq.kirmanak.mealient.data.recipes.network.response
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.network.response
|
||||
package gq.kirmanak.mealient.data.recipes.network.response
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.network.response
|
||||
package gq.kirmanak.mealient.data.recipes.network.response
|
||||
|
||||
import kotlinx.datetime.LocalDate
|
||||
import kotlinx.datetime.LocalDateTime
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.recipes.network.response
|
||||
package gq.kirmanak.mealient.data.recipes.network.response
|
||||
|
||||
import kotlinx.datetime.LocalDate
|
||||
import kotlinx.datetime.LocalDateTime
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.ui
|
||||
package gq.kirmanak.mealient.ui
|
||||
|
||||
import android.widget.ImageView
|
||||
import androidx.annotation.DrawableRes
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.ui
|
||||
package gq.kirmanak.mealient.ui
|
||||
|
||||
import androidx.paging.PagingDataAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
@@ -1,10 +1,10 @@
|
||||
package gq.kirmanak.mealie.ui
|
||||
package gq.kirmanak.mealient.ui
|
||||
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import gq.kirmanak.mealie.ui.glide.ImageLoaderGlide
|
||||
import gq.kirmanak.mealient.ui.glide.ImageLoaderGlide
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.ui.auth
|
||||
package gq.kirmanak.mealient.ui.auth
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@@ -11,7 +11,7 @@ import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.google.android.material.textfield.TextInputLayout
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import gq.kirmanak.mealie.databinding.FragmentAuthenticationBinding
|
||||
import gq.kirmanak.mealient.databinding.FragmentAuthenticationBinding
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
import timber.log.Timber
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package gq.kirmanak.mealie.ui.auth
|
||||
package gq.kirmanak.mealient.ui.auth
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import gq.kirmanak.mealie.data.auth.AuthRepo
|
||||
import gq.kirmanak.mealie.data.recipes.RecipeRepo
|
||||
import gq.kirmanak.mealient.data.auth.AuthRepo
|
||||
import gq.kirmanak.mealient.data.recipes.RecipeRepo
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
@@ -1,8 +1,8 @@
|
||||
package gq.kirmanak.mealie.ui.glide
|
||||
package gq.kirmanak.mealient.ui.glide
|
||||
|
||||
import android.widget.ImageView
|
||||
import androidx.annotation.DrawableRes
|
||||
import gq.kirmanak.mealie.ui.ImageLoader
|
||||
import gq.kirmanak.mealient.ui.ImageLoader
|
||||
import javax.inject.Inject
|
||||
|
||||
class ImageLoaderGlide @Inject constructor() : ImageLoader {
|
||||
@@ -1,7 +1,7 @@
|
||||
package gq.kirmanak.mealie.ui.glide
|
||||
package gq.kirmanak.mealient.ui.glide
|
||||
|
||||
import com.bumptech.glide.annotation.GlideModule
|
||||
import com.bumptech.glide.module.AppGlideModule
|
||||
|
||||
@GlideModule
|
||||
class MealieGlideModule : AppGlideModule()
|
||||
class MainGlideModule : AppGlideModule()
|
||||
@@ -1,9 +1,9 @@
|
||||
package gq.kirmanak.mealie.ui.recipes
|
||||
package gq.kirmanak.mealient.ui.recipes
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import gq.kirmanak.mealie.R
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealie.databinding.ViewHolderRecipeBinding
|
||||
import gq.kirmanak.mealient.R
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealient.databinding.ViewHolderRecipeBinding
|
||||
|
||||
class RecipeViewHolder(
|
||||
private val binding: ViewHolderRecipeBinding,
|
||||
@@ -1,12 +1,12 @@
|
||||
package gq.kirmanak.mealie.ui.recipes
|
||||
package gq.kirmanak.mealient.ui.recipes
|
||||
|
||||
import android.widget.ImageView
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import gq.kirmanak.mealie.data.recipes.RecipeImageLoader
|
||||
import gq.kirmanak.mealie.data.recipes.RecipeRepo
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealient.data.recipes.RecipeImageLoader
|
||||
import gq.kirmanak.mealient.data.recipes.RecipeRepo
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import kotlinx.coroutines.launch
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.ui.recipes
|
||||
package gq.kirmanak.mealient.ui.recipes
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@@ -10,10 +10,10 @@ import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealie.databinding.FragmentRecipesBinding
|
||||
import gq.kirmanak.mealie.ui.SwipeRefreshLayoutHelper.listenToRefreshRequests
|
||||
import gq.kirmanak.mealie.ui.auth.AuthenticationViewModel
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealient.databinding.FragmentRecipesBinding
|
||||
import gq.kirmanak.mealient.ui.SwipeRefreshLayoutHelper.listenToRefreshRequests
|
||||
import gq.kirmanak.mealient.ui.auth.AuthenticationViewModel
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.flow.collect
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
@@ -1,11 +1,11 @@
|
||||
package gq.kirmanak.mealie.ui.recipes
|
||||
package gq.kirmanak.mealient.ui.recipes
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.paging.PagingDataAdapter
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealie.databinding.ViewHolderRecipeBinding
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealient.databinding.ViewHolderRecipeBinding
|
||||
import timber.log.Timber
|
||||
|
||||
class RecipesPagingAdapter(
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.ui.recipes.info
|
||||
package gq.kirmanak.mealient.ui.recipes.info
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@@ -11,8 +11,8 @@ import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import gq.kirmanak.mealie.databinding.FragmentRecipeInfoBinding
|
||||
import gq.kirmanak.mealie.ui.auth.AuthenticationViewModel
|
||||
import gq.kirmanak.mealient.databinding.FragmentRecipeInfoBinding
|
||||
import gq.kirmanak.mealient.ui.auth.AuthenticationViewModel
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
import timber.log.Timber
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.ui.recipes.info
|
||||
package gq.kirmanak.mealient.ui.recipes.info
|
||||
|
||||
import android.widget.ImageView
|
||||
import androidx.lifecycle.LiveData
|
||||
@@ -6,9 +6,9 @@ import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import gq.kirmanak.mealie.data.recipes.RecipeImageLoader
|
||||
import gq.kirmanak.mealie.data.recipes.RecipeRepo
|
||||
import gq.kirmanak.mealie.data.recipes.impl.FullRecipeInfo
|
||||
import gq.kirmanak.mealient.data.recipes.RecipeImageLoader
|
||||
import gq.kirmanak.mealient.data.recipes.RecipeRepo
|
||||
import gq.kirmanak.mealient.data.recipes.impl.FullRecipeInfo
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
@@ -1,13 +1,13 @@
|
||||
package gq.kirmanak.mealie.ui.recipes.info
|
||||
package gq.kirmanak.mealient.ui.recipes.info
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeIngredientEntity
|
||||
import gq.kirmanak.mealie.databinding.ViewHolderIngredientBinding
|
||||
import gq.kirmanak.mealie.ui.recipes.info.RecipeIngredientsAdapter.RecipeIngredientViewHolder
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeIngredientEntity
|
||||
import gq.kirmanak.mealient.databinding.ViewHolderIngredientBinding
|
||||
import gq.kirmanak.mealient.ui.recipes.info.RecipeIngredientsAdapter.RecipeIngredientViewHolder
|
||||
|
||||
class RecipeIngredientsAdapter() :
|
||||
ListAdapter<RecipeIngredientEntity, RecipeIngredientViewHolder>(RecipeIngredientDiffCallback) {
|
||||
@@ -1,12 +1,12 @@
|
||||
package gq.kirmanak.mealie.ui.recipes.info
|
||||
package gq.kirmanak.mealient.ui.recipes.info
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeInstructionEntity
|
||||
import gq.kirmanak.mealie.databinding.ViewHolderInstructionBinding
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeInstructionEntity
|
||||
import gq.kirmanak.mealient.databinding.ViewHolderInstructionBinding
|
||||
|
||||
class RecipeInstructionsAdapter :
|
||||
ListAdapter<RecipeInstructionEntity, RecipeInstructionsAdapter.RecipeInstructionViewHolder>(
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<fragment
|
||||
android:id="@+id/authenticationFragment"
|
||||
android:name="gq.kirmanak.mealie.ui.auth.AuthenticationFragment"
|
||||
android:name="gq.kirmanak.mealient.ui.auth.AuthenticationFragment"
|
||||
android:label="AuthenticationFragment">
|
||||
<action
|
||||
android:id="@+id/action_authenticationFragment_to_recipesFragment"
|
||||
@@ -17,7 +17,7 @@
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/recipesFragment"
|
||||
android:name="gq.kirmanak.mealie.ui.recipes.RecipesFragment"
|
||||
android:name="gq.kirmanak.mealient.ui.recipes.RecipesFragment"
|
||||
android:label="fragment_recipes"
|
||||
tools:layout="@layout/fragment_recipes">
|
||||
<action
|
||||
@@ -31,7 +31,7 @@
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/recipeInfoFragment"
|
||||
android:name="gq.kirmanak.mealie.ui.recipes.info.RecipeInfoFragment"
|
||||
android:name="gq.kirmanak.mealient.ui.recipes.info.RecipeInfoFragment"
|
||||
android:label="RecipeInfoFragment">
|
||||
<action
|
||||
android:id="@+id/action_recipeInfoFragment_to_authenticationFragment"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<!-- Base application theme. -->
|
||||
<style name="Theme.Mealie" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||
<style name="Theme.Mealient" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||
<!-- Primary brand color. -->
|
||||
<item name="colorPrimary">@color/purple_200</item>
|
||||
<item name="colorPrimaryVariant">@color/purple_700</item>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<resources>
|
||||
<string name="app_name">Mealie</string>
|
||||
<string name="app_name">Mealient</string>
|
||||
<string name="fragment_authentication_input_hint_email">E-mail</string>
|
||||
<string name="fragment_authentication_input_hint_password">Password</string>
|
||||
<string name="fragment_authentication_input_hint_url">Url</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<!-- Base application theme. -->
|
||||
<style name="Theme.Mealie" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||
<style name="Theme.Mealient" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||
<!-- Primary brand color. -->
|
||||
<item name="colorPrimary">@color/purple_500</item>
|
||||
<item name="colorPrimaryVariant">@color/purple_700</item>
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package gq.kirmanak.mealie.data.auth.impl
|
||||
package gq.kirmanak.mealient.data.auth.impl
|
||||
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import dagger.hilt.android.testing.HiltAndroidTest
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_PASSWORD
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_TOKEN
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_USERNAME
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.body
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.enqueueSuccessfulAuthResponse
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.enqueueUnsuccessfulAuthResponse
|
||||
import gq.kirmanak.mealie.data.test.MockServerTest
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_PASSWORD
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_TOKEN
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_USERNAME
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.body
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.enqueueSuccessfulAuthResponse
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.enqueueUnsuccessfulAuthResponse
|
||||
import gq.kirmanak.mealient.data.test.MockServerTest
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
@@ -1,13 +1,13 @@
|
||||
package gq.kirmanak.mealie.data.auth.impl
|
||||
package gq.kirmanak.mealient.data.auth.impl
|
||||
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import dagger.hilt.android.testing.HiltAndroidTest
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_PASSWORD
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_TOKEN
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_USERNAME
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.enqueueSuccessfulAuthResponse
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.enqueueUnsuccessfulAuthResponse
|
||||
import gq.kirmanak.mealie.data.test.MockServerTest
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_PASSWORD
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_TOKEN
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_USERNAME
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.enqueueSuccessfulAuthResponse
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.enqueueUnsuccessfulAuthResponse
|
||||
import gq.kirmanak.mealient.data.test.MockServerTest
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.junit.Test
|
||||
@@ -1,10 +1,10 @@
|
||||
package gq.kirmanak.mealie.data.auth.impl
|
||||
package gq.kirmanak.mealient.data.auth.impl
|
||||
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import dagger.hilt.android.testing.HiltAndroidTest
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_TOKEN
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_URL
|
||||
import gq.kirmanak.mealie.data.test.HiltRobolectricTest
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_TOKEN
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_URL
|
||||
import gq.kirmanak.mealient.data.test.HiltRobolectricTest
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.runBlocking
|
||||
@@ -1,10 +1,10 @@
|
||||
package gq.kirmanak.mealie.data.impl
|
||||
package gq.kirmanak.mealient.data.impl
|
||||
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import dagger.hilt.android.testing.HiltAndroidTest
|
||||
import gq.kirmanak.mealie.data.auth.impl.AUTHORIZATION_HEADER
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_TOKEN
|
||||
import gq.kirmanak.mealie.data.test.MockServerTest
|
||||
import gq.kirmanak.mealient.data.auth.impl.AUTHORIZATION_HEADER
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_TOKEN
|
||||
import gq.kirmanak.mealient.data.test.MockServerTest
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import okhttp3.mockwebserver.MockResponse
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.impl
|
||||
package gq.kirmanak.mealient.data.impl
|
||||
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import kotlinx.datetime.LocalDate
|
||||
@@ -1,26 +1,26 @@
|
||||
package gq.kirmanak.mealie.data.recipes.db
|
||||
package gq.kirmanak.mealient.data.recipes.db
|
||||
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import dagger.hilt.android.testing.HiltAndroidTest
|
||||
import gq.kirmanak.mealie.data.MealieDb
|
||||
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 gq.kirmanak.mealie.data.test.HiltRobolectricTest
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.BREAD_INGREDIENT
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.CAKE_BREAD_RECIPE_INGREDIENT_ENTITY
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.CAKE_RECIPE_SUMMARY_ENTITY
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.FULL_CAKE_INFO_ENTITY
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.FULL_PORRIDGE_INFO_ENTITY
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.GET_CAKE_RESPONSE
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.GET_PORRIDGE_RESPONSE
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.MIX_CAKE_RECIPE_INSTRUCTION_ENTITY
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.MIX_INSTRUCTION
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.PORRIDGE_RECIPE_SUMMARY_ENTITY
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.RECIPE_SUMMARY_CAKE
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.RECIPE_SUMMARY_PORRIDGE
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.TEST_RECIPE_SUMMARIES
|
||||
import gq.kirmanak.mealient.data.AppDb
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.CategoryEntity
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.CategoryRecipeEntity
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.TagEntity
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.TagRecipeEntity
|
||||
import gq.kirmanak.mealient.data.test.HiltRobolectricTest
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.BREAD_INGREDIENT
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.CAKE_BREAD_RECIPE_INGREDIENT_ENTITY
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.CAKE_RECIPE_SUMMARY_ENTITY
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.FULL_CAKE_INFO_ENTITY
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.FULL_PORRIDGE_INFO_ENTITY
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.GET_CAKE_RESPONSE
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.GET_PORRIDGE_RESPONSE
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.MIX_CAKE_RECIPE_INSTRUCTION_ENTITY
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.MIX_INSTRUCTION
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.PORRIDGE_RECIPE_SUMMARY_ENTITY
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.RECIPE_SUMMARY_CAKE
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.RECIPE_SUMMARY_PORRIDGE
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.TEST_RECIPE_SUMMARIES
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.junit.Test
|
||||
import javax.inject.Inject
|
||||
@@ -32,12 +32,12 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
lateinit var subject: RecipeStorageImpl
|
||||
|
||||
@Inject
|
||||
lateinit var mealieDb: MealieDb
|
||||
lateinit var appDb: AppDb
|
||||
|
||||
@Test
|
||||
fun `when saveRecipes then saves tags`(): Unit = runBlocking {
|
||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||
val actualTags = mealieDb.recipeDao().queryAllTags()
|
||||
val actualTags = appDb.recipeDao().queryAllTags()
|
||||
assertThat(actualTags).containsExactly(
|
||||
TagEntity(localId = 1, name = "gluten"),
|
||||
TagEntity(localId = 2, name = "allergic"),
|
||||
@@ -48,7 +48,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
@Test
|
||||
fun `when saveRecipes then saves categories`(): Unit = runBlocking {
|
||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||
val actual = mealieDb.recipeDao().queryAllCategories()
|
||||
val actual = appDb.recipeDao().queryAllCategories()
|
||||
assertThat(actual).containsExactly(
|
||||
CategoryEntity(localId = 1, name = "dessert"),
|
||||
CategoryEntity(localId = 2, name = "tasty"),
|
||||
@@ -59,7 +59,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
@Test
|
||||
fun `when saveRecipes then saves recipes`(): Unit = runBlocking {
|
||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||
val actualTags = mealieDb.recipeDao().queryAllRecipes()
|
||||
val actualTags = appDb.recipeDao().queryAllRecipes()
|
||||
assertThat(actualTags).containsExactly(
|
||||
CAKE_RECIPE_SUMMARY_ENTITY,
|
||||
PORRIDGE_RECIPE_SUMMARY_ENTITY
|
||||
@@ -69,7 +69,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
@Test
|
||||
fun `when saveRecipes then saves category recipes`(): Unit = runBlocking {
|
||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||
val actual = mealieDb.recipeDao().queryAllCategoryRecipes()
|
||||
val actual = appDb.recipeDao().queryAllCategoryRecipes()
|
||||
assertThat(actual).containsExactly(
|
||||
CategoryRecipeEntity(categoryId = 1, recipeId = 1),
|
||||
CategoryRecipeEntity(categoryId = 2, recipeId = 1),
|
||||
@@ -81,7 +81,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
@Test
|
||||
fun `when saveRecipes then saves tag recipes`(): Unit = runBlocking {
|
||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||
val actual = mealieDb.recipeDao().queryAllTagRecipes()
|
||||
val actual = appDb.recipeDao().queryAllTagRecipes()
|
||||
assertThat(actual).containsExactly(
|
||||
TagRecipeEntity(tagId = 1, recipeId = 1),
|
||||
TagRecipeEntity(tagId = 2, recipeId = 1),
|
||||
@@ -94,7 +94,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
fun `when refreshAll then old recipes aren't preserved`(): Unit = runBlocking {
|
||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||
subject.refreshAll(listOf(RECIPE_SUMMARY_CAKE))
|
||||
val actual = mealieDb.recipeDao().queryAllRecipes()
|
||||
val actual = appDb.recipeDao().queryAllRecipes()
|
||||
assertThat(actual).containsExactly(CAKE_RECIPE_SUMMARY_ENTITY)
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
fun `when refreshAll then old category recipes aren't preserved`(): Unit = runBlocking {
|
||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||
subject.refreshAll(listOf(RECIPE_SUMMARY_CAKE))
|
||||
val actual = mealieDb.recipeDao().queryAllCategoryRecipes()
|
||||
val actual = appDb.recipeDao().queryAllCategoryRecipes()
|
||||
assertThat(actual).containsExactly(
|
||||
CategoryRecipeEntity(categoryId = 1, recipeId = 1),
|
||||
CategoryRecipeEntity(categoryId = 2, recipeId = 1),
|
||||
@@ -113,7 +113,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
fun `when refreshAll then old tag recipes aren't preserved`(): Unit = runBlocking {
|
||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||
subject.refreshAll(listOf(RECIPE_SUMMARY_CAKE))
|
||||
val actual = mealieDb.recipeDao().queryAllTagRecipes()
|
||||
val actual = appDb.recipeDao().queryAllTagRecipes()
|
||||
assertThat(actual).containsExactly(
|
||||
TagRecipeEntity(tagId = 1, recipeId = 1),
|
||||
TagRecipeEntity(tagId = 2, recipeId = 1),
|
||||
@@ -124,7 +124,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
fun `when clearAllLocalData then recipes aren't preserved`(): Unit = runBlocking {
|
||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||
subject.clearAllLocalData()
|
||||
val actual = mealieDb.recipeDao().queryAllRecipes()
|
||||
val actual = appDb.recipeDao().queryAllRecipes()
|
||||
assertThat(actual).isEmpty()
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
fun `when clearAllLocalData then categories aren't preserved`(): Unit = runBlocking {
|
||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||
subject.clearAllLocalData()
|
||||
val actual = mealieDb.recipeDao().queryAllCategories()
|
||||
val actual = appDb.recipeDao().queryAllCategories()
|
||||
assertThat(actual).isEmpty()
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
fun `when clearAllLocalData then tags aren't preserved`(): Unit = runBlocking {
|
||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||
subject.clearAllLocalData()
|
||||
val actual = mealieDb.recipeDao().queryAllTags()
|
||||
val actual = appDb.recipeDao().queryAllTags()
|
||||
assertThat(actual).isEmpty()
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
fun `when saveRecipeInfo then saves recipe info`(): Unit = runBlocking {
|
||||
subject.saveRecipes(listOf(RECIPE_SUMMARY_CAKE))
|
||||
subject.saveRecipeInfo(GET_CAKE_RESPONSE)
|
||||
val actual = mealieDb.recipeDao().queryFullRecipeInfo(1)
|
||||
val actual = appDb.recipeDao().queryFullRecipeInfo(1)
|
||||
assertThat(actual).isEqualTo(FULL_CAKE_INFO_ENTITY)
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
subject.saveRecipes(listOf(RECIPE_SUMMARY_CAKE, RECIPE_SUMMARY_PORRIDGE))
|
||||
subject.saveRecipeInfo(GET_CAKE_RESPONSE)
|
||||
subject.saveRecipeInfo(GET_PORRIDGE_RESPONSE)
|
||||
val actual = mealieDb.recipeDao().queryFullRecipeInfo(2)
|
||||
val actual = appDb.recipeDao().queryFullRecipeInfo(2)
|
||||
assertThat(actual).isEqualTo(FULL_PORRIDGE_INFO_ENTITY)
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
subject.saveRecipeInfo(GET_CAKE_RESPONSE)
|
||||
val newRecipe = GET_CAKE_RESPONSE.copy(recipeIngredients = listOf(BREAD_INGREDIENT))
|
||||
subject.saveRecipeInfo(newRecipe)
|
||||
val actual = mealieDb.recipeDao().queryFullRecipeInfo(1)?.recipeIngredients
|
||||
val actual = appDb.recipeDao().queryFullRecipeInfo(1)?.recipeIngredients
|
||||
val expected = listOf(CAKE_BREAD_RECIPE_INGREDIENT_ENTITY.copy(localId = 3))
|
||||
assertThat(actual).isEqualTo(expected)
|
||||
}
|
||||
@@ -178,7 +178,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
||||
subject.saveRecipeInfo(GET_CAKE_RESPONSE)
|
||||
val newRecipe = GET_CAKE_RESPONSE.copy(recipeInstructions = listOf(MIX_INSTRUCTION))
|
||||
subject.saveRecipeInfo(newRecipe)
|
||||
val actual = mealieDb.recipeDao().queryFullRecipeInfo(1)?.recipeInstructions
|
||||
val actual = appDb.recipeDao().queryFullRecipeInfo(1)?.recipeInstructions
|
||||
val expected = listOf(MIX_CAKE_RECIPE_INSTRUCTION_ENTITY.copy(localId = 3))
|
||||
assertThat(actual).isEqualTo(expected)
|
||||
}
|
||||
@@ -1,15 +1,15 @@
|
||||
package gq.kirmanak.mealie.data.recipes.impl
|
||||
package gq.kirmanak.mealient.data.recipes.impl
|
||||
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import dagger.hilt.android.testing.HiltAndroidTest
|
||||
import gq.kirmanak.mealie.data.MealieDb
|
||||
import gq.kirmanak.mealie.data.recipes.RecipeRepo
|
||||
import gq.kirmanak.mealie.data.recipes.db.RecipeStorage
|
||||
import gq.kirmanak.mealie.data.test.MockServerWithAuthTest
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.FULL_CAKE_INFO_ENTITY
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.RECIPE_SUMMARY_CAKE
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.enqueueSuccessfulGetRecipe
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.enqueueUnsuccessfulRecipeResponse
|
||||
import gq.kirmanak.mealient.data.AppDb
|
||||
import gq.kirmanak.mealient.data.recipes.RecipeRepo
|
||||
import gq.kirmanak.mealient.data.recipes.db.RecipeStorage
|
||||
import gq.kirmanak.mealient.data.test.MockServerWithAuthTest
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.FULL_CAKE_INFO_ENTITY
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.RECIPE_SUMMARY_CAKE
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.enqueueSuccessfulGetRecipe
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.enqueueUnsuccessfulRecipeResponse
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.junit.Test
|
||||
import javax.inject.Inject
|
||||
@@ -23,7 +23,7 @@ class RecipeRepoImplTest : MockServerWithAuthTest() {
|
||||
lateinit var storage: RecipeStorage
|
||||
|
||||
@Inject
|
||||
lateinit var mealieDb: MealieDb
|
||||
lateinit var appDb: AppDb
|
||||
|
||||
@Test
|
||||
fun `when loadRecipeInfo then loads recipe`(): Unit = runBlocking {
|
||||
@@ -38,7 +38,7 @@ class RecipeRepoImplTest : MockServerWithAuthTest() {
|
||||
storage.saveRecipes(listOf(RECIPE_SUMMARY_CAKE))
|
||||
mockServer.enqueueSuccessfulGetRecipe()
|
||||
subject.loadRecipeInfo(1, "cake")
|
||||
val actual = mealieDb.recipeDao().queryFullRecipeInfo(1)
|
||||
val actual = appDb.recipeDao().queryFullRecipeInfo(1)
|
||||
assertThat(actual).isEqualTo(FULL_CAKE_INFO_ENTITY)
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
package gq.kirmanak.mealie.data.recipes.impl
|
||||
package gq.kirmanak.mealient.data.recipes.impl
|
||||
|
||||
import androidx.paging.*
|
||||
import androidx.paging.LoadType.*
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import dagger.hilt.android.testing.HiltAndroidTest
|
||||
import gq.kirmanak.mealie.data.MealieDb
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealie.data.test.MockServerWithAuthTest
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.CAKE_RECIPE_SUMMARY_ENTITY
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.PORRIDGE_RECIPE_SUMMARY_ENTITY
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.TEST_RECIPE_ENTITIES
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.enqueueSuccessfulRecipeSummaryResponse
|
||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.enqueueUnsuccessfulRecipeResponse
|
||||
import gq.kirmanak.mealient.data.AppDb
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealient.data.test.MockServerWithAuthTest
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.CAKE_RECIPE_SUMMARY_ENTITY
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.PORRIDGE_RECIPE_SUMMARY_ENTITY
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.TEST_RECIPE_ENTITIES
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.enqueueSuccessfulRecipeSummaryResponse
|
||||
import gq.kirmanak.mealient.data.test.RecipeImplTestData.enqueueUnsuccessfulRecipeResponse
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.junit.Test
|
||||
import javax.inject.Inject
|
||||
@@ -29,7 +29,7 @@ class RecipesRemoteMediatorTest : MockServerWithAuthTest() {
|
||||
lateinit var subject: RecipesRemoteMediator
|
||||
|
||||
@Inject
|
||||
lateinit var mealieDb: MealieDb
|
||||
lateinit var appDb: AppDb
|
||||
|
||||
@Test
|
||||
fun `when first load with refresh successful then result success`(): Unit = runBlocking {
|
||||
@@ -42,7 +42,7 @@ class RecipesRemoteMediatorTest : MockServerWithAuthTest() {
|
||||
fun `when first load with refresh successful then recipes stored`(): Unit = runBlocking {
|
||||
mockServer.enqueueSuccessfulRecipeSummaryResponse()
|
||||
subject.load(REFRESH, pagingState())
|
||||
val actual = mealieDb.recipeDao().queryAllRecipes()
|
||||
val actual = appDb.recipeDao().queryAllRecipes()
|
||||
assertThat(actual).containsExactly(
|
||||
CAKE_RECIPE_SUMMARY_ENTITY,
|
||||
PORRIDGE_RECIPE_SUMMARY_ENTITY
|
||||
@@ -110,7 +110,7 @@ class RecipesRemoteMediatorTest : MockServerWithAuthTest() {
|
||||
mockServer.takeRequest()
|
||||
mockServer.enqueueUnsuccessfulRecipeResponse()
|
||||
subject.load(APPEND, pagingState())
|
||||
val actual = mealieDb.recipeDao().queryAllRecipes()
|
||||
val actual = appDb.recipeDao().queryAllRecipes()
|
||||
assertThat(actual).isEqualTo(TEST_RECIPE_ENTITIES)
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.test
|
||||
package gq.kirmanak.mealient.data.test
|
||||
|
||||
import okhttp3.mockwebserver.MockResponse
|
||||
import okhttp3.mockwebserver.MockWebServer
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.test
|
||||
package gq.kirmanak.mealient.data.test
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import dagger.hilt.android.testing.HiltAndroidRule
|
||||
@@ -1,4 +1,4 @@
|
||||
package gq.kirmanak.mealie.data.test
|
||||
package gq.kirmanak.mealient.data.test
|
||||
|
||||
import okhttp3.mockwebserver.MockWebServer
|
||||
import org.junit.After
|
||||
@@ -1,9 +1,9 @@
|
||||
package gq.kirmanak.mealie.data.test
|
||||
package gq.kirmanak.mealient.data.test
|
||||
|
||||
import gq.kirmanak.mealie.data.auth.AuthRepo
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_PASSWORD
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_USERNAME
|
||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.enqueueSuccessfulAuthResponse
|
||||
import gq.kirmanak.mealient.data.auth.AuthRepo
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_PASSWORD
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_USERNAME
|
||||
import gq.kirmanak.mealient.data.test.AuthImplTestData.enqueueSuccessfulAuthResponse
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.junit.Before
|
||||
import javax.inject.Inject
|
||||
@@ -1,14 +1,14 @@
|
||||
package gq.kirmanak.mealie.data.test
|
||||
package gq.kirmanak.mealient.data.test
|
||||
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeEntity
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeIngredientEntity
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeInstructionEntity
|
||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealie.data.recipes.impl.FullRecipeInfo
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeIngredientResponse
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeInstructionResponse
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeResponse
|
||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeEntity
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeIngredientEntity
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeInstructionEntity
|
||||
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||
import gq.kirmanak.mealient.data.recipes.impl.FullRecipeInfo
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeIngredientResponse
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeInstructionResponse
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse
|
||||
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse
|
||||
import kotlinx.datetime.LocalDate
|
||||
import kotlinx.datetime.LocalDateTime
|
||||
import okhttp3.mockwebserver.MockResponse
|
||||
@@ -5,5 +5,5 @@ dependencyResolutionManagement {
|
||||
mavenCentral()
|
||||
}
|
||||
}
|
||||
rootProject.name = "Mealie"
|
||||
rootProject.name = "Mealient"
|
||||
include ':app'
|
||||
|
||||
Reference in New Issue
Block a user