from finn_eiendom.search import extract_ad_links, extract_search_cards from tests.fixtures import SAMPLE_FINN_SEARCH_HTML, SAMPLE_FINN_SEARCH_HTML_NEW def test_extract_search_cards(): cards = extract_search_cards(SAMPLE_FINN_SEARCH_HTML) assert len(cards) == 2 assert cards[0].finnkode == "462400360" assert cards[0].url.endswith("finnkode=462400360") assert cards[0].area_m2 == 77 assert cards[0].total_price == 7200991 assert cards[0].common_costs == 3500 assert cards[1].bedrooms == 2 def test_extract_search_cards_new_format(): cards = extract_search_cards(SAMPLE_FINN_SEARCH_HTML_NEW) assert len(cards) == 1 assert cards[0].finnkode == "462880791" assert cards[0].url.endswith("finnkode=462880791") assert cards[0].address == "Lofotgata 4B, Oslo" assert cards[0].area_m2 == 62 assert cards[0].total_price == 7253377 assert cards[0].common_costs == 7067 assert cards[0].bedrooms == 2 def test_extract_ad_links(): links = extract_ad_links(SAMPLE_FINN_SEARCH_HTML) assert len(links) == 2 assert "finnkode=462400360" in links[0] assert "finnkode=460784945" in links[1] def test_extract_ad_links_new_format(): links = extract_ad_links(SAMPLE_FINN_SEARCH_HTML_NEW) assert len(links) == 1 assert "finnkode=462880791" in links[0]