示例#1
0
def test_parse_offer_dom_ria_flat_emptiness(
        dom_ria_flat_parser: DomRiaFlatParser):
    assert None is dom_ria_flat_parser.parse_offer(
        {
            'url': 'https://dom.ria.com/uk/realty-prodaja-kvartira-'
            'zaporoje-dneprovskiy-leninskiy-12440307.html',
            'markup': read('fixtures/test_parse_offer/dom_ria_flat8.html'),
            'avatar': None,
            'area': 169,
            'living_area': None,
            'kitchen_area': None
        })
    assert None is dom_ria_flat_parser.parse_offer(
        {
            'url': 'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
            '-lvov-lyichakovskiy-begovaya-ulitsa-15431656.html',
            'markup': read('fixtures/test_parse_offer/dom_ria_flat5.html'),
            'avatar': None,
            'area': 57.2,
            'living_area': 39.2,
            'kitchen_area': 10.8
        })
    assert None is dom_ria_flat_parser.parse_offer(
        {
            'url':
            'https://dom.ria.com/uk/novostroyka-km-vyshnevyi-khutir-4972/',
            'markup': read('fixtures/test_parse_offer/dom_ria_flat1.html'),
            'avatar': None,
            'area': 26,
            'living_area': 14.6,
            'kitchen_area': 8.3
        })
示例#2
0
def test_parse_offer_dom_ria_flat_invalid(
        dom_ria_flat_parser: DomRiaFlatParser):
    assert None is dom_ria_flat_parser.parse_offer(None)  # noqa
    assert None is dom_ria_flat_parser.parse_offer({'url': 'xxx'})
