def METHOD_NAME(
    client, plan_factory, user_factory, group_factory, organisation
):
    group1 = group_factory()
    group2 = group_factory()
    group_member = user_factory.create(groups=(group1, group2))
    organisation.groups.add(group2)
    plan = plan_factory(group=group2, organisation=organisation)
    url = reverse(
        "a4dashboard:plan-update",
        kwargs={"organisation_slug": organisation.slug, "pk": plan.pk},
    )
    client.login(username=group_member.email, password="password")
    response = client.get(url)
    assert_template_response(response, "meinberlin_plans/plan_update_form.html")
    choices = settings.A4_PROJECT_TOPICS
    data = {
        "title": "my plan title",
        "description_image": "",
        "description_image_copyright": "",
        "contact_address_text": "me@example.com",
        "point": "",
        "point_label": "",
        "district": "",
        "cost": "1.000",
        "description": "this is a description",
        "topics": choices[0][0],
        "status": plan.status,
        "participation": plan.participation,
        "participation_explanation": "Some explanation",
        "duration": "1 month",
    }
    response = client.post(url, data)
    assert redirect_target(response) == "plan-update"
    plan.refresh_from_db()
    assert plan.topics == [data.get("topics")]
    assert plan.title == data.get("title")
    assert plan.description == data.get("description")
    assert plan.duration == data.get("duration")
    assert plan.group == group2