mirror of
https://github.com/KokaKiwi/BarInsta
synced 2024-12-23 05:16:58 +00:00
Migrate service/dao test objects to open class adapters for re-usability
This commit is contained in:
parent
8253328788
commit
dd227751af
154
app/src/test/java/awais/instagrabber/common/Adapters.kt
Normal file
154
app/src/test/java/awais/instagrabber/common/Adapters.kt
Normal file
@ -0,0 +1,154 @@
|
||||
package awais.instagrabber.common
|
||||
|
||||
import awais.instagrabber.db.dao.AccountDao
|
||||
import awais.instagrabber.db.entities.Account
|
||||
import awais.instagrabber.repositories.*
|
||||
import awais.instagrabber.repositories.responses.*
|
||||
|
||||
open class UserServiceAdapter : UserService {
|
||||
override suspend fun getUserInfo(uid: Long): WrappedUser {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getUsernameInfo(username: String): WrappedUser {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getUserFriendship(uid: Long): FriendshipStatus {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun search(timezoneOffset: Float, query: String): UserSearchResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
open class FriendshipServiceAdapter : FriendshipService {
|
||||
override suspend fun change(action: String, id: Long, form: Map<String, String>): FriendshipChangeResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun toggleRestrict(action: String, form: Map<String, String>): FriendshipRestrictResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getList(userId: Long, type: String, queryParams: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun changeMute(action: String, form: Map<String, String>): FriendshipChangeResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
open class StoriesServiceAdapter : StoriesService {
|
||||
override suspend fun fetch(mediaId: Long): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getFeedStories(): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun fetchHighlights(uid: Long): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun fetchArchive(queryParams: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getUserStory(url: String): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun respondToSticker(storyId: String, stickerId: String, action: String, form: Map<String, String>): StoryStickerResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun seen(queryParams: Map<String, String>, form: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
open class MediaServiceAdapter : MediaService {
|
||||
override suspend fun fetch(mediaId: Long): MediaInfoResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun fetchLikes(mediaId: String, action: String): LikersResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun action(action: String, mediaId: String, signedForm: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun editCaption(mediaId: String, signedForm: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun translate(form: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun uploadFinish(retryContext: String, queryParams: Map<String, String>, signedForm: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun delete(mediaId: String, mediaType: String, signedForm: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun archive(mediaId: String, signedForm: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
open class GraphQLServiceAdapter : GraphQLService {
|
||||
override suspend fun fetch(queryParams: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getUser(username: String): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getPost(shortcode: String): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getTag(tag: String): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getLocation(locationId: Long): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
open class AccountDaoAdapter : AccountDao {
|
||||
override suspend fun getAllAccounts(): List<Account> {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun findAccountByUid(uid: String): Account? {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun insertAccounts(vararg accounts: Account) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun updateAccounts(vararg accounts: Account) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun deleteAccounts(vararg accounts: Account) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun deleteAllAccounts() {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
@ -2,166 +2,15 @@ package awais.instagrabber.viewmodels
|
||||
|
||||
import androidx.lifecycle.SavedStateHandle
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import awais.instagrabber.db.dao.AccountDao
|
||||
import awais.instagrabber.common.*
|
||||
import awais.instagrabber.db.datasources.AccountDataSource
|
||||
import awais.instagrabber.db.entities.Account
|
||||
import awais.instagrabber.db.repositories.AccountRepository
|
||||
import awais.instagrabber.repositories.*
|
||||
import awais.instagrabber.repositories.responses.*
|
||||
import awais.instagrabber.webservices.*
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
internal class ProfileFragmentViewModelTest {
|
||||
private val userService = object : UserService {
|
||||
override suspend fun getUserInfo(uid: Long): WrappedUser {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getUsernameInfo(username: String): WrappedUser {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getUserFriendship(uid: Long): FriendshipStatus {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun search(timezoneOffset: Float, query: String): UserSearchResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
private val friendshipService = object : FriendshipService {
|
||||
override suspend fun change(action: String, id: Long, form: Map<String, String>): FriendshipChangeResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun toggleRestrict(action: String, form: Map<String, String>): FriendshipRestrictResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getList(userId: Long, type: String, queryParams: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun changeMute(action: String, form: Map<String, String>): FriendshipChangeResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
private val storiesService = object : StoriesService {
|
||||
override suspend fun fetch(mediaId: Long): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getFeedStories(): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun fetchHighlights(uid: Long): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun fetchArchive(queryParams: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getUserStory(url: String): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun respondToSticker(storyId: String, stickerId: String, action: String, form: Map<String, String>): StoryStickerResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun seen(queryParams: Map<String, String>, form: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
private val mediaService = object : MediaService {
|
||||
override suspend fun fetch(mediaId: Long): MediaInfoResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun fetchLikes(mediaId: String, action: String): LikersResponse {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun action(action: String, mediaId: String, signedForm: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun editCaption(mediaId: String, signedForm: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun translate(form: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun uploadFinish(retryContext: String, queryParams: Map<String, String>, signedForm: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun delete(mediaId: String, mediaType: String, signedForm: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun archive(mediaId: String, signedForm: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
private val graphQLService = object : GraphQLService {
|
||||
override suspend fun fetch(queryParams: Map<String, String>): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getUser(username: String): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getPost(shortcode: String): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getTag(tag: String): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun getLocation(locationId: Long): String {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
private val accountDao = object : AccountDao{
|
||||
override suspend fun getAllAccounts(): List<Account> {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun findAccountByUid(uid: String): Account? {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun insertAccounts(vararg accounts: Account) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun updateAccounts(vararg accounts: Account) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun deleteAccounts(vararg accounts: Account) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override suspend fun deleteAllAccounts() {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testNoUsernameNoCurrentUser() {
|
||||
val state = SavedStateHandle(
|
||||
@ -169,12 +18,12 @@ internal class ProfileFragmentViewModelTest {
|
||||
"username" to ""
|
||||
)
|
||||
)
|
||||
val userRepository = UserRepository(userService)
|
||||
val friendshipRepository = FriendshipRepository(friendshipService)
|
||||
val storiesRepository = StoriesRepository(storiesService)
|
||||
val mediaRepository = MediaRepository(mediaService)
|
||||
val graphQLRepository = GraphQLRepository(graphQLService)
|
||||
val accountDataSource = AccountDataSource(accountDao)
|
||||
val userRepository = UserRepository(UserServiceAdapter())
|
||||
val friendshipRepository = FriendshipRepository(FriendshipServiceAdapter())
|
||||
val storiesRepository = StoriesRepository(StoriesServiceAdapter())
|
||||
val mediaRepository = MediaRepository(MediaServiceAdapter())
|
||||
val graphQLRepository = GraphQLRepository(GraphQLServiceAdapter())
|
||||
val accountDataSource = AccountDataSource(AccountDaoAdapter())
|
||||
val accountRepository = AccountRepository(accountDataSource)
|
||||
val viewModel = ProfileFragmentViewModel(
|
||||
state,
|
||||
|
Loading…
Reference in New Issue
Block a user