def METHOD_NAME(self):
    """Test planner with re-evaluate"""
    flow = create_test_flow()
    false_policy = DummyPolicy.objects.create(result=False, wait_min=1, wait_max=2)
    binding = FlowStageBinding.objects.create(
        target=flow, stage=DummyStage.objects.create(name="dummy1"), order=0
    )
    binding2 = FlowStageBinding.objects.create(
        target=flow,
        stage=DummyStage.objects.create(name="dummy2"),
        order=1,
        re_evaluate_policies=True,
    )
    PolicyBinding.objects.create(policy=false_policy, target=binding2, order=0)
    request = self.request_factory.get(
        reverse("authentik_api:flow-executor", kwargs={"flow_slug": flow.slug}),
    )
    request.user = get_anonymous_user()
    middleware = SessionMiddleware(dummy_get_response)
    middleware.process_request(request)
    request.session.save()
    # Here we patch the dummy policy to evaluate to true so the stage is included
    with patch("authentik.policies.dummy.models.DummyPolicy.passes", POLICY_RETURN_TRUE):
        planner = FlowPlanner(flow)
        plan = planner.plan(request)
        self.assertEqual(plan.bindings[0], binding)
        self.assertEqual(plan.bindings[1], binding2)
        self.assertIsInstance(plan.markers[0], StageMarker)
        self.assertIsInstance(plan.markers[1], ReevaluateMarker)