This commit is contained in:
csj
2026-09-13 10:52:50 +08:00
parent e1fdb816ab
commit b17e3246f0
5 changed files with 381 additions and 133 deletions
+29
View File
@@ -0,0 +1,29 @@
import Foundation
@main
struct AdminPolicyEditorTests {
@MainActor static func main() {
let store = AdminStore()
let travel = AdminExpensePolicy(type: "交通差旅", description: "原说明", tips: "提示", requiredKinds: [], materials: [], active: true)
var accommodation = AdminExpensePolicy(type: "住宿费用", description: "未保存的说明", tips: "提示", requiredKinds: [], materials: [], active: true)
accommodation.tips = "未保存的提示"
accommodation.active = false
store.policies = [travel, accommodation]
var saved = travel
saved.description = "已保存的说明"
store.mergeSavedPolicy(saved)
precondition(store.policies.count == 2)
precondition(store.policies[0] == saved)
precondition(store.policies[1] == accommodation)
var edited = saved
edited.active = false
precondition(edited != saved)
edited = saved
edited.materials = [AdminExpenseMaterial(kind: "invoice", name: "发票", hint: "提示", required: true, allowImage: true, allowPDF: true, active: true, sortOrder: 0)]
precondition(edited != saved)
store.policies = [accommodation]
store.mergeSavedPolicy(saved)
precondition(store.policies == [accommodation])
print("Policy editor state tests passed")
}
}