Skip to content
This repository was archived by the owner on Feb 17, 2020. It is now read-only.

Commit 9b5214a

Browse files
committed
Fix FirestoreScheduleServiceTest
1 parent 6bc5490 commit 9b5214a

1 file changed

Lines changed: 53 additions & 53 deletions

File tree

app/src/test/java/net/squanchy/schedule/FirestoreScheduleServiceTest.kt

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package net.squanchy.schedule
33
import io.reactivex.Observable
44
import io.reactivex.schedulers.Schedulers
55
import io.reactivex.subjects.BehaviorSubject
6+
import net.squanchy.A_DATE
7+
import net.squanchy.A_TIMEZONE
68
import net.squanchy.schedule.domain.view.Track
79
import net.squanchy.schedule.domain.view.aSchedule
810
import net.squanchy.schedule.domain.view.aSchedulePage
@@ -19,28 +21,21 @@ import net.squanchy.service.firebase.aFirestoreTrack
1921
import net.squanchy.service.firebase.model.schedule.FirestoreFavorite
2022
import net.squanchy.support.checksum.Checksum
2123
import net.squanchy.support.lang.Optional
22-
import org.joda.time.LocalDate
23-
import org.joda.time.LocalDateTime
2424
import org.junit.Before
2525
import org.junit.Rule
2626
import org.junit.Test
2727
import org.mockito.Mock
2828
import org.mockito.Mockito.`when`
2929
import org.mockito.junit.MockitoJUnit
3030
import org.mockito.junit.MockitoRule
31-
import java.util.Calendar
32-
import java.util.Date
33-
import java.util.TimeZone
3431

