def test_consignment_matches_contamination_rule(): """Check that consignment is selected based on a rule""" main_config = load_configuration_yaml_from_text(CONFIG) consignment = simple_consignment(flower="Sedum", origin="Colombia") config = get_contamination_config_for_consignment( main_config["contamination"], consignment) assert config == {"contamination_unit": "item", "arrangement": "random"}
def test_consignment_with_no_contamination(): """Check that consignment is not selected based on a rule""" main_config = load_configuration_yaml_from_text(CONFIG) consignment = simple_consignment(flower="Rosa", origin="Colombia") config = get_contamination_config_for_consignment( main_config["contamination"], consignment) assert config is None
def test_contamination_config_for_consignment_no_default_explicitly(): """Check that consignment has only its unique config (defaults disabled)""" main_config = load_configuration_yaml_from_text(CONFIG) consignment = simple_consignment(flower="Rose", origin="Netherlands") config = get_contamination_config_for_consignment( main_config["contamination"], consignment) assert config == {"contamination_unit": "box"}
def test_contamination_config_for_consignment_with_default(): """Check that consignment has has combination of defaults and its own config""" main_config = load_configuration_yaml_from_text(CONFIG) consignment = simple_consignment(flower="Rose", origin="Mexico") config = get_contamination_config_for_consignment( main_config["contamination"], consignment) assert config == {"contamination_unit": "box", "arrangement": "random"}
def test_contamination_config_for_consignment_no_default(): """Check that consignment has only its unique config (defaults not requested)""" main_config = load_configuration_yaml_from_text(CONFIG) consignment = simple_consignment(flower="Liatris", origin="Netherlands") config = get_contamination_config_for_consignment( main_config["contamination"], consignment) assert config == {"arrangement": "random_box"}
def test_contamination_config_for_consignment_implicit_default(): """Check that consignment inherits the top-level config""" main_config = load_configuration_yaml_from_text(CONFIG) consignment = simple_consignment(flower="Hyacinthus", origin="Israel") config = get_contamination_config_for_consignment( main_config["contamination"], consignment) assert config == {"contamination_unit": "item", "arrangement": "random"}
def test_consignment_between_two_date_rules(date): """Check that consignment is not selected in presence of start and end date rules""" main_config = load_configuration_yaml_from_text(CONFIG) consignment = simple_consignment(flower="Gerbera", origin="Netherlands", date=date) config = get_contamination_config_for_consignment( main_config["contamination"], consignment) assert config is None
def test_consignment_matches_contamination_rule_after_start_date(date): """Check that consignment is selected based on a rule with start date""" main_config = load_configuration_yaml_from_text(CONFIG) consignment = simple_consignment(flower="Gerbera", origin="Netherlands", date=date) config = get_contamination_config_for_consignment( main_config["contamination"], consignment) assert config == {"contamination_unit": "item"}
def test_consignment_matches_contamination_rule_before_end_date(date): """Check that consignment is selected based on a rule with end date""" main_config = load_configuration_yaml_from_text(CONFIG) consignment = simple_consignment(flower="Gerbera", origin="Netherlands", date=date) config = get_contamination_config_for_consignment( main_config["contamination"], consignment) assert config == {"arrangement": "random_box"}
def test_consignment_matches_contamination_rule_outside_of_date_interval(date): """Check that consignment is not selected based on a rule with dates""" main_config = load_configuration_yaml_from_text(CONFIG) consignment = simple_consignment(flower="Tulipa", origin="Netherlands", date=date) config = get_contamination_config_for_consignment( main_config["contamination"], consignment) assert config is None
def test_consignment_matches_contamination_rule_within_date_interval(date): """Check that consignment is selected based on a rule with start and end dates""" main_config = load_configuration_yaml_from_text(CONFIG) consignment = simple_consignment(flower="Tulipa", origin="Netherlands", date=date) config = get_contamination_config_for_consignment( main_config["contamination"], consignment) assert config == {"contamination_unit": "box", "arrangement": "random_box"}