30 lines
998 B
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)
|
|
}
|
|
|
|
}
|