[iOS] Create public space #143

- Update after design review
This commit is contained in:
Gil Eluard
2021-12-09 09:04:21 +01:00
parent 939baf9321
commit 2a9ade5c39
16 changed files with 29 additions and 21 deletions
@@ -17,6 +17,7 @@
//
import Foundation
import UIKit
struct SpaceCreationPostProcessViewState: BindableState {
var avatar: AvatarInput
@@ -18,6 +18,7 @@
import Foundation
import Combine
import UIKit
@available(iOS 14.0, *)
class MockSpaceCreationPostProcessService: SpaceCreationPostProcessServiceProtocol {
@@ -18,6 +18,7 @@
import Foundation
import Combine
import UIKit
@available(iOS 14.0, *)
protocol SpaceCreationPostProcessServiceProtocol: AnyObject {
@@ -29,13 +29,13 @@ class SpaceCreationPostProcessViewModelTests: XCTestCase {
var context: SpaceCreationPostProcessViewModelType.Context!
override func setUpWithError() throws {
service = MockSpaceCreationPostProcessService(tasks: Constant.defaultTasks)
service = MockSpaceCreationPostProcessService(tasks: MockSpaceCreationPostProcessService.defaultTasks)
viewModel = SpaceCreationPostProcessViewModel.makeSpaceCreationPostProcessViewModel(spaceCreationPostProcessService: service)
context = viewModel.context
}
func testInitialState() {
XCTAssertEqual(context.viewState.tasks, Constant.defaultTasks)
XCTAssertEqual(context.viewState.tasks, MockSpaceCreationPostProcessService.defaultTasks)
XCTAssertEqual(context.viewState.errorCount, 1)
XCTAssertEqual(context.viewState.isFinished, false)
}
@@ -43,8 +43,8 @@ class SpaceCreationPostProcessViewModelTests: XCTestCase {
func testUpateToNextTask() {
let tasksPublisher = context.$viewState.map(\.tasks).removeDuplicates()
let awaitDeferred = xcAwaitDeferred(tasksPublisher)
service.simulateUpdate(tasks: Constant.nextStepTasks)
XCTAssertEqual(try awaitDeferred(), Constant.nextStepTasks)
service.simulateUpdate(tasks: MockSpaceCreationPostProcessService.nextStepTasks)
XCTAssertEqual(try awaitDeferred(), MockSpaceCreationPostProcessService.nextStepTasks)
XCTAssertEqual(context.viewState.errorCount, 2)
XCTAssertEqual(context.viewState.isFinished, false)
}
@@ -52,8 +52,8 @@ class SpaceCreationPostProcessViewModelTests: XCTestCase {
func testLastTaskDone() {
let tasksPublisher = context.$viewState.map(\.tasks).removeDuplicates()
let awaitDeferred = xcAwaitDeferred(tasksPublisher)
service.simulateUpdate(tasks: Constant.lastTaskDone)
XCTAssertEqual(try awaitDeferred(), Constant.lastTaskDone)
service.simulateUpdate(tasks: MockSpaceCreationPostProcessService.lastTaskDoneWithError)
XCTAssertEqual(try awaitDeferred(), MockSpaceCreationPostProcessService.lastTaskDoneWithError)
XCTAssertEqual(context.viewState.errorCount, 2)
XCTAssertEqual(context.viewState.isFinished, true)
}
@@ -41,7 +41,7 @@ struct SpaceCreationPostProcess: View {
buttonsPanel
}
.animation(.easeIn(duration: 0.2), value: viewModel.viewState.errorCount)
.padding(EdgeInsets(top: 24, leading: 16, bottom: 24, trailing: 16))
.padding(EdgeInsets(top: 0, leading: 16, bottom: 24, trailing: 16))
.navigationBarHidden(true)
.background(theme.colors.background)
.frame(maxHeight: .infinity)