Show own location in map views (#7375)

* show own location on static sharing

* show own location on live sharing

* add tests and changelog

* check location authorisation, fix center to current user location button

* it moves request to LocationManager in proper service

* add static location viewer service
This commit is contained in:
Flescio
2023-02-20 18:07:03 +01:00
committed by GitHub
parent d15131e9ba
commit 95501bfdde
21 changed files with 267 additions and 36 deletions
@@ -15,6 +15,7 @@
//
import Combine
import CoreLocation
import XCTest
@testable import RiotSwiftUI
@@ -30,4 +31,17 @@ class LiveLocationSharingViewerViewModelTests: XCTestCase {
viewModel = LiveLocationSharingViewerViewModel(mapStyleURL: BuildSettings.defaultTileServerMapStyleURL, service: service)
context = viewModel.context
}
func testIsUserBeingShared() {
XCTAssertTrue(context.viewState.isCurrentUserShared)
}
func testToggleShowUserLocation() {
let service = MockLiveLocationSharingViewerService(currentUserSharingLocation: false)
let viewModel = LiveLocationSharingViewerViewModel(mapStyleURL: BuildSettings.defaultTileServerMapStyleURL, service: service)
XCTAssertFalse(viewModel.context.viewState.isCurrentUserShared)
XCTAssertFalse(viewModel.context.viewState.showsUserLocation)
viewModel.context.send(viewAction: .showUserLocation)
XCTAssertTrue(viewModel.context.viewState.showsUserLocation)
}
}