mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 16:10:20 +00:00
Update the "remove avatar" logic in edit room details (#1032)
* Refactor remove avatar logic * Add test
This commit is contained in:
@@ -66,11 +66,8 @@ class RoomDetailsEditScreenViewModel: RoomDetailsEditScreenViewModelType, RoomDe
|
|||||||
case .displayMediaPicker:
|
case .displayMediaPicker:
|
||||||
actionsSubject.send(.displayMediaPicker)
|
actionsSubject.send(.displayMediaPicker)
|
||||||
case .removeImage:
|
case .removeImage:
|
||||||
if state.localMedia != nil {
|
|
||||||
state.localMedia = nil
|
|
||||||
} else {
|
|
||||||
state.avatarURL = nil
|
state.avatarURL = nil
|
||||||
}
|
state.localMedia = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -108,6 +108,14 @@ class RoomDetailsEditScreenViewModelTests: XCTestCase {
|
|||||||
XCTAssertNotNil(userIndicatorController.alertInfo)
|
XCTAssertNotNil(userIndicatorController.alertInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testDeleteAvatar() {
|
||||||
|
setupViewModel(accountOwner: .mockOwner(allowedStateEvents: [.roomAvatar, .roomName, .roomTopic]),
|
||||||
|
roomProxyConfiguration: .init(name: "Some room", displayName: "Some room", avatarURL: .picturesDirectory))
|
||||||
|
XCTAssertNotNil(context.viewState.avatarURL)
|
||||||
|
context.send(viewAction: .removeImage)
|
||||||
|
XCTAssertNil(context.viewState.avatarURL)
|
||||||
|
}
|
||||||
|
|
||||||
// MARK: - Private
|
// MARK: - Private
|
||||||
|
|
||||||
private func setupViewModel(accountOwner: RoomMemberProxyMock, roomProxyConfiguration: RoomProxyMockConfiguration) {
|
private func setupViewModel(accountOwner: RoomMemberProxyMock, roomProxyConfiguration: RoomProxyMockConfiguration) {
|
||||||
|
|||||||
Reference in New Issue
Block a user