def test_get_commodities_for_local_sivs(measures,
                                        expected_local_sivs_commodities_only):
    AgreementFactory(country_name='Espana',
                     slug='spain',
                     country_codes=['1011'])
    application = Application(country_profile='spain')
    for measure_properties in measures:
        measure = get_mfn_siv_product(
            measure_properties.pop('goods_nomenclature_item_id'),
            geographical_area_id='1011',
            measure_type_id='142',
            measure_quota_number='99999',
            **measure_properties)
        CurrentMeasureFactory(
            measure_sid=measure.measure_sid,
            geographical_area_id=measure.geographical_area_id,
            measure_type_id=measure.measure_type_id,
            validity_start_date=measure.validity_start_date,
            validity_end_date=measure.validity_end_date,
            ordernumber=measure.quota_order_number_id,
            goods_nomenclature_item_id=measure.goods_nomenclature_item_id,
            reduction_indicator=measure.reduction_indicator,
        )

    document = Document(application)
    actual_local_sivs, actual_local_sivs_commodities_only = document.get_commodities_for_local_sivs(
    )
    assert actual_local_sivs_commodities_only == expected_local_sivs_commodities_only
    assert len(actual_local_sivs) == len(expected_local_sivs_commodities_only)
    for local_siv in actual_local_sivs:
        assert local_siv.goods_nomenclature_item_id in expected_local_sivs_commodities_only
def test_get_quota_measures():
    measure = get_mfn_siv_product(1,
                                  geographical_area_id='1011',
                                  measure_type_id='143')
    current_measure = CurrentMeasureFactory(
        measure_sid=measure.measure_sid,
        geographical_area_id=measure.geographical_area_id,
        measure_type_id=measure.measure_type_id,
        validity_start_date=measure.validity_start_date,
        validity_end_date=measure.validity_end_date,
        ordernumber=measure.quota_order_number_id,
        goods_nomenclature_item_id=measure.goods_nomenclature_item_id,
        reduction_indicator=measure.reduction_indicator,
    )
    AgreementFactory(country_name='Espana',
                     slug='spain',
                     country_codes=['1011'])
    application = Application(country_profile='spain')
    document = Document(application)
    document.get_quota_measures()
    actual_measure_list = document.measure_list
    assert len(actual_measure_list) == 1, 'Not the correct things to assert'
    actual_measure = actual_measure_list[0]
    assert actual_measure.commodity_code == str(
        current_measure.goods_nomenclature_item_id)
    assert actual_measure.measure_sid == current_measure.measure_sid
    assert actual_measure.quota_order_number_id == str(
        current_measure.ordernumber)
    assert actual_measure.validity_start_date == current_measure.validity_start_date
    assert actual_measure.validity_end_date == current_measure.validity_end_date
    assert actual_measure.geographical_area_id == current_measure.geographical_area_id
    assert actual_measure.reduction_indicator == current_measure.reduction_indicator
def test_get_quota_order_numbers(quota_order_numbers, has_quotas, expected_q):
    AgreementFactory(country_name='Espana',
                     slug='spain',
                     country_codes=['1011'])
    application = Application(country_profile='spain')
    ignored_measure = get_mfn_siv_product(1,
                                          geographical_area_id='1011',
                                          measure_type_id='142',
                                          measure_quota_number='99999')
    CurrentMeasureFactory(
        measure_sid=ignored_measure.measure_sid,
        geographical_area_id=ignored_measure.geographical_area_id,
        measure_type_id=ignored_measure.measure_type_id,
        validity_start_date=ignored_measure.validity_start_date,
        validity_end_date=ignored_measure.validity_end_date,
        ordernumber=ignored_measure.quota_order_number_id,
        goods_nomenclature_item_id=ignored_measure.goods_nomenclature_item_id,
        reduction_indicator=ignored_measure.reduction_indicator,
    )

    for quota_order_number in quota_order_numbers:
        measure = get_mfn_siv_product(1,
                                      geographical_area_id='1011',
                                      measure_type_id='143',
                                      measure_quota_number=quota_order_number)
        CurrentMeasureFactory(
            measure_sid=measure.measure_sid,
            geographical_area_id=measure.geographical_area_id,
            measure_type_id=measure.measure_type_id,
            validity_start_date=measure.validity_start_date,
            validity_end_date=measure.validity_end_date,
            ordernumber=measure.quota_order_number_id,
            goods_nomenclature_item_id=measure.goods_nomenclature_item_id,
            reduction_indicator=measure.reduction_indicator,
        )
    document = Document(application)
    document.get_quota_order_numbers()
    assert document.has_quotas is has_quotas
    assert document.q == expected_q
    assert len(document.quota_order_number_list) == len(expected_q)
    for qon in document.quota_order_number_list:
        assert qon.quota_order_number_id in expected_q
