Exemplo n.º 1
0
def test_suppress_if_eps_or_full_year_when_one_measure():
    commodity = QuotaCommodity(None, None)
    first_measure = get_measure()
    first_measure.suppress = False

    commodity.measure_list.extend([first_measure])
    commodity.suppress_if_eps_or_full_year(False, True)
    assert first_measure.suppress is False
Exemplo n.º 2
0
def test_check_for_restarted_measures():
    commodity = QuotaCommodity(None, None)
    first_measure = get_measure()
    first_measure.extent = 65
    second_measure = get_measure()
    second_measure.extent = 300
    commodity.measure_list.extend([first_measure, second_measure])
    assert commodity.check_for_restarted_measures() is True
Exemplo n.º 3
0
def test_is_entry_price_when_combined_duty_set():
    commodity = QuotaCommodity(None, None)
    entry_price_measure = get_measure()
    entry_price_measure.combined_duty = "Test that Entry Price is found"
    commodity.measure_list.extend(
        [get_measure(), entry_price_measure,
         get_measure()])
    assert commodity.is_entry_price()
def test_print_tariffs(suppress, expected_result):
    application = mock.MagicMock(country_name='spain')
    document = Document(application)
    if suppress is None:
        document.commodity_list = []
    else:
        commodity = QuotaCommodity('124567890', None)
        commodity.suppress = suppress
        commodity.duty_string = 'Test duty string<w:r><w:br/></w:r>'
        document.commodity_list = [commodity]
    actual_result = document.print_tariffs()
    assert actual_result == expected_result
Exemplo n.º 5
0
def test_resolve_measure_when_not_seasonal():
    commodity = QuotaCommodity(None, None)
    first_measure = get_measure()
    first_measure.suppress = False
    first_measure.combined_duty = 'Combined duty 1'
    first_measure.extent = 265

    second_measure = get_measure()
    second_measure.suppress = False
    second_measure.combined_duty = 'Combined duty 2'
    second_measure.extent = 100

    commodity.measure_list.extend([first_measure, second_measure])
    commodity.resolve_measures()
    assert commodity.duty_string == 'Combined duty 2'
Exemplo n.º 6
0
def test_commodity_initialise():
    commodity = QuotaCommodity(None, None)
    assert not commodity.suppress
    assert commodity.measure_list == []
    assert commodity.duty_string == ''
    assert commodity.commodity_code == ''
    assert commodity.commodity_code_formatted == ''
    assert commodity.quota_order_number_id == ''
Exemplo n.º 7
0
def test_suppress_if_eps_or_full_year():
    commodity = QuotaCommodity(None, None)
    first_measure = get_measure()
    first_measure.suppress = False

    second_measure = get_measure()
    second_measure.suppress = False

    third_measure = get_measure()
    third_measure.suppress = False

    commodity.measure_list.extend(
        [first_measure, second_measure, third_measure])
    commodity.suppress_if_eps_or_full_year(False, True)
    assert first_measure.suppress is True
    assert second_measure.suppress is True
    assert third_measure.suppress is False
Exemplo n.º 8
0
def test_get_duty_string_when_measure_is_not_suppressed(
    is_seasonal,
    suppress_measure_1,
    suppress_measure_2,
    expected_result,
):
    first_combined_duty_text = 'Combined duty 1'
    second_combined_duty_text = 'Combined duty 2'
    commodity = QuotaCommodity(None, None)
    first_measure = get_measure()
    first_measure.combined_duty = first_combined_duty_text
    first_measure.suppress = suppress_measure_1

    second_measure = get_measure()
    second_measure.combined_duty = second_combined_duty_text
    second_measure.suppress = suppress_measure_2

    commodity.measure_list.extend([first_measure, second_measure])
    assert commodity.get_duty_string(
        is_seasonal=is_seasonal) == expected_result
Exemplo n.º 9
0
    def get_quota_measures(self):
        # print(len(self.commodity_list))
        # Get the measures - in order to get the commodity codes and the duties
        # Just get the commodities and add to an array
        self.measure_list = self.get_measure_list()
        if not self.measure_list:
            self.has_quotas = False
            return

        # Step 2 - Having loaded all of the measures from the database, cycle through the list of duties (components)
        # previously loaded and assign to the measures where appropriate
        temp_commodity_list = []
        for my_measure in self.measure_list:
            for d in self.duty_list:
                if int(my_measure.measure_sid) == int(d.measure_sid):
                    my_measure.duty_list.append(d)
                    my_measure.assigned = True
                    temp_commodity_list.append(my_measure.commodity_code + "|" + my_measure.quota_order_number_id)

            my_measure.combine_duties(self.application)

        # Step 3 - Create commodity objects that relate all of the measures together
        temp_commodity_set = set(temp_commodity_list)
        quota_commodity_list = []
        for item in temp_commodity_set:
            item_split = item.split("|")
            code = item_split[0]
            quota_order_number_id = item_split[1]
            obj = QuotaCommodity(code, quota_order_number_id)
            quota_commodity_list.append(obj)

        quota_commodity_list.sort(key=lambda x: x.commodity_code, reverse=False)

        # Step 4 - Assign all relevant measures to the commodity code
        for my_commodity in quota_commodity_list:
            for my_measure in self.measure_list:
                if (
                        my_measure.commodity_code == my_commodity.commodity_code and
                        my_measure.quota_order_number_id == my_commodity.quota_order_number_id
                ):
                    my_commodity.measure_list.append(my_measure)

        for my_commodity in quota_commodity_list:
            my_commodity.resolve_measures()

        for my_commodity in quota_commodity_list:
            for qon in self.quota_order_number_list:
                if my_commodity.quota_order_number_id == qon.quota_order_number_id:
                    qon.commodity_list.append(my_commodity)
                    break
Exemplo n.º 10
0
def test_is_entry_price_when_combined_duty_not_set():
    commodity = QuotaCommodity(None, None)
    commodity.measure_list.extend([get_measure(), get_measure()])
    assert not commodity.is_entry_price()
Exemplo n.º 11
0
def test_is_seasonal(contains_siv, is_all_full_year, is_infinite,
                     expected_result):
    commodity = QuotaCommodity(None, None)
    assert commodity.is_seasonal(contains_siv, is_all_full_year,
                                 is_infinite) == expected_result