Skip to content

Commit 9e48d22

Browse files
committed
Reduced the "dead update" spots. Added a test for willUpdate
1 parent e6911ed commit 9e48d22

File tree

1 file changed

+27
-16
lines changed

1 file changed

+27
-16
lines changed

Tests/FluentTests/CallbackTests.swift

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@ class CallbacksTests: XCTestCase {
66
/// Dummy Model implementation for testing.
77
final class DummyModel: Entity {
88
var exists: Bool = false
9-
static var entity: String {
10-
return "dummy_models"
11-
}
12-
var wasModified: Bool = false
9+
var wasModifiedOnCreate: Bool = false
10+
var wasModifiedOnUpdate: Bool = false
1311

1412
static func prepare(_ database: Database) throws {}
1513
static func revert(_ database: Database) throws {}
@@ -29,12 +27,17 @@ class CallbacksTests: XCTestCase {
2927
}
3028

3129
func willCreate() {
32-
wasModified = true
30+
wasModifiedOnCreate = true
31+
}
32+
33+
func willUpdate() {
34+
wasModifiedOnUpdate = true
3335
}
3436
}
3537

3638
static let allTests = [
37-
("testCallbacksCanMutateProperties", testCallbacksCanMutateProperties)
39+
("testCreateCallbacksCanMutateProperties", testCreateCallbacksCanMutateProperties),
40+
("testUpdateCallbacksCanMutateProperties", testUpdateCallbacksCanMutateProperties)
3841
]
3942

4043
override func setUp() {
@@ -44,15 +47,23 @@ class CallbacksTests: XCTestCase {
4447

4548
var database: Database!
4649

47-
func testCallbacksCanMutateProperties() {
48-
do {
49-
var result = DummyModel()
50-
XCTAssertFalse(result.wasModified, "Result should not have been modified yet")
51-
52-
try result.save()
53-
XCTAssertTrue(result.wasModified, "Result should have been modified by now")
54-
} catch {
55-
XCTFail("Save should not have failed")
56-
}
50+
func testCreateCallbacksCanMutateProperties() {
51+
var result = DummyModel()
52+
XCTAssertFalse(result.wasModifiedOnCreate, "Result should not have been modified yet")
53+
54+
try? result.save()
55+
XCTAssertTrue(result.wasModifiedOnCreate, "Result should have been modified by now")
56+
}
57+
58+
func testUpdateCallbacksCanMutateProperties() {
59+
var result = DummyModel()
60+
XCTAssertFalse(result.wasModifiedOnUpdate, "Result should not have been modified yet")
61+
62+
try? result.save()
63+
XCTAssertFalse(result.wasModifiedOnUpdate, "Result should not have been modified yet")
64+
65+
// Save the object once more to trigger the update callback
66+
try? result.save()
67+
XCTAssertTrue(result.wasModifiedOnUpdate, "Result should have been modified by now")
5768
}
5869
}

0 commit comments

Comments
 (0)