@@ -4,17 +4,15 @@ import org.assertj.core.api.Assertions.assertThat
44import org.junit.Before
55import org.junit.Test
66import org.mockito.kotlin.mock
7- import org.mockito.kotlin.times
87import org.mockito.kotlin.verify
98import org.mockito.kotlin.whenever
109import org.wordpress.android.fluxc.generated.endpoint.WOOCOMMERCE
1110import org.wordpress.android.fluxc.network.BaseRequest.BaseNetworkError
1211import org.wordpress.android.fluxc.network.BaseRequest.GenericErrorType.NETWORK_ERROR
13- import org.wordpress.android.fluxc.network.rest.wpcom.WPComGsonRequest.WPComGsonNetworkError
14- import org.wordpress.android.fluxc.network.rest.wpcom.jetpacktunnel.JetpackTunnelGsonRequestBuilder
15- import org.wordpress.android.fluxc.network.rest.wpcom.jetpacktunnel.JetpackTunnelGsonRequestBuilder.JetpackResponse.JetpackError
16- import org.wordpress.android.fluxc.network.rest.wpcom.jetpacktunnel.JetpackTunnelGsonRequestBuilder.JetpackResponse.JetpackSuccess
12+ import org.wordpress.android.fluxc.network.rest.wpapi.WPAPINetworkError
13+ import org.wordpress.android.fluxc.network.rest.wpapi.WPAPIResponse
1714import org.wordpress.android.fluxc.network.rest.wpcom.wc.WooError
15+ import org.wordpress.android.fluxc.network.rest.wpcom.wc.WooNetwork
1816import org.wordpress.android.fluxc.network.rest.wpcom.wc.leaderboards.LeaderboardsApiResponse
1917import org.wordpress.android.fluxc.network.rest.wpcom.wc.leaderboards.LeaderboardsRestClient
2018import org.wordpress.android.fluxc.test
@@ -23,27 +21,20 @@ import org.wordpress.android.fluxc.wc.leaderboards.WCLeaderboardsTestFixtures.st
2321
2422class LeaderboardsRestClientTest {
2523 private lateinit var restClientUnderTest: LeaderboardsRestClient
26- private lateinit var requestBuilder: JetpackTunnelGsonRequestBuilder
27- private lateinit var jetpackSuccessResponse: JetpackSuccess <Array <LeaderboardsApiResponse >>
28- private lateinit var jetpackErrorResponse: JetpackError <Array <LeaderboardsApiResponse >>
24+ private lateinit var wpApiSuccessResponse: WPAPIResponse .Success <Array <LeaderboardsApiResponse >>
25+ private lateinit var wpApiErrorResponse: WPAPIResponse .Error <Array <LeaderboardsApiResponse >>
26+
27+ private val wooNetwork: WooNetwork = mock()
2928
3029 @Before
3130 fun setUp () {
32- requestBuilder = mock()
33- jetpackSuccessResponse = mock()
34- jetpackErrorResponse = mock()
35- restClientUnderTest = LeaderboardsRestClient (
36- mock(),
37- mock(),
38- mock(),
39- mock(),
40- mock(),
41- requestBuilder
42- )
31+ wpApiSuccessResponse = mock()
32+ wpApiErrorResponse = mock()
33+ restClientUnderTest = LeaderboardsRestClient (wooNetwork)
4334 }
4435
4536 @Test
46- fun `fetch leaderboards should call syncGetRequest with correct parameters and return expected response` () = test {
37+ fun `fetch leaderboards should call correct request with correct parameters and return expected response` () = test {
4738 val expectedResult = generateSampleLeaderboardsApiResponse()
4839 configureSuccessRequest(expectedResult!! )
4940 val response = restClientUnderTest.fetchLeaderboards(
@@ -55,18 +46,17 @@ class LeaderboardsRestClientTest {
5546 interval = " day"
5647 )
5748
58- verify(requestBuilder, times(1 )).syncGetRequest(
59- restClientUnderTest,
60- stubSite,
61- WOOCOMMERCE .leaderboards.pathV4Analytics,
62- mapOf (
49+ verify(wooNetwork).executeGetGsonRequest(
50+ site = stubSite,
51+ path = WOOCOMMERCE .leaderboards.pathV4Analytics,
52+ params = mapOf (
6353 " before" to " 22-10-2022" ,
6454 " after" to " 10-10-2022" ,
6555 " per_page" to " 5" ,
6656 " interval" to " day" ,
6757 " force_cache_refresh" to " false" ,
6858 ),
69- Array <LeaderboardsApiResponse >::class .java
59+ clazz = Array <LeaderboardsApiResponse >::class .java
7060 )
7161 assertThat(response).isNotNull
7262 assertThat(response.result).isNotNull
@@ -93,40 +83,38 @@ class LeaderboardsRestClientTest {
9383 }
9484
9585 private suspend fun configureSuccessRequest (expectedResult : Array <LeaderboardsApiResponse >) {
96- whenever(jetpackSuccessResponse .data).thenReturn(expectedResult)
86+ whenever(wpApiSuccessResponse .data).thenReturn(expectedResult)
9787 whenever(
98- requestBuilder.syncGetRequest(
99- restClientUnderTest,
100- stubSite,
101- WOOCOMMERCE .leaderboards.pathV4Analytics,
102- mapOf (
88+ wooNetwork.executeGetGsonRequest(
89+ site = stubSite,
90+ path = WOOCOMMERCE .leaderboards.pathV4Analytics,
91+ params = mapOf (
10392 " after" to " 10-10-2022" ,
10493 " before" to " 22-10-2022" ,
10594 " per_page" to " 5" ,
10695 " interval" to " day" ,
10796 " force_cache_refresh" to " false" ,
10897 ),
109- Array <LeaderboardsApiResponse >::class .java
98+ clazz = Array <LeaderboardsApiResponse >::class .java
11099 )
111- ).thenReturn(jetpackSuccessResponse )
100+ ).thenReturn(wpApiSuccessResponse )
112101 }
113102
114103 private suspend fun configureErrorRequest () {
115- whenever(jetpackErrorResponse .error).thenReturn(WPComGsonNetworkError (BaseNetworkError (NETWORK_ERROR )))
104+ whenever(wpApiErrorResponse .error).thenReturn(WPAPINetworkError (BaseNetworkError (NETWORK_ERROR )))
116105 whenever(
117- requestBuilder.syncGetRequest(
118- restClientUnderTest,
119- stubSite,
120- WOOCOMMERCE .leaderboards.pathV4Analytics,
121- mapOf (
106+ wooNetwork.executeGetGsonRequest(
107+ site = stubSite,
108+ path = WOOCOMMERCE .leaderboards.pathV4Analytics,
109+ params = mapOf (
122110 " after" to " 10-10-2022" ,
123111 " before" to " 22-10-2022" ,
124112 " per_page" to " 5" ,
125113 " interval" to " day" ,
126114 " force_cache_refresh" to " false" ,
127115 ),
128- Array <LeaderboardsApiResponse >::class .java
116+ clazz = Array <LeaderboardsApiResponse >::class .java
129117 )
130- ).thenReturn(jetpackErrorResponse )
118+ ).thenReturn(wpApiErrorResponse )
131119 }
132120}
0 commit comments