def test_get_measure_conditions():
    duty_amount = 200
    measure = get_mfn_siv_product(1, duty_amount=duty_amount)
    AgreementFactory(country_name='Espana',
                     slug='spain',
                     country_codes=['1011'])
    application = Application(country_profile='spain')
    document = Document(application)
    actual_result = document.get_measure_conditions("'103'")
    assert len(actual_result) == 1

    assert measure.measure_sid in actual_result
    actual_measure_condition = actual_result[measure.measure_sid]
    assert actual_measure_condition.condition_duty_amount == duty_amount
    assert actual_measure_condition.measure_sid == measure.measure_sid
    assert actual_measure_condition.measure_condition_sid == 0
    assert actual_measure_condition.component_sequence_number == 1
    assert actual_measure_condition.condition_code == 'V'
def test__get_duties():
    measure = get_mfn_siv_product(1,
                                  geographical_area_id='1011',
                                  measure_type_id='143')
    current_measure = CurrentMeasureFactory(
        measure_sid=measure.measure_sid,
        geographical_area_id=measure.geographical_area_id,
        measure_type_id=measure.measure_type_id,
        validity_start_date=measure.validity_start_date,
        validity_end_date=measure.validity_end_date,
        ordernumber=measure.quota_order_number_id,
        goods_nomenclature_item_id=measure.goods_nomenclature_item_id,
        reduction_indicator=measure.reduction_indicator,
    )
    AgreementFactory(country_name='Espana',
                     slug='spain',
                     country_codes=['1011'])
    application = Application(country_profile='spain')

    GoodsNomenclatureFactory(
        goods_nomenclature_item_id=current_measure.goods_nomenclature_item_id)
    document = Document(application)
    actual_duties = list(document._get_duties("'143', '146'"))
    assert len(actual_duties) == 1
    actual_duty = actual_duties[0]

    expected_duty = {
        'additional_code_id': None,
        'additional_code_type_id': None,
        'duty_amount': None,
        'duty_expression_id': None,
        'geographical_area_id': '1011',
        'goods_nomenclature_item_id': '1',
        'measure_sid': current_measure.measure_sid,
        'measure_type_id': '143',
        'measurement_unit_code': None,
        'measurement_unit_qualifier_code': None,
        'monetary_unit_code': None,
        'ordernumber': '10',
        'reduction_indicator': 5,
        'validity_end_date': datetime(2019, 4, 2, 1, 0, tzinfo=timezone.utc),
        'validity_start_date': datetime(2019, 5, 1, 1, 0, tzinfo=timezone.utc)
    }
    assert actual_duty == expected_duty
def test_get_duties(instrument_type, measure_type_id, expected_duty_list,
                    expected_measure_list, expected_commodity_list,
                    expected_quota_order_number_list):
    measure = get_mfn_siv_product(1,
                                  geographical_area_id='1011',
                                  measure_type_id=measure_type_id)
    current_measure = CurrentMeasureFactory(
        measure_sid=measure.measure_sid,
        geographical_area_id=measure.geographical_area_id,
        measure_type_id=measure.measure_type_id,
        validity_start_date=measure.validity_start_date,
        validity_end_date=measure.validity_end_date,
        ordernumber=measure.quota_order_number_id,
        goods_nomenclature_item_id=measure.goods_nomenclature_item_id,
        reduction_indicator=measure.reduction_indicator,
    )
    GoodsNomenclatureFactory(
        goods_nomenclature_item_id=current_measure.goods_nomenclature_item_id)
    AgreementFactory(country_name='Espana',
                     slug='spain',
                     country_codes=['1011'])
    application = Application(country_profile='spain')
    document = Document(application)
    document.get_duties(instrument_type)

    assert len(document.duty_list) == len(expected_duty_list)
    if document.duty_list:
        assert_object(document.duty_list[0], expected_duty_list[0])

    assert len(document.measure_list) == len(expected_measure_list)
    if document.measure_list:
        assert_object(document.measure_list[0], expected_measure_list[0])

    assert len(document.commodity_list) == len(expected_commodity_list)
    if document.commodity_list:
        assert_object(document.commodity_list[0], expected_commodity_list[0])

    assert len(document.quota_order_number_list) == len(
        expected_quota_order_number_list)
    if document.quota_order_number_list:
        assert_object(document.quota_order_number_list[0],
                      expected_quota_order_number_list[0])
Beispiel #7
0
def test_get_authorised_use_commodities():
    measure = get_mfn_siv_product(1,
                                  geographical_area_id='1011',
                                  measure_type_id='105')
    current_measure = CurrentMeasureFactory(
        measure_sid=measure.measure_sid,
        geographical_area_id=measure.geographical_area_id,
        measure_type_id=measure.measure_type_id,
        validity_start_date=measure.validity_start_date,
        validity_end_date=measure.validity_end_date,
        ordernumber=measure.quota_order_number_id,
        goods_nomenclature_item_id=measure.goods_nomenclature_item_id,
        reduction_indicator=measure.reduction_indicator,
    )

    application = Application(SCHEDULE)
    actual_authorised_use_commodities = application.get_authorised_use_commodities(
    )
    assert len(actual_authorised_use_commodities) == 3
    for cucumber_commodity in CUCUMBER_COMMODITY_CODES:
        assert cucumber_commodity in actual_authorised_use_commodities
    assert str(current_measure.goods_nomenclature_item_id
               ) in actual_authorised_use_commodities