@@ -81,6 +81,7 @@ class ProSettingViewModelTest {
8181 whenever(subscriptionsManager.subscriptionStatus).thenReturn(flowOf(SubscriptionStatus .EXPIRED ))
8282 whenever(subscriptionsManager.getSubscriptionOffer()).thenReturn(emptyList())
8383 whenever(subscriptionsManager.isFreeTrialEligible()).thenReturn(false )
84+ whenever(subscriptionsManager.blackFridayOfferAvailable()).thenReturn(false )
8485
8586 viewModel.onCreate(mock())
8687 viewModel.viewState.test {
@@ -104,6 +105,7 @@ class ProSettingViewModelTest {
104105 whenever(subscriptionsManager.subscriptionStatus).thenReturn(flowOf(SubscriptionStatus .INACTIVE ))
105106 whenever(subscriptionsManager.getSubscriptionOffer()).thenReturn(emptyList())
106107 whenever(subscriptionsManager.isFreeTrialEligible()).thenReturn(true )
108+ whenever(subscriptionsManager.blackFridayOfferAvailable()).thenReturn(false )
107109
108110 viewModel.onCreate(mock())
109111 viewModel.viewState.test {
@@ -118,6 +120,7 @@ class ProSettingViewModelTest {
118120 whenever(subscriptionsManager.subscriptionStatus).thenReturn(flowOf(SubscriptionStatus .AUTO_RENEWABLE ))
119121 whenever(subscriptionsManager.getSubscriptionOffer()).thenReturn(listOf (subscriptionOffer.copy(features = setOf (Product .DuckAiPlus .value))))
120122 whenever(subscriptionsManager.isFreeTrialEligible()).thenReturn(true )
123+ whenever(subscriptionsManager.blackFridayOfferAvailable()).thenReturn(false )
121124
122125 viewModel.onCreate(mock())
123126 viewModel.viewState.test {
@@ -132,6 +135,7 @@ class ProSettingViewModelTest {
132135 whenever(subscriptionsManager.subscriptionStatus).thenReturn(flowOf(SubscriptionStatus .AUTO_RENEWABLE ))
133136 whenever(subscriptionsManager.getSubscriptionOffer()).thenReturn(listOf (subscriptionOffer.copy(features = setOf (Product .NetP .value))))
134137 whenever(subscriptionsManager.isFreeTrialEligible()).thenReturn(true )
138+ whenever(subscriptionsManager.blackFridayOfferAvailable()).thenReturn(false )
135139
136140 viewModel.onCreate(mock())
137141 viewModel.viewState.test {
@@ -146,6 +150,7 @@ class ProSettingViewModelTest {
146150 whenever(subscriptionsManager.subscriptionStatus).thenReturn(flowOf(SubscriptionStatus .AUTO_RENEWABLE ))
147151 whenever(subscriptionsManager.getSubscriptionOffer()).thenReturn(listOf (subscriptionOffer.copy(features = setOf (Product .DuckAiPlus .value))))
148152 whenever(subscriptionsManager.isFreeTrialEligible()).thenReturn(true )
153+ whenever(subscriptionsManager.blackFridayOfferAvailable()).thenReturn(false )
149154
150155 viewModel.onCreate(mock())
151156 viewModel.viewState.test {
@@ -154,6 +159,34 @@ class ProSettingViewModelTest {
154159 }
155160 }
156161
162+ @Test
163+ fun whenBlackFridayOfferAvailableThenViewStateBlackFridayOfferAvailableTrue () = runTest {
164+ whenever(subscriptionsManager.subscriptionStatus).thenReturn(flowOf(SubscriptionStatus .INACTIVE ))
165+ whenever(subscriptionsManager.getSubscriptionOffer()).thenReturn(emptyList())
166+ whenever(subscriptionsManager.isFreeTrialEligible()).thenReturn(false )
167+ whenever(subscriptionsManager.blackFridayOfferAvailable()).thenReturn(true )
168+
169+ viewModel.onCreate(mock())
170+ viewModel.viewState.test {
171+ assertTrue(awaitItem().blackFridayOfferAvailable)
172+ cancelAndConsumeRemainingEvents()
173+ }
174+ }
175+
176+ @Test
177+ fun whenBlackFridayOfferNotAvailableThenViewStateBlackFridayOfferAvailableFalse () = runTest {
178+ whenever(subscriptionsManager.subscriptionStatus).thenReturn(flowOf(SubscriptionStatus .INACTIVE ))
179+ whenever(subscriptionsManager.getSubscriptionOffer()).thenReturn(emptyList())
180+ whenever(subscriptionsManager.isFreeTrialEligible()).thenReturn(false )
181+ whenever(subscriptionsManager.blackFridayOfferAvailable()).thenReturn(false )
182+
183+ viewModel.onCreate(mock())
184+ viewModel.viewState.test {
185+ assertFalse(awaitItem().blackFridayOfferAvailable)
186+ cancelAndConsumeRemainingEvents()
187+ }
188+ }
189+
157190 private val subscriptionOffer = SubscriptionOffer (
158191 planId = " test" ,
159192 offerId = null ,
0 commit comments