Use private method to mockk voice broadcast event

This commit is contained in:
Florian Renaud 2023-01-09 18:17:29 +01:00
parent 2df94807e0
commit 493fa7a0eb
1 changed files with 18 additions and 32 deletions

View File

@ -53,25 +53,10 @@ internal class GetVoiceBroadcastStateEventUseCaseTest {
fun `given there are several related events related to the given vb, when execute, then return the most recent one`() { fun `given there are several related events related to the given vb, when execute, then return the most recent one`() {
// Given // Given
val aVoiceBroadcast = VoiceBroadcast(A_VOICE_BROADCAST_ID, A_ROOM_ID) val aVoiceBroadcast = VoiceBroadcast(A_VOICE_BROADCAST_ID, A_ROOM_ID)
val aListOfTimelineEvents = listOf<TimelineEvent>( val aListOfTimelineEvents = listOf(
mockk(relaxed = true) { givenAVoiceBroadcastEvent(eventId = "event_id_1", isRedacted = false, timestamp = 1L),
every { root.eventId } returns "event_id_1" givenAVoiceBroadcastEvent(eventId = "event_id_3", isRedacted = false, timestamp = 3L),
every { root.type } returns VoiceBroadcastConstants.STATE_ROOM_VOICE_BROADCAST_INFO givenAVoiceBroadcastEvent(eventId = "event_id_2", isRedacted = false, timestamp = 2L),
every { root.isRedacted() } returns false
every { root.originServerTs } returns 1L
},
mockk(relaxed = true) {
every { root.eventId } returns "event_id_3"
every { root.type } returns VoiceBroadcastConstants.STATE_ROOM_VOICE_BROADCAST_INFO
every { root.isRedacted() } returns false
every { root.originServerTs } returns 3L
},
mockk(relaxed = true) {
every { root.eventId } returns "event_id_2"
every { root.type } returns VoiceBroadcastConstants.STATE_ROOM_VOICE_BROADCAST_INFO
every { root.isRedacted() } returns false
every { root.originServerTs } returns 2L
},
) )
every { fakeSession.getRoom(A_ROOM_ID)?.timelineService()?.getTimelineEventsRelatedTo(any(), any()) } returns aListOfTimelineEvents every { fakeSession.getRoom(A_ROOM_ID)?.timelineService()?.getTimelineEventsRelatedTo(any(), any()) } returns aListOfTimelineEvents
@ -87,19 +72,9 @@ internal class GetVoiceBroadcastStateEventUseCaseTest {
fun `given there are several related events related to the given vb, when execute, then return the most recent one which is not redacted`() { fun `given there are several related events related to the given vb, when execute, then return the most recent one which is not redacted`() {
// Given // Given
val aVoiceBroadcast = VoiceBroadcast(A_VOICE_BROADCAST_ID, A_ROOM_ID) val aVoiceBroadcast = VoiceBroadcast(A_VOICE_BROADCAST_ID, A_ROOM_ID)
val aListOfTimelineEvents = listOf<TimelineEvent>( val aListOfTimelineEvents = listOf(
mockk(relaxed = true) { givenAVoiceBroadcastEvent(eventId = "event_id_1", isRedacted = false, timestamp = 1L),
every { root.eventId } returns "event_id_1" givenAVoiceBroadcastEvent(eventId = "event_id_2", isRedacted = true, timestamp = 2L),
every { root.type } returns VoiceBroadcastConstants.STATE_ROOM_VOICE_BROADCAST_INFO
every { root.isRedacted() } returns false
every { root.originServerTs } returns 1L
},
mockk(relaxed = true) {
every { root.eventId } returns "event_id_2"
every { root.type } returns VoiceBroadcastConstants.STATE_ROOM_VOICE_BROADCAST_INFO
every { root.isRedacted() } returns true
every { root.originServerTs } returns 2L
},
) )
every { fakeSession.getRoom(A_ROOM_ID)?.timelineService()?.getTimelineEventsRelatedTo(any(), any()) } returns aListOfTimelineEvents every { fakeSession.getRoom(A_ROOM_ID)?.timelineService()?.getTimelineEventsRelatedTo(any(), any()) } returns aListOfTimelineEvents
@ -110,4 +85,15 @@ internal class GetVoiceBroadcastStateEventUseCaseTest {
result.shouldNotBeNull() result.shouldNotBeNull()
result.root.eventId shouldBeEqualTo "event_id_1" result.root.eventId shouldBeEqualTo "event_id_1"
} }
private fun givenAVoiceBroadcastEvent(
eventId: String,
isRedacted: Boolean,
timestamp: Long,
) = mockk<TimelineEvent>(relaxed = true) {
every { root.eventId } returns eventId
every { root.type } returns VoiceBroadcastConstants.STATE_ROOM_VOICE_BROADCAST_INFO
every { root.isRedacted() } returns isRedacted
every { root.originServerTs } returns timestamp
}
} }