update template tests

This commit is contained in:
Mauro Romito
2026-02-23 17:28:29 +01:00
committed by Mauro
parent 1594a5048b
commit bc2ecc23c7

View File

@@ -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)
}
}