Files
UUVPN/iOS-SwiftUI-Code/GRDB.swift-6.29.3/Tests/GRDBTests/RecordPersistenceConflictPolicy.swift

30 lines
998 B
Swift

import XCTest
import GRDB
class RecordWithoutPersistenceConflictPolicy : Record {
}
class RecordWithPersistenceConflictPolicy : Record {
override class var persistenceConflictPolicy: PersistenceConflictPolicy {
PersistenceConflictPolicy(insert: .fail, update: .ignore)
}
}
class RecordPersistenceConflictPolicyTests: GRDBTestCase {
func testDefaultPersistenceConflictPolicy() {
let record = RecordWithoutPersistenceConflictPolicy()
let policy = type(of: record).persistenceConflictPolicy
XCTAssertEqual(policy.conflictResolutionForInsert, .abort)
XCTAssertEqual(policy.conflictResolutionForUpdate, .abort)
}
func testConfigurablePersistenceConflictPolicy() {
let record = RecordWithPersistenceConflictPolicy()
let policy = type(of: record).persistenceConflictPolicy
XCTAssertEqual(policy.conflictResolutionForInsert, .fail)
XCTAssertEqual(policy.conflictResolutionForUpdate, .ignore)
}
}