Mike Bayer avatar Mike Bayer committed da19303

some extra tests for synonyms to relation()s

Comments (0)

Files changed (1)

test/orm/mapper.py

         mapper(User, users, properties = dict(
             addresses = relation(mapper(Address, addresses), lazy = True),
             uname = synonym('user_name', proxy=True),
-            adlist = synonym('addresses', proxy=True)
+            adlist = synonym('addresses', proxy=True),
+            adname = synonym('addresses')
         ))
         
         u = sess.query(User).get_by(uname='jack')
         self.assert_result(u.adlist, Address, *(user_address_result[0]['addresses'][1]))
 
+        assert hasattr(u, 'adlist')
+        assert not hasattr(u, 'adname')
+        
+        addr = sess.query(Address).get_by(address_id=user_address_result[0]['addresses'][1][0]['address_id'])
+        u = sess.query(User).get_by(adname=addr)
+        u2 = sess.query(User).get_by(adlist=addr)
+        assert u is u2
+        
         assert u not in sess.dirty
         u.uname = "some user name"
         assert u.uname == "some user name"
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.