fix parsing db and tests
This commit is contained in:
@@ -58,8 +58,8 @@ class TestPersistenceServiceIntegration(unittest.TestCase):
|
||||
|
||||
same = self._record("777", price=1000, content_hash="same")
|
||||
updated_same = self.persistence.upsert_car(same)
|
||||
self.assertEqual(updated_same["action"], "updated")
|
||||
self.assertEqual(updated_same["images_upserted"], 1)
|
||||
self.assertEqual(updated_same["action"], "skipped")
|
||||
self.assertEqual(updated_same["images_upserted"], 0)
|
||||
|
||||
changed = self._record("777", price=1500, content_hash="changed")
|
||||
updated = self.persistence.upsert_car(changed)
|
||||
@@ -74,6 +74,36 @@ class TestPersistenceServiceIntegration(unittest.TestCase):
|
||||
self.assertEqual(cars[0].price, 1500)
|
||||
self.assertEqual(len(images), 1)
|
||||
|
||||
def test_update_replaces_old_images(self) -> None:
|
||||
first = self._record("888", content_hash="v1")
|
||||
self.persistence.upsert_car(first)
|
||||
|
||||
second = self._record("888", content_hash="v2")
|
||||
second.images = [
|
||||
ImageRecord(
|
||||
fullres_image="https://vis.iaai.com/resizer?imageKeys=2&width=845&height=633",
|
||||
preview_image="https://vis.iaai.com/resizer?imageKeys=2&width=400&height=300",
|
||||
order_index=0,
|
||||
)
|
||||
]
|
||||
self.persistence.upsert_car(second)
|
||||
|
||||
with self.persistence.session_scope() as session:
|
||||
images = session.execute(select(Image)).scalars().all()
|
||||
|
||||
self.assertEqual(len(images), 1)
|
||||
self.assertIn("imageKeys=2", images[0].fullres_image)
|
||||
|
||||
def test_same_content_hash_is_skipped(self) -> None:
|
||||
first = self._record("999", content_hash="same-hash")
|
||||
self.persistence.upsert_car(first)
|
||||
|
||||
second = self._record("999", content_hash="same-hash")
|
||||
result = self.persistence.upsert_car(second)
|
||||
|
||||
self.assertEqual(result["action"], "skipped")
|
||||
self.assertEqual(result["images_upserted"], 0)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user