@@ -6,6 +6,7 @@ import android.net.Network
66import androidx.compose.ui.test.assertIsDisplayed
77import androidx.compose.ui.test.assertIsNotDisplayed
88import androidx.compose.ui.test.assertTextContains
9+ import androidx.compose.ui.test.isDisplayed
910import androidx.compose.ui.test.junit4.createComposeRule
1011import androidx.compose.ui.test.onNodeWithTag
1112import androidx.compose.ui.test.onNodeWithText
@@ -34,6 +35,9 @@ import com.android.unio.model.firestore.emptyFirestoreReferenceList
3435import com.android.unio.model.firestore.firestoreReferenceListWith
3536import com.android.unio.model.hilt.module.FirebaseModule
3637import com.android.unio.model.image.ImageRepositoryFirebaseStorage
38+ import com.android.unio.model.search.SearchRepository
39+ import com.android.unio.model.search.SearchViewModel
40+ import com.android.unio.model.strings.test_tags.association.AssociationProfileActionsTestTags
3741import com.android.unio.model.strings.test_tags.association.AssociationProfileTestTags
3842import com.android.unio.model.usecase.FollowUseCaseFirestore
3943import com.android.unio.model.usecase.SaveUseCaseFirestore
@@ -67,6 +71,7 @@ import io.mockk.every
6771import io.mockk.impl.annotations.MockK
6872import io.mockk.mockk
6973import io.mockk.mockkStatic
74+ import io.mockk.spyk
7075import io.mockk.verify
7176import me.zhanghai.compose.preference.ProvidePreferenceLocals
7277import org.junit.Before
@@ -85,6 +90,9 @@ class AssociationProfileTest : TearDown() {
8590 private lateinit var userViewModel: UserViewModel
8691 private lateinit var associationViewModel: AssociationViewModel
8792
93+ private lateinit var searchViewModel: SearchViewModel
94+ @MockK(relaxed = true ) private lateinit var searchRepository: SearchRepository
95+
8896 @MockK private lateinit var associationRepository: AssociationRepositoryFirestore
8997
9098 @MockK private lateinit var eventRepository: EventRepositoryFirestore
@@ -192,7 +200,7 @@ class AssociationProfileTest : TearDown() {
192200 Member (
193201 MockReferenceElement (
194202 MockUser .createMockUser(uid = " 1" , associationDependency = true )),
195- Role .ADMIN )),
203+ Role .ADMIN .uid )),
196204 events = Event .Companion .firestoreReferenceListWith(events.map { it.uid })),
197205 MockAssociation .createMockAssociation(
198206 uid = " a2" ,
@@ -202,7 +210,7 @@ class AssociationProfileTest : TearDown() {
202210 Member (
203211 MockReferenceElement (
204212 MockUser .createMockUser(uid = " 1" , associationDependency = true )),
205- Role .ADMIN )),
213+ Role .ADMIN .uid )),
206214 events = Event .Companion .firestoreReferenceListWith(events.map { it.uid })),
207215 )
208216
@@ -257,6 +265,8 @@ class AssociationProfileTest : TearDown() {
257265 concurrentAssociationUserRepository)
258266 associationViewModel.getAssociations()
259267 associationViewModel.selectAssociation(associations.first().uid)
268+
269+ searchViewModel = spyk(SearchViewModel (searchRepository))
260270 }
261271
262272 @Test
@@ -266,7 +276,11 @@ class AssociationProfileTest : TearDown() {
266276 composeTestRule.setContent {
267277 ProvidePreferenceLocals {
268278 AssociationProfileScaffold (
269- navigationAction, userViewModel, eventViewModel, associationViewModel) {}
279+ navigationAction,
280+ userViewModel,
281+ eventViewModel,
282+ associationViewModel,
283+ searchViewModel) {}
270284 }
271285 }
272286 composeTestRule.waitForIdle()
@@ -318,7 +332,11 @@ class AssociationProfileTest : TearDown() {
318332
319333 seeLess = context.getString(R .string.association_see_less)
320334 AssociationProfileScaffold (
321- navigationAction, userViewModel, eventViewModel, associationViewModel) {}
335+ navigationAction,
336+ userViewModel,
337+ eventViewModel,
338+ associationViewModel,
339+ searchViewModel) {}
322340 }
323341 }
324342 composeTestRule
@@ -367,7 +385,11 @@ class AssociationProfileTest : TearDown() {
367385 composeTestRule.setContent {
368386 ProvidePreferenceLocals {
369387 AssociationProfileScaffold (
370- navigationAction, userViewModel, eventViewModel, associationViewModel) {}
388+ navigationAction,
389+ userViewModel,
390+ eventViewModel,
391+ associationViewModel,
392+ searchViewModel) {}
371393 }
372394 }
373395 val currentCount = associationViewModel.selectedAssociation.value!! .followersCount
@@ -404,7 +426,11 @@ class AssociationProfileTest : TearDown() {
404426 composeTestRule.setContent {
405427 ProvidePreferenceLocals {
406428 AssociationProfileScaffold (
407- navigationAction, userViewModel, eventViewModel, associationViewModel) {}
429+ navigationAction,
430+ userViewModel,
431+ eventViewModel,
432+ associationViewModel,
433+ searchViewModel) {}
408434 }
409435 }
410436
@@ -429,7 +455,11 @@ class AssociationProfileTest : TearDown() {
429455 composeTestRule.setContent {
430456 ProvidePreferenceLocals {
431457 AssociationProfileScaffold (
432- navigationAction, userViewModel, eventViewModel, associationViewModel) {}
458+ navigationAction,
459+ userViewModel,
460+ eventViewModel,
461+ associationViewModel,
462+ searchViewModel) {}
433463 }
434464 }
435465
@@ -445,7 +475,11 @@ class AssociationProfileTest : TearDown() {
445475 composeTestRule.setContent {
446476 ProvidePreferenceLocals {
447477 AssociationProfileScaffold (
448- navigationAction, userViewModel, eventViewModel, associationViewModel) {}
478+ navigationAction,
479+ userViewModel,
480+ eventViewModel,
481+ associationViewModel,
482+ searchViewModel) {}
449483 }
450484 }
451485
@@ -461,7 +495,7 @@ class AssociationProfileTest : TearDown() {
461495 composeTestRule.setContent {
462496 ProvidePreferenceLocals {
463497 AssociationProfileScreen (
464- navigationAction, associationViewModel, userViewModel, eventViewModel)
498+ navigationAction, associationViewModel, searchViewModel, userViewModel, eventViewModel)
465499 }
466500 }
467501
@@ -475,13 +509,31 @@ class AssociationProfileTest : TearDown() {
475509 composeTestRule.setContent {
476510 ProvidePreferenceLocals {
477511 AssociationProfileScaffold (
478- navigationAction, userViewModel, eventViewModel, associationViewModel) {}
512+ navigationAction,
513+ userViewModel,
514+ eventViewModel,
515+ associationViewModel,
516+ searchViewModel) {}
479517 }
480518 }
481519
482- composeTestRule.onNodeWithTag(AssociationProfileTestTags .ADD_EVENT_BUTTON ).assertIsDisplayed()
520+ composeTestRule.waitUntil(10000 ) {
521+ composeTestRule.onNodeWithTag(AssociationProfileTestTags .ACTIONS_PAGE ).isDisplayed()
522+ }
523+ composeTestRule.onNodeWithTag(AssociationProfileTestTags .ACTIONS_PAGE ).performClick()
524+
525+ composeTestRule.waitUntil(10000 ) {
526+ composeTestRule
527+ .onNodeWithTag(AssociationProfileActionsTestTags .ADD_EVENT_BUTTON )
528+ .isDisplayed()
529+ }
530+
531+ composeTestRule
532+ .onNodeWithTag(AssociationProfileActionsTestTags .ADD_EVENT_BUTTON )
533+ .assertIsDisplayed()
534+
483535 composeTestRule
484- .onNodeWithTag(AssociationProfileTestTags .ADD_EVENT_BUTTON )
536+ .onNodeWithTag(AssociationProfileActionsTestTags .ADD_EVENT_BUTTON )
485537 .performScrollTo()
486538 .performClick()
487539
@@ -495,13 +547,31 @@ class AssociationProfileTest : TearDown() {
495547 composeTestRule.setContent {
496548 ProvidePreferenceLocals {
497549 AssociationProfileScaffold (
498- navigationAction, userViewModel, eventViewModel, associationViewModel) {}
550+ navigationAction,
551+ userViewModel,
552+ eventViewModel,
553+ associationViewModel,
554+ searchViewModel) {}
499555 }
500556 }
501557
502- composeTestRule.onNodeWithTag(AssociationProfileTestTags .ADD_EVENT_BUTTON ).assertIsDisplayed()
558+ composeTestRule.waitUntil(10000 ) {
559+ composeTestRule.onNodeWithTag(AssociationProfileTestTags .ACTIONS_PAGE ).isDisplayed()
560+ }
561+ composeTestRule.onNodeWithTag(AssociationProfileTestTags .ACTIONS_PAGE ).performClick()
562+
563+ composeTestRule.waitUntil(10000 ) {
564+ composeTestRule
565+ .onNodeWithTag(AssociationProfileActionsTestTags .ADD_EVENT_BUTTON )
566+ .isDisplayed()
567+ }
568+
569+ composeTestRule
570+ .onNodeWithTag(AssociationProfileActionsTestTags .ADD_EVENT_BUTTON )
571+ .assertIsDisplayed()
572+
503573 composeTestRule
504- .onNodeWithTag(AssociationProfileTestTags .ADD_EVENT_BUTTON )
574+ .onNodeWithTag(AssociationProfileActionsTestTags .ADD_EVENT_BUTTON )
505575 .performScrollTo()
506576 .performClick()
507577
0 commit comments