示例#3
0
def test_parse_offer_dom_ria_flat(dom_ria_flat_parser: DomRiaFlatParser):
    assert dom_ria_flat_parser.parse_offer({
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'odessa-primorskiy-italyanskiy-bulvar-15546830.html',
        'markup':
        read('fixtures/test_parse_offer/dom_ria_flat0.html'),
        'avatar':
        'https://cdn.riastatic.com/photosnew/dom/photo/perevireno-prodaja'
        '-kvartira-odessa-primorskiy-italyanskiy-bulvar__97597766fl.jpg',
        'area':
        47.7,
        'living_area':
        22.0,
        'kitchen_area':
        15.0
    }) == Flat(
        url='https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-odessa-primorskiy-italyanskiy-bulvar-15546830.html',
        avatar='https://cdn.riastatic.com/photosnew/dom/photo/perevireno-'
        'prodaja-kvartira-odessa-primorskiy-italyanskiy-bulvar'
        '__97597766fl.jpg',
        published=date(2019, 4, 15),
        geolocation={'point': (30.75220862914432, 46.46768691411673)},
        price=Decimal('78000.000'),
        area=47.7,
        living_area=22.0,
        kitchen_area=15.0,
        rooms=1,
        floor=13,
        total_floor=14,
        details=[
            'Цегла', 'Індивідуальне опалення', 'Роздільне планування',
            'Авторський проект', 'Зовнішнє й внутрішнє утеплення',
            'Газ відсутній', 'Броньовані двері', 'Суміжний санвузол',
            '1 пасажирський ліфт', 'Вторинне житло'
        ])
    assert dom_ria_flat_parser.parse_offer({
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'vinnitsa-staryiy-gorod-pokryishkina-ulitsa-15223903.html',
        'markup':
        read('fixtures/test_parse_offer/dom_ria_flat2.html'),
        'avatar':
        'https://cdn.riastatic.com/photosnew/dom/photo/perevireno-'
        'prodaja-kvartira-vinnitsa-staryiy-gorod-pokryishkina-ulit'
        'sa__94899036fl.jpg',
        'area':
        52,
        'living_area':
        32,
        'kitchen_area':
        14
    }) == Flat(
        url='https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-vinnitsa-staryiy-gorod-pokryishkina-ulitsa-15223903.html',
        avatar='https://cdn.riastatic.com/photosnew/dom/photo/perevireno'
        '-prodaja-kvartira-vinnitsa-staryiy-gorod-pokryishkina-'
        'ulitsa__94899036fl.jpg',
        published=date(2019, 4, 10),
        geolocation={'address': 'Вінниця, Старе місто, Покришкіна вулиця'},
        price=Decimal('19900.000'),
        area=52,
        living_area=32,
        kitchen_area=14,
        rooms=2,
        floor=4,
        total_floor=12,
        ceiling_height=2.71,
        details=[
            'Цегла', 'Опалення відсутнє', 'Роздільне планування',
            'Потребує ремонту', 'Внутрішнє утеплення', 'Газ є',
            'Металопластикові вікна', 'Суміжний санвузол',
            '1 пасажирський ліфт', 'Вторинне житло'
        ])
    assert dom_ria_flat_parser.parse_offer({
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'odessa-primorskiy-italyanskiy-bulvar-15591101.html',
        'markup':
        read('fixtures/test_parse_offer/dom_ria_flat3.html'),
        'avatar':
        'https://cdn.riastatic.com/photosnew/dom/photo/'
        'perevireno-prodaja-kvartira-odessa-primorskiy-italyanskiy'
        '-bulvar__97910469fl.jpg',
        'area':
        65,
        'living_area':
        None,
        'kitchen_area':
        None
    }) == Flat(
        url='https://dom.ria.com/uk/realty-perevireno-prodaja-'
        'kvartira-odessa-primorskiy-italyanskiy-bulvar-15591101.html',
        avatar=
        'https://cdn.riastatic.com/photosnew/dom/photo/perevireno-prodaja-'
        'kvartira-odessa-primorskiy-italyanskiy-bulvar__97910469fl.jpg',
        published=date(2019, 4, 25),
        geolocation={'point': (30.752294459832797, 46.467716472633796)},
        price=Decimal('96000.000'),
        area=65,
        rooms=2,
        floor=12,
        total_floor=15,
        details=[
            'Цегла', 'Індивідуальне опалення', 'Роздільне планування',
            'Потребує ремонту', 'Газ відсутній', 'Броньовані двері',
            'Металопластикові вікна', 'Роздільний санвузол',
            '1 пасажирський ліфт', 'Вторинне житло'
        ])
    assert dom_ria_flat_parser.parse_offer({
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'kiev-dneprovskiy-prajskaya-ulitsa-15581555.html',
        'markup':
        read('fixtures/test_parse_offer/dom_ria_flat4.html'),
        'avatar':
        'https://cdn.riastatic.com/photosnew/dom/photo/perevireno'
        '-prodaja-kvartira-kiev-dneprovskiy-prajskaya-ulitsa'
        '__97897725fl.jpg',
        'area':
        44.9,
        'living_area':
        29.5,
        'kitchen_area':
        7.8
    }) == Flat(
        url='https://dom.ria.com/uk/realty-perevireno-prodaja-'
        'kvartira-kiev-dneprovskiy-prajskaya-ulitsa-15581555.html',
        avatar='https://cdn.riastatic.com/photosnew/dom/photo/perevireno-'
        'prodaja-kvartira-kiev-dneprovskiy-prajskaya-ulitsa'
        '__97897725fl.jpg',
        published=date(2019, 4, 22),
        geolocation={'point': (30.643568070947254, 50.43808004773596)},
        price=Decimal('45000.000'),
        area=44.9,
        living_area=29.5,
        kitchen_area=7.8,
        rooms=2,
        floor=1,
        total_floor=5,
        details=[
            'Панель', 'Централізоване опалення',
            'Суміжно-роздільне планування', 'Євроремонт', 'Зовнішнє утеплення',
            'Газ є', 'Металеві двері', 'Металопластикові вікна',
            'Суміжний санвузол', 'Вторинне житло'
        ])
    assert dom_ria_flat_parser.parse_offer({
        'url':
        'https://dom.ria.com/uk/realty-prodaja-kvartira-'
        'ochakov-ochakov-pervomayskaya-13179860.html',
        'markup':
        read('fixtures/test_parse_offer/dom_ria_flat6.html'),
        'avatar':
        'https://cdn.riastatic.com/photosnew/dom/photo/prodaja-'
        'kvartira-ochakov-ochakov-pervomayskaya__74444903fl.jpg',
        'area':
        35,
        'living_area':
        19,
        'kitchen_area':
        8
    }) == Flat(url='https://dom.ria.com/uk/realty-prodaja-kvartira-ochakov'
               '-ochakov-pervomayskaya-13179860.html',
               avatar='https://cdn.riastatic.com/photosnew/dom/photo/prodaja'
               '-kvartira-ochakov-ochakov-pervomayskaya__74444903fl.jpg',
               published=date(2019, 5, 23),
               geolocation={'point': (31.52812112850194, 46.62593951428682)},
               price=Decimal('11500.000'),
               area=35,
               living_area=19,
               kitchen_area=8,
               rooms=1,
               floor=8,
               total_floor=9,
               ceiling_height=2.7,
               details=[
                   'Цегла', 'Побудовано у 1990-2000',
                   'Централізоване опалення', 'Роздільне планування',
                   'Хороший стан', 'Газ є', 'Металопластикові вікна',
                   'Суміжний санвузол', 'Без пасажирських ліфтів',
                   'Вторинне житло'
               ])
    assert dom_ria_flat_parser.parse_offer({
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvarti'
        'ra-vinnitsa-blijnee-zamoste-vyacheslava-chernovola-'
        'ulitsa-14797413.html',
        'markup':
        read('fixtures/test_parse_offer/dom_ria_flat7.html'),
        'avatar':
        'https://cdn.riastatic.com/photosnewr/dom/photo/'
        'realty__98129585-300x200x80.webp',
        'area':
        73.5,
        'living_area':
        None,
        'kitchen_area':
        25
    }) == Flat(url='https://dom.ria.com/uk/realty-perevireno-prodaja-kvart'
               'ira-vinnitsa-blijnee-zamoste-vyacheslava-chernovola-uli'
               'tsa-14797413.html',
               avatar='https://cdn.riastatic.com/photosnewr/dom/photo'
               '/realty__98129585-300x200x80.webp',
               published=date(2019, 5, 6),
               geolocation={'point': (28.477062352423104, 49.24405425158156)},
               price=Decimal('47000.000'),
               area=73.5,
               kitchen_area=25,
               rooms=2,
               floor=6,
               total_floor=12,
               ceiling_height=2.8,
               details=[
                   'Цегла', 'Здача у 2019', 'Індивідуальне опалення',
                   'Роздільне планування', 'Чорнові роботи',
                   'Зовнішнє утеплення', 'Газ є', 'Металеві двері',
                   'Металопластикові вікна', 'Суміжний санвузол',
                   '1 пасажирський ліфт', 'Первинне житло'
               ])