@@ -29,6 +29,7 @@ import com.duckduckgo.pir.impl.dashboard.state.PirDashboardInitialScanStateProvi
29
29
import com.duckduckgo.pir.impl.dashboard.state.PirDashboardInitialScanStateProvider.DashboardBrokerWithStatus
30
30
import com.duckduckgo.pir.impl.models.AddressCityState
31
31
import com.duckduckgo.pir.impl.models.ExtractedProfile
32
+ import com.duckduckgo.pir.impl.store.PirRepository
32
33
import com.squareup.moshi.JsonAdapter
33
34
import com.squareup.moshi.Moshi
34
35
import java.util.concurrent.TimeUnit
@@ -59,13 +60,15 @@ class PirWebInitialScanStatusMessageHandlerTest {
59
60
private val mockStateProvider: PirDashboardInitialScanStateProvider = mock()
60
61
private val mockJsMessageCallback: JsMessageCallback = mock()
61
62
private val testScope = TestScope ()
63
+ private val mockRepository: PirRepository = mock()
62
64
63
65
@Before
64
66
fun setUp () {
65
67
testee = PirWebInitialScanStatusMessageHandler (
66
68
dispatcherProvider = coroutineRule.testDispatcherProvider,
67
69
appCoroutineScope = testScope,
68
70
stateProvider = mockStateProvider,
71
+ pirRepository = mockRepository,
69
72
)
70
73
fakeJsMessaging.reset()
71
74
}
@@ -79,6 +82,7 @@ class PirWebInitialScanStatusMessageHandlerTest {
79
82
fun whenProcessWithNoDataThenSendsEmptyResponse () = runTest {
80
83
// Given
81
84
val jsMessage = createJsMessage(" " , PirDashboardWebMessages .INITIAL_SCAN_STATUS )
85
+ whenever(mockRepository.getUserProfileQueries()).thenReturn(listOf (mock()))
82
86
whenever(mockStateProvider.getScanResults()).thenReturn(emptyList())
83
87
whenever(mockStateProvider.getFullyCompletedBrokersTotal()).thenReturn(0 )
84
88
whenever(mockStateProvider.getActiveBrokersAndMirrorSitesTotal()).thenReturn(0 )
@@ -96,6 +100,47 @@ class PirWebInitialScanStatusMessageHandlerTest {
96
100
)
97
101
}
98
102
103
+ @Test
104
+ fun whenProcessWithNoProfilesThenSendsEmptyResponse () = runTest {
105
+ // Given
106
+ val jsMessage = createJsMessage(" " , PirDashboardWebMessages .INITIAL_SCAN_STATUS )
107
+ val extractedProfile = createExtractedProfile()
108
+ val dashboardBroker = createDashboardBroker()
109
+ val scanResults = listOf (
110
+ DashboardExtractedProfileResult (
111
+ extractedProfile = extractedProfile,
112
+ broker = dashboardBroker,
113
+ optOutSubmittedDateInMillis = 1640995200000L ,
114
+ optOutRemovedDateInMillis = 1643673600000L ,
115
+ estimatedRemovalDateInMillis = 1641081600000L ,
116
+ hasMatchingRecordOnParentBroker = true ,
117
+ ),
118
+ )
119
+ val scannedBrokers = listOf (
120
+ DashboardBrokerWithStatus (
121
+ broker = dashboardBroker,
122
+ status = DashboardBrokerWithStatus .Status .COMPLETED ,
123
+ ),
124
+ )
125
+
126
+ whenever(mockRepository.getUserProfileQueries()).thenReturn(emptyList())
127
+ whenever(mockStateProvider.getScanResults()).thenReturn(scanResults)
128
+ whenever(mockStateProvider.getFullyCompletedBrokersTotal()).thenReturn(5 )
129
+ whenever(mockStateProvider.getActiveBrokersAndMirrorSitesTotal()).thenReturn(10 )
130
+ whenever(mockStateProvider.getAllScannedBrokersStatus()).thenReturn(scannedBrokers)
131
+
132
+ // When
133
+ testee.process(jsMessage, fakeJsMessaging, mockJsMessageCallback)
134
+
135
+ // Then
136
+ verifyInitialScanResponse(
137
+ expectedResultsCount = 0 ,
138
+ expectedCurrentScans = 0 ,
139
+ expectedTotalScans = 0 ,
140
+ expectedScannedBrokersCount = 0 ,
141
+ )
142
+ }
143
+
99
144
@Test
100
145
fun whenProcessWithScanResultsAndProgressThenSendsCorrectResponse () = runTest {
101
146
// Given
@@ -119,6 +164,7 @@ class PirWebInitialScanStatusMessageHandlerTest {
119
164
),
120
165
)
121
166
167
+ whenever(mockRepository.getUserProfileQueries()).thenReturn(listOf (mock()))
122
168
whenever(mockStateProvider.getScanResults()).thenReturn(scanResults)
123
169
whenever(mockStateProvider.getFullyCompletedBrokersTotal()).thenReturn(5 )
124
170
whenever(mockStateProvider.getActiveBrokersAndMirrorSitesTotal()).thenReturn(10 )
@@ -175,6 +221,7 @@ class PirWebInitialScanStatusMessageHandlerTest {
175
221
),
176
222
)
177
223
224
+ whenever(mockRepository.getUserProfileQueries()).thenReturn(listOf (mock()))
178
225
whenever(mockStateProvider.getScanResults()).thenReturn(scanResults)
179
226
whenever(mockStateProvider.getFullyCompletedBrokersTotal()).thenReturn(2 )
180
227
whenever(mockStateProvider.getActiveBrokersAndMirrorSitesTotal()).thenReturn(5 )
@@ -248,6 +295,7 @@ class PirWebInitialScanStatusMessageHandlerTest {
248
295
),
249
296
)
250
297
298
+ whenever(mockRepository.getUserProfileQueries()).thenReturn(listOf (mock()))
251
299
whenever(mockStateProvider.getScanResults()).thenReturn(emptyList())
252
300
whenever(mockStateProvider.getFullyCompletedBrokersTotal()).thenReturn(1 )
253
301
whenever(mockStateProvider.getActiveBrokersAndMirrorSitesTotal()).thenReturn(2 )
0 commit comments