Added last activity item to session details screen

This commit is contained in:
Aleksandrs Proskurins
2022-10-12 16:21:07 +03:00
parent d44782ff3b
commit 1fb76d50b6
4 changed files with 40 additions and 9 deletions
@@ -19,6 +19,12 @@ import XCTest
@testable import RiotSwiftUI
class UserSessionDetailsViewModelTests: XCTestCase {
private static var lastSeenDateFormatter: DateFormatter = {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EE, d MMM · HH:mm"
return dateFormatter
}()
func test_whenSessionNameAndLastSeenIPNil_viewStateCorrect() {
let userSessionInfo = createUserSessionInfo(id: "session",
name: nil,
@@ -63,15 +69,18 @@ class UserSessionDetailsViewModelTests: XCTestCase {
}
func test_whenUserSessionInfoContainsAllValues_viewStateCorrect() {
let lastSeenTimestamp = Date().timeIntervalSince1970 - 1_000_000
let userSessionInfo = createUserSessionInfo(id: "session",
name: "session name",
lastSeenIP: "0.0.0.0",
lastSeenTimestamp: lastSeenTimestamp,
applicationName: "Element iOS",
applicationVersion: "1.0.0")
let sessionItems = [
sessionNameItem(sessionName: "session name"),
sessionIdItem(sessionId: "session")
sessionIdItem(sessionId: "session"),
sessionLastActivity(lastSeen: lastSeenTimestamp)
]
let appItems = [
appNameItem(appName: "Element iOS"),
@@ -106,7 +115,7 @@ class UserSessionDetailsViewModelTests: XCTestCase {
deviceType: DeviceType = .mobile,
isVerified: Bool = false,
lastSeenIP: String?,
lastSeenTimestamp: TimeInterval = Date().timeIntervalSince1970,
lastSeenTimestamp: TimeInterval? = nil,
applicationName: String? = nil,
applicationVersion: String? = nil,
applicationURL: String? = nil,
@@ -144,6 +153,11 @@ class UserSessionDetailsViewModelTests: XCTestCase {
.init(title: VectorL10n.keyVerificationManuallyVerifyDeviceIdTitle,
value: sessionId)
}
private func sessionLastActivity(lastSeen: TimeInterval) -> UserSessionDetailsSectionItemViewData {
.init(title: VectorL10n.userSessionDetailsLastActivity,
value: Self.lastSeenDateFormatter.string(from: Date(timeIntervalSince1970: lastSeen)))
}
private func appNameItem(appName: String) -> UserSessionDetailsSectionItemViewData {
.init(title: VectorL10n.userSessionDetailsApplicationName,