3532
class FirestoreScheduleServiceTest {
3633

3734
companion object {
38-
private val CALENDAR = Calendar.getInstance(TimeZone.getTimeZone("Europe/Rome"))
39-
40-
private val A_START_TIME = Date(123456)
41-
private val AN_END_TIME = Date(123999)
42-
private val A_LATER_START_TIME = Date(124000)
43-
private val A_LATER_END_TIME = Date(124999)
35+
private val A_START_TIME = A_DATE
36+
private val AN_END_TIME = A_START_TIME.plusMinutes(1)
37+
private val A_LATER_START_TIME = A_START_TIME.plusMinutes(10)
38+
private val A_LATER_END_TIME = A_LATER_START_TIME.plusMinutes(1)
4439
}
4540

4641
@Rule
@@ -64,14 +59,14 @@ class FirestoreScheduleServiceTest {
6459
@Before
6560
fun init() {
6661
scheduleService = FirestoreScheduleService(authService, dbService, tracksFilter, checksum)
67-
`when`(dbService.timezone()).thenReturn(Observable.just(aSchedule().timeZone))
62+
`when`(dbService.timezone()).thenReturn(Observable.just(A_TIMEZONE))
6863
`when`(checksum.getChecksumOf(aFirestoreSpeaker().id)).thenReturn(5466)
6964
}
7065

7166
@Test
7267
fun `should sort schedule pages by date`() {
73-
val firstDaySchedulePage = aFirestoreSchedulePage(day = aFirestoreDay(id = "1", date = A_START_TIME.dateOnly()))
74-
val secondDaySchedulePage = aFirestoreSchedulePage(day = aFirestoreDay(id = "2", date = A_START_TIME.plusOneDay().dateOnly()))
68+
val firstDaySchedulePage = aFirestoreSchedulePage(day = aFirestoreDay(id = "1", date = A_START_TIME.toDate()))
69+
val secondDaySchedulePage = aFirestoreSchedulePage(day = aFirestoreDay(id = "2", date = A_START_TIME.plusDays(1).toDate()))
7570
`when`(dbService.scheduleView()).thenReturn(Observable.just(listOf(firstDaySchedulePage, secondDaySchedulePage)))
7671
val allowedTracks = setOf(aTrack())
7772
`when`(tracksFilter.selectedTracks).thenReturn(BehaviorSubject.createDefault(allowedTracks))
@@ -82,8 +77,8 @@ class FirestoreScheduleServiceTest {
8277
.assertValue(
8378
aSchedule(
8479
pages = listOf(
85-
aSchedulePage(dayId = "1", date = LocalDate(A_START_TIME.dateOnly())),
86-
aSchedulePage(dayId = "2", date = LocalDate(A_START_TIME.plusOneDay().dateOnly()))
80+
aSchedulePage(dayId = "1", date = A_START_TIME.toDateTime(A_TIMEZONE).toLocalDate()),
81+
aSchedulePage(dayId = "2", date = A_START_TIME.plusDays(1).toDateTime(A_TIMEZONE).toLocalDate())
8782
)
8883
)
8984
)
@@ -92,19 +87,31 @@ class FirestoreScheduleServiceTest {
9287
@Test
9388
fun `should sort events in each schedule page by start time`() {
9489
val firstDaySchedulePage = aFirestoreSchedulePage(
95-
day = aFirestoreDay(id = "1", date = A_START_TIME.dateOnly()),
90+
day = aFirestoreDay(id = "1", date = A_START_TIME.toDate()),
9691
events = listOf(
97-
aFirestoreEvent(id = "1", startTime = A_START_TIME, endTime = AN_END_TIME),
98-
aFirestoreEvent(id = "2", startTime = A_LATER_START_TIME, endTime = A_LATER_END_TIME),
99-
aFirestoreEvent(id = "3", startTime = A_START_TIME, endTime = AN_END_TIME)
92+
aFirestoreEvent(id = "1", startTime = A_START_TIME.toDate(), endTime = AN_END_TIME.toDate()),
93+
aFirestoreEvent(id = "2", startTime = A_LATER_START_TIME.toDate(), endTime = A_LATER_END_TIME.toDate()),
94+
aFirestoreEvent(id = "3", startTime = A_START_TIME.toDate(), endTime = AN_END_TIME.toDate())
10095
)
10196
)
10297
val secondDaySchedulePage = aFirestoreSchedulePage(
103-
day = aFirestoreDay(id = "2", date = A_START_TIME.plusOneDay().dateOnly()),
98+
day = aFirestoreDay(id = "2", date = A_START_TIME.plusDays(1).toDate()),
10499
events = listOf(
105-
aFirestoreEvent(id = "4", startTime = A_START_TIME.plusOneDay(), endTime = AN_END_TIME.plusOneDay()),
106-
aFirestoreEvent(id = "6", startTime = A_LATER_START_TIME.plusOneDay(), endTime = A_LATER_END_TIME.plusOneDay()),
107-
aFirestoreEvent(id = "5", startTime = A_START_TIME.plusOneDay(), endTime = AN_END_TIME.plusOneDay())
100+
aFirestoreEvent(
101+
id = "4",
102+
startTime = A_START_TIME.plusDays(1).toDate(),
103+
endTime = AN_END_TIME.plusDays(1).toDate()
104+
),
105+
aFirestoreEvent(
106+
id = "6",
107+
startTime = A_LATER_START_TIME.plusDays(1).toDate(),
108+
endTime = A_LATER_END_TIME.plusDays(1).toDate()
109+
),
110+
aFirestoreEvent(
111+
id = "5",
112+
startTime = A_START_TIME.plusDays(1).toDate(),
113+
endTime = AN_END_TIME.plusDays(1).toDate()
114+
)
108115
)
109116
)
110117
`when`(dbService.scheduleView()).thenReturn(Observable.just(listOf(firstDaySchedulePage, secondDaySchedulePage)))
@@ -124,39 +131,49 @@ class FirestoreScheduleServiceTest {
124131
pages = listOf(
125132
aSchedulePage(
126133
dayId = "1",
127-
date = LocalDate(A_START_TIME.dateOnly()),
134+
date = A_START_TIME.toDateTime(A_TIMEZONE).toLocalDate(),
128135
events = listOf(
129-
anEvent(id = "1", numericId = 1, startTime = A_START_TIME.toLocalDateTime(), endTime = AN_END_TIME.toLocalDateTime()),
130-
anEvent(id = "3", numericId = 3, startTime = A_START_TIME.toLocalDateTime(), endTime = AN_END_TIME.toLocalDateTime()),
136+
anEvent(
137+
id = "1",
138+
numericId = 1,
139+
startTime = A_START_TIME.toDateTime(A_TIMEZONE).toLocalDateTime(),
140+
endTime = AN_END_TIME.toDateTime(A_TIMEZONE).toLocalDateTime()
141+
),
142+
anEvent(
143+
id = "3",
144+
numericId = 3,
145+
startTime = A_START_TIME.toDateTime(A_TIMEZONE).toLocalDateTime(),
146+
endTime = AN_END_TIME.toDateTime(A_TIMEZONE).toLocalDateTime()
147+
),
131148
anEvent(
132149
id = "2",
133150
numericId = 2,
134-
startTime = A_LATER_START_TIME.toLocalDateTime(),
135-
endTime = A_LATER_END_TIME.toLocalDateTime()
151+
startTime = A_LATER_START_TIME.toDateTime(A_TIMEZONE).toLocalDateTime(),
152+
endTime = A_LATER_END_TIME.toDateTime(A_TIMEZONE).toLocalDateTime()
136153
)
137154
)
138155
),
139156
aSchedulePage(
140157
dayId = "2",
141-
date = LocalDate(A_START_TIME.plusOneDay().dateOnly()),
158+
date = A_START_TIME.plusDays(1).toDateTime(A_TIMEZONE).toLocalDate(),
142159
events = listOf(
143160
anEvent(
144161
id = "4",
145162
numericId = 4,
146-
startTime = A_START_TIME.plusOneDay().toLocalDateTime(),
147-
endTime = AN_END_TIME.plusOneDay().toLocalDateTime()
163+
startTime = A_START_TIME.plusDays(1).toDateTime(A_TIMEZONE).toLocalDateTime(),
164+
endTime = AN_END_TIME.plusDays(1).toDateTime(A_TIMEZONE).toLocalDateTime()
148165
),
149166
anEvent(
150167
id = "5",
151168
numericId = 5,
152-
startTime = A_START_TIME.plusOneDay().toLocalDateTime(),
153-
endTime = AN_END_TIME.plusOneDay().toLocalDateTime()
169+
startTime = A_START_TIME.plusDays(1).toDateTime(A_TIMEZONE).toLocalDateTime(),
170+
endTime = AN_END_TIME.plusDays(1).toDateTime(A_TIMEZONE).toLocalDateTime()
154171
),
155172
anEvent(
156173
id = "6",
157174
numericId = 6,
158-
startTime = A_LATER_START_TIME.plusOneDay().toLocalDateTime(),
159-
endTime = A_LATER_END_TIME.plusOneDay().toLocalDateTime()
175+
startTime = A_LATER_START_TIME.plusDays(1).toDateTime(A_TIMEZONE).toLocalDateTime(),
176+
endTime = A_LATER_END_TIME.plusDays(1).toDateTime(A_TIMEZONE).toLocalDateTime()
160177
)
161178
)
162179
)
@@ -366,21 +383,4 @@ class FirestoreScheduleServiceTest {
366383
)
367384
)
368385
}
369-
370-
private fun Date.plusOneDay(): Date = CALENDAR.apply {
371-
clear()
372-
time = this@plusOneDay
373-
add(Calendar.DAY_OF_YEAR, 1)
374-
}.time
375-
376-
private fun Date.dateOnly(): Date = CALENDAR.apply {
377-
clear()
378-
time = this@dateOnly
379-
set(Calendar.HOUR, 0)
380-
set(Calendar.MINUTE, 0)
381-
set(Calendar.SECOND, 0)
382-
set(Calendar.MILLISECOND, 0)
383-
}.time
384-
385-
private fun Date.toLocalDateTime() = LocalDateTime(this)
386386
}

0 commit comments

Comments
 (0)