def test_level_limit_set_do_move_filters_level_allowed(self): """ Testing if when the level_limit attribute is set the move_to method should not allow exceeding it. """ item_admin = ItemAdmin(TestItem, self.site) item_admin.level_limit = 0 instance = item_admin.get_object(request, self.menu_child.id) parent_instance = item_admin.get_object(request, self.menu_parent.id) with self.assertRaises(Exception): item_admin.do_move(instance, "inside", parent_instance)
def test_level_limit_set_only_filtered_levels_returned(self): """ Testing if level_limit is set the parent field queryset should filter and remove levels underneath. """ item_admin = ItemAdmin(TestItem, self.site) item_admin.level_limit = 1 form = item_admin.get_form(request) queryset = form.base_fields["parent"]._queryset self.assertEqual(len(form.base_fields["parent"]._queryset), 1) self.assertNotIn(self.menu_child, queryset)