Use Russian transport

This commit is contained in:
qananasikq
2026-08-18 13:10:47 +03:00
parent 8196fe50d2
commit e6c6732ed8
4 changed files with 223 additions and 35 deletions
+81
View File
@@ -434,6 +434,87 @@ class TestMobileDeMapper(unittest.TestCase):
self.assertEqual(record.drive, "FWD")
def test_russian_search_values_map_to_english_contract(self) -> None:
record = self.mapper.listing_to_car_record(
MobileDeListing(
id="2001",
url="https://suchen.mobile.de/fahrzeuge/details.html?id=2001&lang=en",
title="Audi e-tron quattro",
raw={
"make": {"localized": "Audi"},
"model": {"localized": "e-tron"},
"price": {"grs": {"amount": 29700}},
"hasDamage": "false",
"isNew": "false",
"attr": {
"fr": "05/2021",
"ml": "59 000 км",
"ecol": "Черный Металлик",
"tr": "Автоматическая",
"c": "Внедорожник/Пикап",
},
},
)
)
self.assertEqual(record.brand, "Audi")
self.assertEqual(record.model, "e-tron")
self.assertEqual(record.year, 2021)
self.assertEqual(record.price, 29700)
self.assertEqual(record.mileage, 59000)
self.assertEqual(record.color, "black")
self.assertEqual(record.gearbox, "AT")
self.assertEqual(record.drive, "4WD")
self.assertEqual(record.body_type, "SUV")
self.assertFalse(record.is_damaged)
self.assertFalse(record.new_car)
def test_russian_detail_values_and_exact_gallery_map_to_english_contract(self) -> None:
first = "img.classistatic.de/api/v1/mo-prod/images/a1/a1111111-1111-4111-8111-111111111111"
second = "img.classistatic.de/api/v1/mo-prod/images/b2/b2222222-2222-4222-8222-222222222222"
unrelated = "img.classistatic.de/api/v1/mo-prod/images/c3/c3333333-3333-4333-8333-333333333333"
record = self.mapper.detail_to_car_record(
"2002",
{
"shortTitle": "Porsche Macan",
"subTitle": "GTS",
"make": {"localized": "Porsche"},
"model": {"localized": "Macan"},
"price": {"grs": {"amount": 59900, "currency": "EUR"}},
"isConditionNew": "false",
"attributes": [
{"tag": "firstRegistration", "value": "04/2022"},
{"tag": "mileage", "value": "149 300 км"},
{"tag": "color", "value": "Синий Металлик"},
{"tag": "transmission", "value": "Автоматическая"},
{"tag": "category", "value": "Внедорожник/Пикап"},
{"tag": "cubicCapacity", "value": "2 894 ccm"},
{"tag": "numberOfPreviousOwners", "value": "1"},
{"tag": "damageCondition", "value": "Подержанный, Устраненные повреждения после ДТП"},
],
"images": [{"uri": first}, {"uri": second}],
"links": {"preview": unrelated},
},
)
self.assertEqual(record.year, 2022)
self.assertEqual(record.mileage, 149300)
self.assertEqual(record.color, "blue")
self.assertEqual(record.gearbox, "AT")
self.assertEqual(record.body_type, "SUV")
self.assertEqual(record.engine_volume, 2894)
self.assertTrue(record.one_owner)
self.assertTrue(record.is_damaged)
self.assertFalse(record.new_car)
self.assertEqual(len(record.images), 2)
self.assertEqual(
[image.fullres_image for image in record.images],
[
f"https://{first}?rule=mo-1600",
f"https://{second}?rule=mo-1600",
],
)
if __name__ == "__main__":
unittest.main()