30 lines
1.3 KiB
Swift
30 lines
1.3 KiB
Swift
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")
|
|
}
|
|
}
|