11package net.squanchy.service.firebase
22
33import com.google.common.truth.Truth.assertThat
4+ import net.squanchy.A_DATE
5+ import net.squanchy.A_TIMEZONE
46import net.squanchy.eventdetails.domain.view.ExperienceLevel
57import net.squanchy.schedule.domain.view.Event
68import net.squanchy.support.checksum.Checksum
7- import org.joda.time.DateTimeZone
8- import org.joda.time.LocalDateTime
99import org.junit.Before
1010import org.junit.Rule
1111import org.junit.Test
1212import org.mockito.Mock
1313import org.mockito.Mockito.`when`
1414import org.mockito.junit.MockitoJUnit
1515import org.mockito.junit.MockitoRule
16- import java.util.Date
1716
1817private const val A_VALUE = " whatever"
1918private const val A_CHECKSUM = 1000L
@@ -30,113 +29,136 @@ class FirestoreEventMapperTest {
3029 @Mock
3130 private lateinit var checksum: Checksum
3231
33- private lateinit var timeZone: DateTimeZone
34-
3532 @Before
3633 fun before () {
3734 `when `(checksum.getChecksumOf(A_VALUE )).thenReturn(A_CHECKSUM )
38- timeZone = DateTimeZone .UTC
3935 }
4036
4137 @Test
4238 fun `event id should match when mapped` () {
4339 val firestoreEvent = aFirestoreEvent(id = A_VALUE )
44- val event = firestoreEvent.toEvent(checksum, timeZone )
45- assertThat(A_VALUE ).isEqualTo(event.id )
40+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
41+ assertThat(event.id ).isEqualTo(A_VALUE )
4642 }
4743
4844 @Test
4945 fun `event start date should match when mapped` () {
50- val date = Date (1518471471 )
51- val firestoreEvent = aFirestoreEvent(startTime = date)
52- val event = firestoreEvent.toEvent(checksum, timeZone)
53- assertThat(LocalDateTime (date)).isEqualTo(event.startTime)
46+ val firestoreEvent = aFirestoreEvent(startTime = A_DATE .toDate())
47+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
48+ assertThat(event.startTime).isEqualTo(A_DATE .toDateTime(A_TIMEZONE ).toLocalDateTime())
5449 }
5550
5651 @Test
5752 fun `event end date should match when mapped` () {
58- val date = Date (1518471471 )
59- val firestoreEvent = aFirestoreEvent(endTime = date)
60- val event = firestoreEvent.toEvent(checksum, timeZone)
61- assertThat(LocalDateTime (date)).isEqualTo(event.endTime)
53+ val firestoreEvent = aFirestoreEvent(endTime = A_DATE .toDate())
54+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
55+ assertThat(event.endTime).isEqualTo(A_DATE .toDateTime(A_TIMEZONE ).toLocalDateTime())
6256 }
6357
6458 @Test
6559 fun `event title should match when mapped` () {
6660 val firestoreEvent = aFirestoreEvent(title = A_VALUE )
67- val event = firestoreEvent.toEvent(checksum, timeZone )
68- assertThat(A_VALUE ).isEqualTo(event.title )
61+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
62+ assertThat(event.title ).isEqualTo(A_VALUE )
6963 }
7064
7165 @Test
7266 fun `event place should match when mapped` () {
7367 val firestorePlace = aFirestorePlace()
7468 val firestoreEvent = aFirestoreEvent(place = firestorePlace)
75- val event = firestoreEvent.toEvent(checksum, timeZone )
69+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
7670 assertThat(firestorePlace.toPlace()).isEqualTo(event.place.get())
7771 }
7872
7973 @Test
8074 fun `event place should be absent when mapping null` () {
8175 val firestoreEvent = aFirestoreEvent(place = null )
82- val event = firestoreEvent.toEvent(checksum, timeZone )
76+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
8377 assertThat(event.place.isPresent).isFalse()
8478 }
8579
8680 @Test
8781 fun `event track should match when mapped` () {
8882 val firestoreTrack = aFirestoreTrack()
8983 val firestoreEvent = aFirestoreEvent(track = firestoreTrack)
90- val event = firestoreEvent.toEvent(checksum, timeZone )
84+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
9185 assertThat(firestoreTrack.toTrack(checksum)).isEqualTo(event.track.get())
9286 }
9387
9488 @Test
9589 fun `event track should be absent when mapping null` () {
9690 val firestoreEvent = aFirestoreEvent(track = null )
97- val event = firestoreEvent.toEvent(checksum, timeZone )
91+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
9892 assertThat(event.track.isPresent).isFalse()
9993 }
10094
10195 @Test
10296 fun `event experience level should match when mapped` () {
10397 val firestoreEvent = aFirestoreEvent(experienceLevel = FAKE_EXPERIENCE_LEVEL )
104- val event = firestoreEvent.toEvent(checksum, timeZone )
98+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
10599 assertThat(ExperienceLevel .tryParsingFrom(FAKE_EXPERIENCE_LEVEL )).isEqualTo(event.experienceLevel)
106100 }
107101
108102 @Test
109103 fun `event experience level should be absent when mapping null` () {
110104 val firestoreEvent = aFirestoreEvent(experienceLevel = null )
111- val event = firestoreEvent.toEvent(checksum, timeZone )
105+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
112106 assertThat(event.experienceLevel.isPresent).isFalse()
113107 }
114108
115109 @Test
116110 fun `event timezone should match the parameter when mapped` () {
117111 val firestoreEvent = aFirestoreEvent()
118- val event = firestoreEvent.toEvent(checksum, timeZone )
119- assertThat(event.timeZone).isEqualTo(timeZone )
112+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
113+ assertThat(event.timeZone).isEqualTo(A_TIMEZONE )
120114 }
121115
122116 @Test
123117 fun `event description should match when mapped` () {
124118 val firestoreEvent = aFirestoreEvent(description = A_VALUE )
125- val event = firestoreEvent.toEvent(checksum, timeZone )
126- assertThat(A_VALUE ).isEqualTo( event.description.get())
119+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
120+ assertThat(event.description.get()).isEqualTo( A_VALUE )
127121 }
128122
129123 @Test
130124 fun `event description should be absent when mapping null` () {
131125 val firestoreEvent = aFirestoreEvent(description = null )
132- val event = firestoreEvent.toEvent(checksum, timeZone )
126+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
133127 assertThat(event.description.isPresent).isFalse()
134128 }
135129
136130 @Test
137131 fun `event type should match when mapped` () {
138132 val firestoreEvent = aFirestoreEvent(type = FAKE_TYPE )
139- val event = firestoreEvent.toEvent(checksum, timeZone )
133+ val event = firestoreEvent.toEvent(checksum, A_TIMEZONE )
140134 assertThat(Event .Type .fromRawType(FAKE_TYPE )).isEqualTo(event.type)
141135 }
136+
137+ @Test
138+ fun `place floor should match when mapped` () {
139+ val firestorePlace = aFirestorePlace()
140+ val place = firestorePlace.toPlace()
141+ assertThat(place.floor.get()).isEqualTo(firestorePlace.floor)
142+ }
143+
144+ @Test
145+ fun `place floor should be absent when mapping null` () {
146+ val firestorePlace = aFirestorePlace(floor = null )
147+ val place = firestorePlace.toPlace()
148+ assertThat(place.floor.isPresent).isFalse()
149+ }
150+
151+ @Test
152+ fun `place id should match when mapped` () {
153+ val firestorePlace = aFirestorePlace()
154+ val place = firestorePlace.toPlace()
155+ assertThat(place.id).isEqualTo(firestorePlace.id)
156+ }
157+
158+ @Test
159+ fun `place name should match when mapped` () {
160+ val firestorePlace = aFirestorePlace()
161+ val place = firestorePlace.toPlace()
162+ assertThat(place.name).isEqualTo(firestorePlace.name)
163+ }
142164}
0 commit comments