mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 10:33:45 +00:00
add test case for room creation
This commit is contained in:
@@ -22,14 +22,18 @@ import XCTest
|
|||||||
class CreateRoomScreenViewModelTests: XCTestCase {
|
class CreateRoomScreenViewModelTests: XCTestCase {
|
||||||
var viewModel: CreateRoomViewModelProtocol!
|
var viewModel: CreateRoomViewModelProtocol!
|
||||||
var clientProxy: MockClientProxy!
|
var clientProxy: MockClientProxy!
|
||||||
|
var userSession: MockUserSession!
|
||||||
|
|
||||||
var context: CreateRoomViewModel.Context {
|
var context: CreateRoomViewModel.Context {
|
||||||
viewModel.context
|
viewModel.context
|
||||||
}
|
}
|
||||||
|
|
||||||
override func setUpWithError() throws {
|
override func setUpWithError() throws {
|
||||||
clientProxy = .init(userID: "")
|
clientProxy = MockClientProxy(userID: "@a:b.com")
|
||||||
let viewModel = CreateRoomViewModel(selectedUsers: [.mockAlice, .mockBob, .mockCharlie])
|
userSession = MockUserSession(clientProxy: clientProxy, mediaProvider: MockMediaProvider())
|
||||||
|
let parameters = CreateRoomVolatileParameters()
|
||||||
|
parameters.selectedUsers = [.mockAlice, .mockBob, .mockCharlie]
|
||||||
|
let viewModel = CreateRoomViewModel(userSession: userSession, createRoomParameters: parameters)
|
||||||
self.viewModel = viewModel
|
self.viewModel = viewModel
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,4 +44,21 @@ class CreateRoomScreenViewModelTests: XCTestCase {
|
|||||||
context.send(viewAction: .deselectUser(.mockAlice))
|
context.send(viewAction: .deselectUser(.mockAlice))
|
||||||
XCTAssertNotEqual(context.viewState.selectedUsers.first?.userID, UserProfile.mockAlice.userID)
|
XCTAssertNotEqual(context.viewState.selectedUsers.first?.userID, UserProfile.mockAlice.userID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testDefaulSecurity() {
|
||||||
|
XCTAssertTrue(context.viewState.bindings.isRoomPrivate)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testChangeSecurity() {
|
||||||
|
context.send(viewAction: .selectPublicRoom)
|
||||||
|
XCTAssertFalse(context.viewState.bindings.isRoomPrivate)
|
||||||
|
context.send(viewAction: .selectPrivateRoom)
|
||||||
|
XCTAssertTrue(context.viewState.bindings.isRoomPrivate)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testCreateRoomRequirements() {
|
||||||
|
XCTAssertFalse(context.viewState.canCreateRoom)
|
||||||
|
context.roomName = "A"
|
||||||
|
XCTAssertTrue(context.viewState.canCreateRoom)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user