Verified sessions

This commit is contained in:
Aleksandrs Proskurins
2022-10-11 09:42:07 +03:00
parent 120367e2bd
commit e80c8f35fd
8 changed files with 60 additions and 9 deletions
@@ -19,19 +19,22 @@ import Foundation
enum OtherUserSessionsFilter: Identifiable, Equatable, CaseIterable {
var id: Self { self }
case all
case inactive
case verified
case unverified
case inactive
}
extension OtherUserSessionsFilter {
var menuLocalizedName: String {
switch self {
case .all:
return "All sessions"
case .inactive:
return "Inactive"
return VectorL10n.userOtherSessionFilterMenuAll
case .verified:
return VectorL10n.userOtherSessionFilterMenuVerified
case .unverified:
return "Unverified"
return VectorL10n.userOtherSessionFilterMenuUnverified
case .inactive:
return VectorL10n.userOtherSessionFilterMenuInactive
}
}
}
@@ -21,7 +21,7 @@ class UserOtherSessionsUITests: MockScreenTestCase {
func test_whenOtherSessionsWithInactiveSessionFilterPresented_correctHeaderDisplayed() {
app.goToScreenWithIdentifier(MockUserOtherSessionsScreenState.inactiveSessions.title)
XCTAssertTrue(app.staticTexts[VectorL10n.userSessionsOverviewSecurityRecommendationsInactiveTitle].exists)
XCTAssertTrue(app.staticTexts[VectorL10n.userOtherSessionFilterMenuInactive].exists)
XCTAssertTrue(app.staticTexts[VectorL10n.userSessionsOverviewSecurityRecommendationsInactiveInfo].exists)
}
@@ -34,7 +34,7 @@ class UserOtherSessionsUITests: MockScreenTestCase {
func test_whenOtherSessionsWithUnverifiedSessionFilterPresented_correctHeaderDisplayed() {
app.goToScreenWithIdentifier(MockUserOtherSessionsScreenState.unverifiedSessions.title)
XCTAssertTrue(app.staticTexts[VectorL10n.userSessionsOverviewSecurityRecommendationsUnverifiedTitle].exists)
XCTAssertTrue(app.staticTexts[VectorL10n.userSessionUnverifiedShort].exists)
XCTAssertTrue(app.staticTexts[VectorL10n.userOtherSessionUnverifiedSessionsHeaderSubtitle].exists)
}
@@ -71,6 +71,8 @@ class UserOtherSessionsViewModel: UserOtherSessionsViewModelType, UserOtherSessi
return sessionInfos.filter { !$0.isActive }
case .unverified:
return sessionInfos.filter { !$0.isVerified }
case .verified:
return sessionInfos.filter { $0.isVerified }
}
}
@@ -81,13 +83,17 @@ class UserOtherSessionsViewModel: UserOtherSessionsViewModelType, UserOtherSessi
subtitle: VectorL10n.userSessionsOverviewOtherSessionsSectionInfo,
iconName: nil)
case .inactive:
return UserOtherSessionsHeaderViewData(title: VectorL10n.userSessionsOverviewSecurityRecommendationsInactiveTitle,
return UserOtherSessionsHeaderViewData(title: VectorL10n.userOtherSessionFilterMenuInactive,
subtitle: VectorL10n.userSessionsOverviewSecurityRecommendationsInactiveInfo,
iconName: Asset.Images.userOtherSessionsInactive.name)
case .unverified:
return UserOtherSessionsHeaderViewData(title: VectorL10n.userSessionsOverviewSecurityRecommendationsUnverifiedTitle,
return UserOtherSessionsHeaderViewData(title: VectorL10n.userSessionUnverifiedShort,
subtitle: VectorL10n.userOtherSessionUnverifiedSessionsHeaderSubtitle,
iconName: Asset.Images.userOtherSessionsUnverified.name)
case .verified:
return UserOtherSessionsHeaderViewData(title: VectorL10n.userOtherSessionFilterMenuVerified,
subtitle: VectorL10n.userOtherSessionVerifiedSessionsHeaderSubtitle,
iconName: Asset.Images.userOtherSessionsVerified.name)
}
}
}