feat: update app workflows and permissions

This commit is contained in:
2026-07-09 17:34:00 +08:00
parent 43e6133c21
commit 8e356973bd
44 changed files with 2944 additions and 307 deletions

View File

@ -46,6 +46,39 @@ final class CooperationAcquirerViewModelTests: XCTestCase {
XCTAssertEqual(message, "请输入验证码")
}
func testCommissionRateDraftFiltersDigitsAndLimitsLength() {
let viewModel = CooperationAcquirerViewModel(appStore: appStore)
viewModel.updateCommissionRateDraft("a12b345")
XCTAssertEqual(viewModel.commissionRateDraft, "123")
}
func testCommissionSmsCodeDraftFiltersDigitsAndLimitsLength() {
let viewModel = CooperationAcquirerViewModel(appStore: appStore)
viewModel.updateCommissionSmsCodeDraft("1a2b345678")
XCTAssertEqual(viewModel.commissionSmsCodeDraft, "123456")
}
func testRequestCommissionSmsCodeShowsCountdownMessageWhenTimerActive() async {
let json = """
{"code":100000,"msg":"success","data":{}}
""".data(using: .utf8)!
let viewModel = CooperationAcquirerViewModel(appStore: appStore)
var message: String?
viewModel.onShowMessage = { message = $0 }
viewModel.startEditCommissionRate(CooperativeSalerEntity(saleUserId: 1, salerPhone: "13800138000"))
await viewModel.requestCommissionSmsCode(api: makeAPI(responses: [json]))
await Task.yield()
await viewModel.requestCommissionSmsCode(api: makeAPI(responses: []))
XCTAssertEqual(message, "请在倒计时结束后重新获取")
viewModel.dismissCommissionRateDialog()
}
func testProcessScanResultNavigatesWithValidQR() {
let viewModel = CooperationAcquirerViewModel(appStore: appStore)
var navigatedId: Int?