fix: add joins param for model_transaction_query()

This commit is contained in:
Lance Edgar 2026-02-27 09:57:53 -06:00
parent d95a230848
commit 10875bf880
2 changed files with 97 additions and 4 deletions

View file

@ -24,7 +24,7 @@ class TestRenderOperationType(TestCase):
class TestModelTransactionQuery(VersionTestCase):
def test_basic(self):
def test_inner_join(self):
model = self.app.model
user = model.User(username="fred")
@ -38,3 +38,26 @@ class TestModelTransactionQuery(VersionTestCase):
UserVersion = continuum.version_class(model.User)
version = self.session.query(UserVersion).one()
self.assertIs(version.transaction, txn)
def test_outer_joins(self):
model = self.app.model
person = model.Person(full_name="Fred Flintstone")
self.session.add(person)
user = model.User(username="fred", person=person)
self.session.add(user)
self.session.commit()
query = mod.model_transaction_query(
user, joins=[(model.Person, "uuid", "person_uuid")]
)
self.assertEqual(query.count(), 1)
txn = query.one()
vercls_user = continuum.version_class(model.User)
version = self.session.query(vercls_user).one()
self.assertIs(version.transaction, txn)
vercls_person = continuum.version_class(model.Person)
version = self.session.query(vercls_person).one()
self.assertIs(version.transaction, txn)