def METHOD_NAME(self, mock_get_solo):
    mock_get_solo.return_value = GlobalConfiguration(enable_demo_plugins=True)
    submission = SubmissionFactory.create(
        form__generate_minimal_setup=True,
        form__formstep__form_definition__login_required=True,
        form__slug="myform",
        form__authentication_backends=["digid-mock"],
    )
    self._add_submission_to_session(submission)
    form = submission.form
    plugin = register["digid-mock"]
    # demo plugins require staff users
    staff_user = StaffUserFactory.create()
    self.client.force_login(user=staff_user)
    # we need an arbitrary request
    factory = RequestFactory()
    request = factory.get("/foo")
    acs_url = None
    with self.subTest("auth flow start"):
        start_url = plugin.get_start_url(request, form)
        start_response = self.client.get(
            start_url,
            {"next": "http://localhost:3000", CO_SIGN_PARAMETER: submission.uuid},
        )
        self.assertEqual(start_response.status_code, 302, start_response.content)
        redirect_target = furl(start_response["Location"])
        self.assertEqual(redirect_target.path, reverse("digid-mock:login"))
        acs_url = furl(redirect_target.args["acs"])
        self.assertIn(CO_SIGN_PARAMETER, acs_url.args)
        self.assertEqual(acs_url.args[CO_SIGN_PARAMETER], str(submission.uuid))
    with self.subTest("auth flow no bsn set"):
        if not acs_url:
            self.fail("previous subtest failed")
        # follow the redirect + add the bsn
        acs_url.args["bsn"] = ""
        acs_url.args["next"] = "http://localhost:3000"
        return_response = self.client.get(acs_url)
        self.assertEqual(return_response.status_code, 400)
    with self.subTest("auth flow return"):
        # follow the redirect + add the bsn
        acs_url.args["bsn"] = "111222333"
        acs_url.args["next"] = "http://localhost:3000"
        return_response = self.client.get(acs_url)
        self.assertEqual(return_response.status_code, 302)
        self.assertNotIn(FORM_AUTH_SESSION_KEY, self.client.session)
        submission.refresh_from_db()
        self.assertEqual(
            submission.co_sign_data,
            {
                "plugin": "digid-mock",
                "identifier": "111222333",
                "representation": "",
                "co_sign_auth_attribute": "bsn",
                "fields": {},
            },
        )