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
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
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
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'
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 == ''
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
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
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
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()
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