Skip to content

Commit eded3b6

Browse files
committed
Remove xfails from rewrite tests.
1 parent 3bacf6b commit eded3b6

File tree

1 file changed

+31
-8
lines changed

1 file changed

+31
-8
lines changed

tests/test_model_sync.py

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5268,7 +5268,6 @@ def _testcase(
52685268
_testcase(1, None, 2)
52695269
_testcase(1, 0, 2)
52705270

5271-
@tb.xfail # rewritten link is not refetched
52725271
def test_model_sync_rewrite_insert_02(self):
52735272
# Insert, link with rewrite
52745273

@@ -5284,7 +5283,14 @@ def _testcase(
52845283

52855284
self.assertNotEqual(original.target, insert_target)
52865285
assert original.target is not None
5287-
self.assertEqual(original.target.n, expected_val)
5286+
self.assertFalse(hasattr(original.target, 'n'))
5287+
5288+
rewritten_target = self.client.query_required_single(
5289+
default.Target.select(n=True)
5290+
.filter(id=original.target.id)
5291+
.limit(1)
5292+
)
5293+
self.assertEqual(rewritten_target.n, expected_val)
52885294

52895295
# cleanup
52905296
self.client.query(default.SingleLink.delete())
@@ -5293,8 +5299,13 @@ def _testcase(
52935299
self.client.save(target_zero)
52945300

52955301
_testcase(None, None, None)
5296-
_testcase(1, None, 2)
5297-
_testcase(1, target_zero, 2)
5302+
5303+
# Normally we might expect the rewrite to be 1+1 because this is an
5304+
# insert. However, sync currently splits adding links to a separate
5305+
# batch query, making it an update. This is surprising, but everything
5306+
# about rewrites is surprising.
5307+
_testcase(1, None, 3)
5308+
_testcase(1, target_zero, 3)
52985309

52995310
def test_model_sync_rewrite_update_01(self):
53005311
# Update, property with rewrite
@@ -5354,7 +5365,6 @@ def _testcase(
53545365
_testcase(1, 1, 3)
53555366
_testcase(1, 9, 11)
53565367

5357-
@tb.xfail # rewritten link is not refetched
53585368
def test_model_sync_rewrite_update_03(self):
53595369
# Update, link with rewrite
53605370
# Only update the rewrite field
@@ -5383,7 +5393,14 @@ def _testcase(
53835393
self.assertNotEqual(original.target, insert_target)
53845394
self.assertNotEqual(original.target, update_target)
53855395
assert original.target is not None
5386-
self.assertEqual(original.target.n, expected_val)
5396+
self.assertFalse(hasattr(original.target, 'n'))
5397+
5398+
rewritten_target = self.client.query_required_single(
5399+
default.Target.select(n=True)
5400+
.filter(id=original.target.id)
5401+
.limit(1)
5402+
)
5403+
self.assertEqual(rewritten_target.n, expected_val)
53875404

53885405
# cleanup
53895406
self.client.query(default.SingleLink.delete())
@@ -5394,7 +5411,6 @@ def _testcase(
53945411
_testcase(1, None, 3)
53955412
_testcase(1, target_one, 3)
53965413

5397-
@tb.xfail # rewritten link is not refetched
53985414
def test_model_sync_rewrite_update_04(self):
53995415
# Update, link with rewrite
54005416
# Only update other field
@@ -5422,7 +5438,14 @@ def _testcase(
54225438

54235439
self.assertNotEqual(original.target, insert_target)
54245440
assert original.target is not None
5425-
self.assertEqual(original.target.n, expected_val)
5441+
self.assertFalse(hasattr(original.target, 'n'))
5442+
5443+
rewritten_target = self.client.query_required_single(
5444+
default.Target.select(n=True)
5445+
.filter(id=original.target.id)
5446+
.limit(1)
5447+
)
5448+
self.assertEqual(rewritten_target.n, expected_val)
54265449

54275450
# cleanup
54285451
self.client.query(default.SingleLink.delete())

0 commit comments

Comments
 (0)