def METHOD_NAME(self):
    self.user.groups_id = [(4, self.group_total_discount_id)]
    self.assertFalse(self.order_line.user_discount_value)
    self.assertTrue(self.order_line.user_total_discount)
    self.assertTrue(self.order_line.need_change_discount_value())
    self.order_line.discount_fixed = True
    self.assertTrue(self.order_line.need_change_discount_value())
    self.order_line.discount_fixed = False
    order = Form(self.order)
    order.discount_rate = 15
    with order.order_line.edit(0) as line:
        self.assertEqual(line.discount, 15)
        self.assertEqual(line.discount_value, 150)
        with self.assertRaises(AssertionError):
            line.discount = 20
        with self.assertRaises(AssertionError):
            line.discount_value = 20
        line.discount_fixed = True
        line.discount = 50
        self.assertEqual(line.discount_value, 500)
        with self.assertRaises(AssertionError):
            line.discount_value = 20
    order.discount_rate = 35
    with order.order_line.edit(0) as line:
        self.assertEqual(line.discount, 50)
        self.assertEqual(line.discount_value, 500)
        line.discount_fixed = False
        self.assertEqual(line.discount, 35)
        self.assertEqual(line.discount_value, 350)