def test_sales_ranges_around_zero(): shop = get_default_shop() person = create_random_person() initial_group_count = person.groups.count() sales_ranges = [("silver", 0, 0), ("gold", 0, None), ("diamond", None, 0)] for identifier, min, max in sales_ranges: create_sales_range(identifier, shop, min, max) assert get_total_sales(shop, person) == 0 assign_to_group_based_on_sales(ContactGroupSalesRange, shop, person) assert person.groups.count() == (initial_group_count + 1) assert bool( [group for group in person.groups.all() if group.identifier == "gold"])
def test_sales_ranges_around_zero(): shop = get_default_shop() person = create_random_person() initial_group_count = person.groups.count() sales_ranges = [ ("silver", 0, 0), ("gold", 0, None), ("diamond", None, 0) ] for identifier, min, max in sales_ranges: create_sales_range(identifier, shop, min, max) assert get_total_sales(shop, person) == 0 assign_to_group_based_on_sales(ContactGroupSalesRange, shop, person) assert person.groups.count() == (initial_group_count + 1) assert bool([group for group in person.groups.all() if group.identifier == "gold"])
def save(self, *args, **kwargs): self.clean() super(ContactGroupSalesRange, self).save(*args, **kwargs) for customer in Contact.objects.all(): assign_to_group_based_on_sales(ContactGroupSalesRange, self.shop, customer, sales_range=self)