mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-20 16:42:44 +02:00
Moved isCurrentSession into UserSessionInfo
This commit is contained in:
+1
-3
@@ -19,7 +19,6 @@ import SwiftUI
|
||||
|
||||
struct UserSessionOverviewCoordinatorParameters {
|
||||
let session: UserSessionInfo
|
||||
let isCurrentSession: Bool
|
||||
}
|
||||
|
||||
final class UserSessionOverviewCoordinator: Coordinator, Presentable {
|
||||
@@ -41,8 +40,7 @@ final class UserSessionOverviewCoordinator: Coordinator, Presentable {
|
||||
init(parameters: UserSessionOverviewCoordinatorParameters) {
|
||||
self.parameters = parameters
|
||||
|
||||
viewModel = UserSessionOverviewViewModel(session: parameters.session,
|
||||
isCurrentSession: parameters.isCurrentSession)
|
||||
viewModel = UserSessionOverviewViewModel(session: parameters.session)
|
||||
|
||||
hostingController = VectorHostingController(rootView: UserSessionOverview(viewModel: viewModel.context))
|
||||
|
||||
|
||||
+17
-15
@@ -30,34 +30,36 @@ enum MockUserSessionOverviewScreenState: MockScreenState, CaseIterable {
|
||||
var screenType: Any.Type {
|
||||
UserSessionOverview.self
|
||||
}
|
||||
|
||||
|
||||
/// A list of screen state definitions
|
||||
static var allCases: [MockUserSessionOverviewScreenState] {
|
||||
[.currentSession, .otherSession]
|
||||
}
|
||||
|
||||
|
||||
/// Generate the view struct for the screen state.
|
||||
var screenView: ([Any], AnyView) {
|
||||
let viewModel: UserSessionOverviewViewModel
|
||||
switch self {
|
||||
case .currentSession:
|
||||
let session = UserSessionInfo(sessionId: "session",
|
||||
sessionName: "iOS",
|
||||
deviceType: .mobile,
|
||||
isVerified: false,
|
||||
lastSeenIP: "10.0.0.10",
|
||||
lastSeenTimestamp: Date().timeIntervalSince1970 - 100)
|
||||
viewModel = UserSessionOverviewViewModel(session: session, isCurrentSession: true)
|
||||
sessionName: "iOS",
|
||||
deviceType: .mobile,
|
||||
isVerified: false,
|
||||
lastSeenIP: "10.0.0.10",
|
||||
lastSeenTimestamp: Date().timeIntervalSince1970 - 100,
|
||||
isCurrentSession: true)
|
||||
viewModel = UserSessionOverviewViewModel(session: session)
|
||||
case .otherSession:
|
||||
let session = UserSessionInfo(sessionId: "session",
|
||||
sessionName: "Mac",
|
||||
deviceType: .desktop,
|
||||
isVerified: true,
|
||||
lastSeenIP: "10.0.0.10",
|
||||
lastSeenTimestamp: Date().timeIntervalSince1970 - 100)
|
||||
viewModel = UserSessionOverviewViewModel(session: session, isCurrentSession: false)
|
||||
sessionName: "Mac",
|
||||
deviceType: .desktop,
|
||||
isVerified: true,
|
||||
lastSeenIP: "10.0.0.10",
|
||||
lastSeenTimestamp: Date().timeIntervalSince1970 - 100,
|
||||
isCurrentSession: false)
|
||||
viewModel = UserSessionOverviewViewModel(session: session)
|
||||
}
|
||||
|
||||
|
||||
// can simulate service and viewModel actions here if needs be.
|
||||
return ([viewModel], AnyView(UserSessionOverview(viewModel: viewModel.context)))
|
||||
}
|
||||
|
||||
+4
-3
@@ -23,7 +23,7 @@ class UserSessionOverviewViewModelTests: XCTestCase {
|
||||
var sut: UserSessionOverviewViewModel!
|
||||
|
||||
func test_whenVerifyCurrentSessionProcessed_completionWithVerifyCurrentSessionCalled() {
|
||||
sut = UserSessionOverviewViewModel(session: createUserSessionInfo(), isCurrentSession: true)
|
||||
sut = UserSessionOverviewViewModel(session: createUserSessionInfo())
|
||||
|
||||
var modelResult: UserSessionOverviewViewModelResult?
|
||||
sut.completion = { result in
|
||||
@@ -35,7 +35,7 @@ class UserSessionOverviewViewModelTests: XCTestCase {
|
||||
|
||||
func test_whenViewSessionDetailsProcessed_completionWithShowSessionDetailsCalled() {
|
||||
let session = createUserSessionInfo()
|
||||
sut = UserSessionOverviewViewModel(session: session, isCurrentSession: true)
|
||||
sut = UserSessionOverviewViewModel(session: session)
|
||||
|
||||
var modelResult: UserSessionOverviewViewModelResult?
|
||||
sut.completion = { result in
|
||||
@@ -51,6 +51,7 @@ class UserSessionOverviewViewModelTests: XCTestCase {
|
||||
deviceType: .mobile,
|
||||
isVerified: false,
|
||||
lastSeenIP: "10.0.0.10",
|
||||
lastSeenTimestamp: Date().timeIntervalSince1970 - 100)
|
||||
lastSeenTimestamp: Date().timeIntervalSince1970 - 100,
|
||||
isCurrentSession: true)
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -23,11 +23,11 @@ class UserSessionOverviewViewModel: UserSessionOverviewViewModelType, UserSessio
|
||||
|
||||
var completion: ((UserSessionOverviewViewModelResult) -> Void)?
|
||||
|
||||
init(session: UserSessionInfo, isCurrentSession: Bool) {
|
||||
init(session: UserSessionInfo) {
|
||||
self.session = session
|
||||
|
||||
let cardViewData = UserSessionCardViewData(session: session, isCurrentSessionDisplayMode: isCurrentSession)
|
||||
let state = UserSessionOverviewViewState(cardViewData: cardViewData, isCurrentSession: isCurrentSession)
|
||||
let cardViewData = UserSessionCardViewData(session: session)
|
||||
let state = UserSessionOverviewViewState(cardViewData: cardViewData, isCurrentSession: session.isCurrentSession)
|
||||
super.init(initialViewState: state)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user