示例#1
0
def test_spider_parse_job_contract():
    response = TextResponse('https://example.com/example/',
                            body=Path(FIXTURES_DIR /
                                      'jobposts-contract.json').read_bytes())
    job = dobrysef.Spider().parse_job(response, response.json()[0])

    assert job['employment_types'] == ['full time', 'part time', 'contract']
示例#2
0
def test_spider_parse_job_multi_cities():
    response = TextResponse(
        'https://example.com/example/',
        body=Path(FIXTURES_DIR / 'jobposts-multi-cities.json').read_bytes())
    job = dobrysef.Spider().parse_job(response, response.json()[0])

    assert job['locations_raw'] == ['Děčín', 'Havířov']
示例#3
0
def test_spider_parse_job():
    response = TextResponse('https://example.com/example/',
                            body=Path(FIXTURES_DIR /
                                      'jobposts.json').read_bytes())
    job = dobrysef.Spider().parse_job(response, response.json()[2])

    assert sorted(job.keys()) == sorted([
        'title',
        'link',
        'company_name',
        'company_link',
        'employment_types',
        'posted_at',
        'description_html',
        'company_logo_urls',
        'remote',
        'locations_raw',
    ])
    assert job['title'] == 'Datový Architekt'
    assert job['link'] == 'https://dobrysef.cz/prace/datovy-architekt-eu6p/'
    assert job['locations_raw'] == ['Praha']
    assert job['employment_types'] == ['full time']
    assert job['company_name'] == 'Firma jen na oko'
    assert job['company_link'] == 'https://dobrysef.cz/firmy/firma-jen-na-oko/'
    assert job['remote'] is False
    assert job['posted_at'] == date(2021, 1, 30)
    assert job['company_logo_urls'] == [
        'https://dobrysef.cz/media/pub/brand/firma-jen-na-oko-logo.png'
    ]
    assert '<li>V kanceláři máme k dispozici občerstvení' in job[
        'description_html']
示例#4
0
def test_spider_parse_job_junior():
    response = TextResponse('https://example.com/example/',
                            body=Path(FIXTURES_DIR /
                                      'jobposts-junior.json').read_bytes())
    job = dobrysef.Spider().parse_job(response, response.json()[0])

    assert 'junior' in job['description_html']
示例#5
0
def test_spider_parse():
    response = TextResponse('https://example.com/example/',
                            body=Path(FIXTURES_DIR /
                                      'jobposts.json').read_bytes())
    requests = list(dobrysef.Spider().parse(response))

    assert len(requests) == 7