mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Fix tests
This commit is contained in:
		| @@ -6,7 +6,6 @@ import android.os.Build; | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.robolectric.RobolectricGradleTestRunner; | ||||
| import org.robolectric.RuntimeEnvironment; | ||||
| import org.robolectric.annotation.Config; | ||||
|  | ||||
| @@ -17,10 +16,10 @@ import eu.kanade.tachiyomi.data.database.models.Category; | ||||
| import eu.kanade.tachiyomi.data.database.models.Manga; | ||||
| import eu.kanade.tachiyomi.data.database.models.MangaCategory; | ||||
|  | ||||
| import static org.assertj.core.api.Assertions.*; | ||||
| import static org.assertj.core.api.Assertions.assertThat; | ||||
|  | ||||
| @Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP) | ||||
| @RunWith(RobolectricGradleTestRunner.class) | ||||
| @RunWith(CustomRobolectricGradleTestRunner.class) | ||||
| public class CategoryTest { | ||||
|  | ||||
|     DatabaseHelper db; | ||||
|   | ||||
| @@ -4,7 +4,7 @@ import eu.kanade.tachiyomi.injection.component.DaggerAppComponent | ||||
| import eu.kanade.tachiyomi.injection.module.AppModule | ||||
| import eu.kanade.tachiyomi.injection.module.TestDataModule | ||||
|  | ||||
| class TestApp : App() { | ||||
| open class TestApp : App() { | ||||
|  | ||||
|     override fun prepareAppComponent(): DaggerAppComponent.Builder { | ||||
|         return DaggerAppComponent.builder() | ||||
|   | ||||
| @@ -6,7 +6,6 @@ import android.content.Intent; | ||||
| import android.os.Build; | ||||
| import android.os.SystemClock; | ||||
|  | ||||
| import org.assertj.core.data.Offset; | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| @@ -132,9 +131,9 @@ public class LibraryUpdateAlarmTest { | ||||
|         long shouldRunAt = SystemClock.elapsedRealtime() + (hours * 60 * 60 * 1000); | ||||
|  | ||||
|         // Margin error of 3 seconds | ||||
|         Offset<Long> offset = Offset.offset(3 * 1000L); | ||||
|  | ||||
|         assertThat(alarmManager.getNextScheduledAlarm().triggerAtTime).isCloseTo(shouldRunAt, offset); | ||||
|         assertThat(alarmManager.getNextScheduledAlarm().triggerAtTime) | ||||
|                 .isGreaterThan(shouldRunAt - 3000) | ||||
|                 .isLessThan(shouldRunAt + 3000); | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import rx.Observable; | ||||
|  | ||||
| import static org.mockito.Matchers.any; | ||||
| import static org.mockito.Matchers.anyInt; | ||||
| import static org.mockito.Matchers.anyListOf; | ||||
| import static org.mockito.Matchers.eq; | ||||
| import static org.mockito.Mockito.mock; | ||||
| import static org.mockito.Mockito.never; | ||||
| @@ -88,7 +89,7 @@ public class LibraryUpdateServiceTest { | ||||
|  | ||||
|         // One of the updates will fail | ||||
|         when(source.pullChaptersFromNetwork("manga1")).thenReturn(Observable.just(chapters)); | ||||
|         when(source.pullChaptersFromNetwork("manga2")).thenReturn(Observable.error(new Exception())); | ||||
|         when(source.pullChaptersFromNetwork("manga2")).thenReturn(Observable.<List<Chapter>>error(new Exception())); | ||||
|         when(source.pullChaptersFromNetwork("manga3")).thenReturn(Observable.just(chapters3)); | ||||
|  | ||||
|         when(service.db.insertOrRemoveChapters(manga1, chapters, source)).thenReturn(Observable.just(Pair.create(2, 0))); | ||||
| @@ -97,9 +98,9 @@ public class LibraryUpdateServiceTest { | ||||
|         service.updateLibrary().subscribe(); | ||||
|  | ||||
|         // There are 3 network attempts and 2 insertions (1 request failed) | ||||
|         verify(source, times(3)).pullChaptersFromNetwork(any()); | ||||
|         verify(service.db, times(2)).insertOrRemoveChapters(any(), any(), any()); | ||||
|         verify(service.db, never()).insertOrRemoveChapters(eq(manga2), any(), any()); | ||||
|         verify(source, times(3)).pullChaptersFromNetwork((String)any()); | ||||
|         verify(service.db, times(2)).insertOrRemoveChapters((Manga)any(), anyListOf(Chapter.class), (Source)any()); | ||||
|         verify(service.db, never()).insertOrRemoveChapters(eq(manga2), anyListOf(Chapter.class), (Source)any()); | ||||
|     } | ||||
|  | ||||
|     private List<Chapter> createChapters(String... urls) { | ||||
|   | ||||
| @@ -1,28 +0,0 @@ | ||||
| package eu.kanade.tachiyomi.injection.module; | ||||
|  | ||||
| import android.app.Application; | ||||
|  | ||||
| import org.mockito.Mockito; | ||||
|  | ||||
| import eu.kanade.tachiyomi.data.database.DatabaseHelper; | ||||
| import eu.kanade.tachiyomi.data.network.NetworkHelper; | ||||
| import eu.kanade.tachiyomi.data.source.SourceManager; | ||||
|  | ||||
| public class TestDataModule extends DataModule { | ||||
|  | ||||
|     @Override | ||||
|     DatabaseHelper provideDatabaseHelper(Application app) { | ||||
|         return Mockito.mock(DatabaseHelper.class, Mockito.RETURNS_DEEP_STUBS); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     NetworkHelper provideNetworkHelper(Application app) { | ||||
|         return Mockito.mock(NetworkHelper.class); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     SourceManager provideSourceManager(Application app) { | ||||
|         return Mockito.mock(SourceManager.class, Mockito.RETURNS_DEEP_STUBS); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,23 @@ | ||||
| package eu.kanade.tachiyomi.injection.module | ||||
|  | ||||
| import android.app.Application | ||||
| import eu.kanade.tachiyomi.data.database.DatabaseHelper | ||||
| import eu.kanade.tachiyomi.data.network.NetworkHelper | ||||
| import eu.kanade.tachiyomi.data.source.SourceManager | ||||
| import org.mockito.Mockito | ||||
|  | ||||
| class TestDataModule : DataModule() { | ||||
|  | ||||
|     override fun provideDatabaseHelper(app: Application): DatabaseHelper { | ||||
|         return Mockito.mock(DatabaseHelper::class.java, Mockito.RETURNS_DEEP_STUBS) | ||||
|     } | ||||
|  | ||||
|     override fun provideNetworkHelper(app: Application): NetworkHelper { | ||||
|         return Mockito.mock(NetworkHelper::class.java) | ||||
|     } | ||||
|  | ||||
|     override fun provideSourceManager(app: Application): SourceManager { | ||||
|         return Mockito.mock(SourceManager::class.java, Mockito.RETURNS_DEEP_STUBS) | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user