Skip to content

Commit

Permalink
Merge pull request #70 from JoaquimLey/stream/episode_15
Browse files Browse the repository at this point in the history
Stream Episode 15
  • Loading branch information
JoaquimLey authored Oct 3, 2018
2 parents e03d365 + 4a06fdf commit da22a3a
Show file tree
Hide file tree
Showing 8 changed files with 421 additions and 43 deletions.
2 changes: 2 additions & 0 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ Since I'm always working on some side-projects, I decided to document the develo

- Ep.14: https://github.com/JoaquimLey/transport-eta/pull/65

- Ep.15: https://github.com/JoaquimLey/transport-eta/pull/70


## About the author
Hi, my name is **Joaquim Ley**, I'm a Software Engineer (Android).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,38 +1,37 @@
package com.joaquimley.data

import com.joaquimley.data.mapper.TransportMapper
import com.joaquimley.data.store.TransportDataStore
import com.joaquimley.transporteta.domain.model.Transport
import com.joaquimley.transporteta.domain.repository.TransportRepository
import io.reactivex.Completable
import io.reactivex.Flowable
import io.reactivex.Observable

class TransportRepositoryImpl: TransportRepository {
class TransportRepositoryImpl(private val transportDataStore: TransportDataStore,
private val mapper: TransportMapper): TransportRepository {

override fun requestTransportEta(transportCode: Int): Observable<Transport> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
return transportDataStore.requestTransportEta(transportCode).map{ mapper.toModel(it)}
}

override fun cancelTransportEtaRequest(transportCode: Int?): Completable {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}

override fun getTransport(transportId: String): Observable<Transport> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
return transportDataStore.cancelTransportEtaRequest(transportCode)
}

override fun saveTransport(transport: Transport): Completable {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
return transportDataStore.saveTransport(mapper.toEntity(transport))
}

override fun saveTransport(transportList: List<Transport>): Completable {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
override fun deleteTransport(transportId: String): Completable {
return transportDataStore.deleteTransport(transportId)
}

override fun deleteTransport(transport: Transport): Completable {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
override fun getTransport(transportId: String): Observable<Transport> {
return transportDataStore.getTransport(transportId).map { mapper.toModel(it) }
}

override fun deleteTransports(transport: List<Transport>): Completable {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
override fun getAll(): Flowable<List<Transport>> {
return transportDataStore.getAll().map { mapper.toModel(it) }
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,14 @@ interface TransportDataStore {

fun clearAllFavorites(): Completable

fun getAll(): Flowable<List<TransportEntity>>

fun getTransport(transportId: String): Observable<TransportEntity>

fun saveTransport(transport: TransportEntity): Completable

fun saveTransport(transportList: List<TransportEntity>): Completable
fun deleteTransport(transport: String): Completable

fun deleteTransport(transport: TransportEntity): Completable
fun getTransport(transportId: String): Observable<TransportEntity>

fun getAll(): Flowable<List<TransportEntity>>

fun deleteTransport(transport: List<TransportEntity>): Completable

// TODO Should these be in the [SmSController] instead? [RequestEtaUseCase]
fun requestTransportEta(transportCode: Int): Observable<TransportEntity>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import com.joaquimley.data.mapper.TransportMapper
import com.joaquimley.data.model.TransportEntity
import com.joaquimley.data.store.TransportDataStore
import com.joaquimley.transporteta.domain.model.Transport
import com.joaquimley.transporteta.domain.repository.FavoritesRepository
import com.nhaarman.mockitokotlin2.*
import io.reactivex.Completable
import io.reactivex.Flowable
Expand All @@ -20,7 +21,7 @@ class FavoritesRepositoryTest {
private val mockTransportDataStore = mock<TransportDataStore>()
private val mockMapper = mock<TransportMapper>()

private lateinit var favoritesRepository: FavoritesRepositoryImpl
private lateinit var favoritesRepository: FavoritesRepository


@Before
Expand Down Expand Up @@ -214,7 +215,6 @@ class FavoritesRepositoryTest {

// endregion clearAll


inner class Robot {

fun stubDataStoreMarkAsFavoriteSuccess(transportEntity: TransportEntity = TransportFactory.makeTransportEntity(false), completable: Completable = Completable.complete()): TransportEntity {
Expand Down Expand Up @@ -275,7 +275,5 @@ class FavoritesRepositoryTest {
fun stubTransportMapperToModel(transportEntity: TransportEntity, transport: Transport) {
whenever(mockMapper.toModel(transportEntity)).then { transport }
}


}
}
Loading

0 comments on commit da22a3a

Please sign in to comment.