Skip to content

Commit b0ccb7f

Browse files
test: fix remote data source tests
1 parent 73062d1 commit b0ccb7f

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

app/src/test/java/com/d4rk/androidtutorials/java/data/source/DefaultHomeRemoteDataSourceTest.java

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@
44
import static org.junit.Assert.assertTrue;
55
import static org.mockito.Mockito.mock;
66

7-
import android.os.Looper;
8-
97
import com.android.volley.RequestQueue;
108
import com.d4rk.androidtutorials.java.data.model.PromotedApp;
119

1210
import org.json.JSONObject;
1311
import org.junit.Before;
1412
import org.junit.Test;
1513

14+
import java.lang.reflect.Field;
1615
import java.lang.reflect.Method;
1716
import java.util.List;
1817

@@ -23,17 +22,13 @@ public class DefaultHomeRemoteDataSourceTest {
2322

2423
@Before
2524
public void setUp() throws Exception {
26-
if (Looper.getMainLooper() == null) {
27-
try {
28-
Method prepareMainLooper = Looper.class.getDeclaredMethod("prepareMainLooper");
29-
prepareMainLooper.setAccessible(true);
30-
prepareMainLooper.invoke(null);
31-
} catch (Exception ignored) {
32-
Looper.prepare();
33-
}
34-
}
35-
RequestQueue queue = mock(RequestQueue.class);
36-
dataSource = new DefaultHomeRemoteDataSource(queue, "https://example.com");
25+
dataSource = mock(DefaultHomeRemoteDataSource.class);
26+
Field queueField = DefaultHomeRemoteDataSource.class.getDeclaredField("requestQueue");
27+
queueField.setAccessible(true);
28+
queueField.set(dataSource, mock(RequestQueue.class));
29+
Field urlField = DefaultHomeRemoteDataSource.class.getDeclaredField("apiUrl");
30+
urlField.setAccessible(true);
31+
urlField.set(dataSource, "https://example.com");
3732
parseMethod = DefaultHomeRemoteDataSource.class.getDeclaredMethod("parseResponse", JSONObject.class);
3833
parseMethod.setAccessible(true);
3934
}

0 commit comments

Comments
 (0)