Ejemplo n.º 1
0
def test_compare_with_customized_rules(mocker, get_job_items):
    mocked_save_result = mocker.patch("arche.Arche.save_result", autospec=True)
    mocked_coverage = mocker.patch(
        "arche.rules.category_coverage.compare_coverage_per_category", autospec=True
    )
    mocked_price_url = mocker.patch(
        "arche.rules.price.compare_prices_for_same_urls", autospec=True
    )
    mocked_name_url = mocker.patch(
        "arche.rules.price.compare_names_for_same_urls", autospec=True
    )
    mocked_price_name = mocker.patch(
        "arche.rules.price.compare_prices_for_same_names", autospec=True
    )

    source_items = get_job_items_mock(mocker)
    target_items = get_job_items_mock(mocker)
    arche = Arche("source")
    arche.compare_with_customized_rules(source_items, target_items, {})

    mocked_coverage.assert_called_once_with(
        source_items.key, target_items.key, source_items.df, target_items.df, {}
    )
    mocked_price_url.assert_called_once_with(source_items.df, target_items.df, {})
    mocked_name_url.assert_called_once_with(source_items.df, target_items.df, {})
    mocked_price_name.assert_called_once_with(source_items.df, target_items.df, {})

    assert mocked_save_result.call_count == 4
Ejemplo n.º 2
0
def test_compare_with_customized_rules_none_target(mocker, get_job_items):
    mocked_coverage = mocker.patch("arche.rules.category.get_difference",
                                   autospec=True)
    arche = Arche("key")
    assert not arche.compare_with_customized_rules(
        source_items=get_job_items, target_items=None, tagged_fields={})
    mocked_coverage.assert_not_called()