Skip to content

Commit ae6aee4

Browse files
committed
Add passing test for saveFileToCache
1 parent 95ae9b1 commit ae6aee4

1 file changed

Lines changed: 27 additions & 1 deletion

File tree

android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenDeviceIconManagerTests.java

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@
1010

1111
import org.json.JSONException;
1212
import org.json.JSONObject;
13+
import org.junit.rules.TemporaryFolder;
1314
import org.mockito.Mockito;
1415

16+
import java.io.File;
1517
import java.io.IOException;
1618

1719
import static org.mockito.ArgumentMatchers.anyInt;
@@ -22,6 +24,7 @@
2224

2325
public class LockScreenDeviceIconManagerTests extends AndroidTestCase2 {
2426

27+
TemporaryFolder tempFolder = new TemporaryFolder();
2528
private LockScreenDeviceIconManager lockScreenDeviceIconManager;
2629
private static final String ICON_URL = "http://i.imgur.com/TgkvOIZ.png";
2730
private static final String LAST_UPDATED_TIME = "lastUpdatedTime";
@@ -100,7 +103,30 @@ public void testSaveFileToCacheShouldReturnBeforeWritingSharedPrefsIfSavingToCac
100103
}
101104
}
102105

103-
//TODO Add Test For Passing saveFileToCache
106+
public void testSaveFileToCacheShouldWriteToSharedPrefsIfSaveIconIsSuccessful() {
107+
final SharedPreferences sharedPrefs = Mockito.mock(SharedPreferences.class);
108+
final SharedPreferences.Editor sharedPrefsEditor = Mockito.mock(SharedPreferences.Editor.class);
109+
final Context context = Mockito.mock(Context.class);
110+
Mockito.when(context.getSharedPreferences(anyString(), anyInt())).thenReturn(sharedPrefs);
111+
Mockito.when(sharedPrefs.edit()).thenReturn(sharedPrefsEditor);
112+
try {
113+
tempFolder.create();
114+
Mockito.when(context.getCacheDir()).thenReturn(tempFolder.newFolder());
115+
} catch (IOException e) {
116+
e.printStackTrace();
117+
}
118+
119+
Bitmap deviceLogo = null;
120+
try {
121+
deviceLogo = AndroidTools.downloadImage(ICON_URL);
122+
lockScreenDeviceIconManager = new LockScreenDeviceIconManager(context);
123+
lockScreenDeviceIconManager.saveFileToCache(deviceLogo, ICON_URL);
124+
verify(sharedPrefs, times(1)).edit();
125+
verify(sharedPrefsEditor, times(1)).putString(anyString(), anyString());
126+
} catch (IOException e) {
127+
e.printStackTrace();
128+
}
129+
}
104130

105131
public void testGetFileFromCacheShouldReturnNullIfFailedToGetSystemPref() {
106132
final SharedPreferences sharedPrefs = Mockito.mock(SharedPreferences.class);

0 commit comments

Comments
 (0)