From 10f56ea92597ed14862e16824b6ffbd41d648d76 Mon Sep 17 00:00:00 2001 From: RebecaTudor Date: Mon, 6 Nov 2023 20:12:15 +0200 Subject: [PATCH] Bug 1862403 - Remove unneeded states from RecommendedProductState Removed unneeded states from RecommendedProductState: Loading and Error, because the UI only uses the other 2 states. --- .../shopping/middleware/ProductRecommendationMapper.kt | 2 +- .../middleware/ReviewQualityCheckNetworkMiddleware.kt | 2 -- .../fenix/shopping/store/ReviewQualityCheckState.kt | 10 ---------- .../middleware/ProductRecommendationMapperTest.kt | 4 ++-- .../shopping/store/ReviewQualityCheckStoreTest.kt | 4 ++-- 5 files changed, 5 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/shopping/middleware/ProductRecommendationMapper.kt b/app/src/main/java/org/mozilla/fenix/shopping/middleware/ProductRecommendationMapper.kt index bd55e7a76..5e3441af5 100644 --- a/app/src/main/java/org/mozilla/fenix/shopping/middleware/ProductRecommendationMapper.kt +++ b/app/src/main/java/org/mozilla/fenix/shopping/middleware/ProductRecommendationMapper.kt @@ -18,7 +18,7 @@ private const val MAXIMUM_FRACTION_DIGITS = 2 * Maps [ProductRecommendation] to [RecommendedProductState]. */ fun ProductRecommendation?.toRecommendedProductState(): RecommendedProductState = - this?.toRecommendedProduct() ?: RecommendedProductState.Error + this?.toRecommendedProduct() ?: RecommendedProductState.Initial private fun ProductRecommendation.toRecommendedProduct(): RecommendedProductState.Product = RecommendedProductState.Product( diff --git a/app/src/main/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckNetworkMiddleware.kt b/app/src/main/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckNetworkMiddleware.kt index 832f7f96d..2393f2fe9 100644 --- a/app/src/main/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckNetworkMiddleware.kt +++ b/app/src/main/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckNetworkMiddleware.kt @@ -19,7 +19,6 @@ import org.mozilla.fenix.shopping.store.ReviewQualityCheckMiddleware import org.mozilla.fenix.shopping.store.ReviewQualityCheckState import org.mozilla.fenix.shopping.store.ReviewQualityCheckState.OptedIn.ProductReviewState import org.mozilla.fenix.shopping.store.ReviewQualityCheckState.OptedIn.ProductReviewState.AnalysisPresent.AnalysisStatus -import org.mozilla.fenix.shopping.store.ReviewQualityCheckState.RecommendedProductState /** * Middleware that handles network requests for the review quality check feature. @@ -162,7 +161,6 @@ class ReviewQualityCheckNetworkMiddleware( if (currentState is ReviewQualityCheckState.OptedIn && currentState.productRecommendationsPreference == true ) { - dispatch(UpdateRecommendedProduct(RecommendedProductState.Loading)) reviewQualityCheckService.productRecommendation().toRecommendedProductState().also { dispatch(UpdateRecommendedProduct(it)) } diff --git a/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckState.kt b/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckState.kt index 3d98d8177..0ff4879eb 100644 --- a/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckState.kt +++ b/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckState.kt @@ -164,16 +164,6 @@ sealed interface ReviewQualityCheckState : State { */ object Initial : RecommendedProductState - /** - * The state when the recommended product is loading. - */ - object Loading : RecommendedProductState - - /** - * The state when an error has occurred while fetching the recommended product. - */ - object Error : RecommendedProductState - /** * The state when the recommended product is available. * diff --git a/app/src/test/java/org/mozilla/fenix/shopping/middleware/ProductRecommendationMapperTest.kt b/app/src/test/java/org/mozilla/fenix/shopping/middleware/ProductRecommendationMapperTest.kt index fe82774ef..ae0f93f1a 100644 --- a/app/src/test/java/org/mozilla/fenix/shopping/middleware/ProductRecommendationMapperTest.kt +++ b/app/src/test/java/org/mozilla/fenix/shopping/middleware/ProductRecommendationMapperTest.kt @@ -18,9 +18,9 @@ class ProductRecommendationMapperTest { val localeTestRule = LocaleTestRule(Locale.US) @Test - fun `WHEN ProductRecommendation is null THEN it is mapped to Error`() { + fun `WHEN ProductRecommendation is null THEN it is mapped to Initial`() { val actual = null.toRecommendedProductState() - val expected = ReviewQualityCheckState.RecommendedProductState.Error + val expected = ReviewQualityCheckState.RecommendedProductState.Initial assertEquals(expected, actual) } diff --git a/app/src/test/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckStoreTest.kt b/app/src/test/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckStoreTest.kt index 0b090d06b..56f02cbae 100644 --- a/app/src/test/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckStoreTest.kt +++ b/app/src/test/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckStoreTest.kt @@ -686,7 +686,7 @@ class ReviewQualityCheckStoreTest { } @Test - fun `GIVEN product recommendations are enabled WHEN a product analysis is fetched successfully and product recommendation fails THEN product recommendations state should be error`() = + fun `GIVEN product recommendations are enabled WHEN a product analysis is fetched successfully and product recommendation fails THEN product recommendations state should be initial`() = runTest { val tested = ReviewQualityCheckStore( middleware = provideReviewQualityCheckMiddleware( @@ -709,7 +709,7 @@ class ReviewQualityCheckStoreTest { val expected = ReviewQualityCheckState.OptedIn( productReviewState = ProductAnalysisTestData.analysisPresent( - recommendedProductState = ReviewQualityCheckState.RecommendedProductState.Error, + recommendedProductState = ReviewQualityCheckState.RecommendedProductState.Initial, ), productRecommendationsPreference = true, productVendor = ProductVendor.BEST_BUY,