Skip to content

Commit 3ce534f

Browse files
committed
Adds migration unit test
1 parent f46794e commit 3ce534f

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

Storage/StorageTests/CoreData/MigrationTests.swift

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1179,6 +1179,29 @@ final class MigrationTests: XCTestCase {
11791179
XCTAssertNil(couponFetched.value(forKey: "usageLimit"))
11801180
XCTAssertEqual(try XCTUnwrap(targetContext.firstObject(ofType: Coupon.self)), coupon)
11811181
}
1182+
1183+
func test_migrating_from_68_to_69_adds_new_order_properties() throws {
1184+
// Given
1185+
let sourceContainer = try startPersistentContainer("Model 68")
1186+
let sourceContext = sourceContainer.viewContext
1187+
1188+
let _ = insertOrder(to: sourceContext)
1189+
1190+
try sourceContext.save()
1191+
1192+
// When
1193+
let targetContainer = try migrate(sourceContainer, to: "Model 69")
1194+
let targetContext = targetContainer.viewContext
1195+
1196+
// Then
1197+
XCTAssertEqual(try targetContext.count(entityName: "Order"), 1)
1198+
let migratedOrder = try XCTUnwrap(targetContext.first(entityName: "Order"))
1199+
1200+
// Checks for default values.
1201+
XCTAssertEqual(migratedOrder.value(forKey: "isEditable") as? Bool, false)
1202+
XCTAssertEqual(migratedOrder.value(forKey: "needsPayment") as? Bool, false)
1203+
XCTAssertEqual(migratedOrder.value(forKey: "needsProcessing") as? Bool, false)
1204+
}
11821205
}
11831206

11841207
// MARK: - Persistent Store Setup and Migrations

0 commit comments

Comments
 (0)