(self, autoflush, saveuser, user_address_fixture)
| 1267 | @testing.combinations(True, False, argnames="autoflush") |
| 1268 | @testing.combinations(True, False, argnames="saveuser") |
| 1269 | def test_backref(self, autoflush, saveuser, user_address_fixture): |
| 1270 | User, Address = user_address_fixture( |
| 1271 | addresses_args={"backref": "user"} |
| 1272 | ) |
| 1273 | sess = fixture_session( |
| 1274 | autoflush=autoflush, |
| 1275 | ) |
| 1276 | |
| 1277 | u = User(name="buffy") |
| 1278 | |
| 1279 | a = Address(email_address="foo@bar.com") |
| 1280 | a.user = u |
| 1281 | |
| 1282 | if saveuser: |
| 1283 | sess.add(u) |
| 1284 | else: |
| 1285 | sess.add(a) |
| 1286 | |
| 1287 | if not autoflush: |
| 1288 | sess.flush() |
| 1289 | |
| 1290 | assert u in sess |
| 1291 | assert a in sess |
| 1292 | |
| 1293 | eq_(self._list_collection(u.addresses), [a]) |
| 1294 | |
| 1295 | a.user = None |
| 1296 | if not autoflush: |
| 1297 | eq_(self._list_collection(u.addresses), [a]) |
| 1298 | |
| 1299 | if not autoflush: |
| 1300 | sess.flush() |
| 1301 | eq_(self._list_collection(u.addresses), []) |
| 1302 | |
| 1303 | def test_backref_events(self, user_address_fixture): |
| 1304 | User, Address = user_address_fixture( |
nothing calls this directly
no test coverage detected