def METHOD_NAME(self):
    mt1 = MembershipTask.objects.create(
        person=self.hermione,
        membership=self.membership,
        role=self.membership_person_role,
    )
    mt2 = MembershipTask.objects.create(
        person=self.harry,
        membership=self.membership,
        role=self.membership_person_role,
    )
    data = {
        "form-TOTAL_FORMS": 3,
        "form-INITIAL_FORMS": 2,
        "form-MIN_NUM_FORMS": 0,
        "form-MAX_NUM_FORMS": 1000,
        "form-0-membership": self.membership.pk,
        "form-0-person": mt1.person.pk,
        "form-0-role": mt1.role.pk,
        "form-0-id": mt1.pk,
        "form-0-EDITABLE": True,
        "form-0-DELETE": "on",
        "form-1-membership": self.membership.pk,
        "form-1-person": mt2.person.pk,
        "form-1-role": mt2.role.pk,
        "form-1-id": mt2.pk,
        "form-1-EDITABLE": True,
        "form-1-DELETE": "on",
        "form-2-membership": self.membership.pk,
        "form-2-person": self.ron.pk,
        "form-2-role": self.membership_person_role.pk,
        "form-2-id": "",
        "form-2-EDITABLE": True,
    }
    response = self.client.post(
        reverse("membership_tasks", args=[self.membership.pk]),
        data=data,
        follow=True,
    )
    self.assertRedirects(
        response, reverse("membership_details", args=[self.membership.pk])
    )
    self.assertEqual(list(self.membership.persons.all()), [self.ron])