update template tests
This commit is contained in:
@@ -6,46 +6,47 @@
|
||||
//
|
||||
|
||||
@testable import ElementX
|
||||
import XCTest
|
||||
import Testing
|
||||
|
||||
@Suite
|
||||
@MainActor
|
||||
class TemplateScreenViewModelTests: XCTestCase {
|
||||
var viewModel: TemplateScreenViewModelProtocol!
|
||||
struct TemplateScreenViewModelTests {
|
||||
var viewModel: TemplateScreenViewModelProtocol
|
||||
|
||||
var context: TemplateScreenViewModelType.Context {
|
||||
viewModel.context
|
||||
}
|
||||
|
||||
override func setUpWithError() throws {
|
||||
init() {
|
||||
viewModel = TemplateScreenViewModel()
|
||||
}
|
||||
|
||||
func testInitialState() {
|
||||
XCTAssertFalse(context.composerText.isEmpty)
|
||||
XCTAssertEqual(context.viewState.counter, 0)
|
||||
#expect(!context.composerText.isEmpty)
|
||||
#expect(context.viewState.counter == 0)
|
||||
}
|
||||
|
||||
func testTextField() {
|
||||
context.composerText = "123"
|
||||
context.send(viewAction: .textChanged)
|
||||
XCTAssertEqual(context.composerText, "123")
|
||||
#expect(context.composerText == "123")
|
||||
}
|
||||
|
||||
func testCounter() async throws {
|
||||
var deferred = deferFulfillment(context.observe(\.viewState.counter)) { $0 == 1 }
|
||||
context.send(viewAction: .incrementCounter)
|
||||
try await deferred.fulfill()
|
||||
XCTAssertEqual(context.viewState.counter, 1)
|
||||
#expect(context.viewState.counter == 1)
|
||||
|
||||
deferred = deferFulfillment(context.observe(\.viewState.counter)) { $0 == 3 }
|
||||
context.send(viewAction: .incrementCounter)
|
||||
context.send(viewAction: .incrementCounter)
|
||||
try await deferred.fulfill()
|
||||
XCTAssertEqual(context.viewState.counter, 3)
|
||||
#expect(context.viewState.counter == 3)
|
||||
|
||||
deferred = deferFulfillment(context.observe(\.viewState.counter)) { $0 == 2 }
|
||||
context.send(viewAction: .decrementCounter)
|
||||
try await deferred.fulfill()
|
||||
XCTAssertEqual(context.viewState.counter, 2)
|
||||
#expect(context.viewState.counter == 2)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user