Normalize image galleries
This commit is contained in:
@@ -101,6 +101,36 @@ class TestPersistenceServiceIntegration(unittest.TestCase):
|
||||
self.assertEqual(len(images), 1)
|
||||
self.assertIn("imageKeys=2", images[0].fullres_image)
|
||||
|
||||
def test_empty_update_preserves_existing_images(self) -> None:
|
||||
first = self._record("mobile.de:keep-images")
|
||||
self.persistence.upsert_car(first)
|
||||
|
||||
update = self._record("mobile.de:keep-images", price=1500)
|
||||
update.images = []
|
||||
result = self.persistence.upsert_car(update)
|
||||
|
||||
with self.persistence.session_scope() as session:
|
||||
images = session.execute(select(Image)).scalars().all()
|
||||
|
||||
self.assertEqual(result["action"], "updated")
|
||||
self.assertEqual(result["images_upserted"], 0)
|
||||
self.assertEqual(len(images), 1)
|
||||
|
||||
def test_batch_update_adds_images_when_existing_gallery_is_empty(self) -> None:
|
||||
first = self._record("mobile.de:add-images")
|
||||
first.images = []
|
||||
self.persistence.upsert_car(first)
|
||||
|
||||
update = self._record("mobile.de:add-images", price=1500)
|
||||
result = self.persistence.upsert_cars_batch([update])
|
||||
|
||||
with self.persistence.session_scope() as session:
|
||||
images = session.execute(select(Image)).scalars().all()
|
||||
|
||||
self.assertEqual(result["updated"], 1)
|
||||
self.assertEqual(result["images_upserted"], 1)
|
||||
self.assertEqual(len(images), 1)
|
||||
|
||||
def test_start_sync_run_marks_stale_running_runs_as_failed(self) -> None:
|
||||
first_run_id = self.persistence.start_sync_run("lane-a")
|
||||
second_run_id = self.persistence.start_sync_run("lane-b")
|
||||
|
||||
Reference in New Issue
Block a user