@Test
  public void shouldUpdateMotherWithNewFamilyPlanningFSWhenPPFPIsSubmitted() throws Exception {
    FormSubmission submission =
        create()
            .withFormName("postpartum_family_planning")
            .withEntityId("mother id 1")
            .addFormField("some-key", "value")
            .addFormField("currentMethod", "female_sterilization")
            .addFormField("familyPlanningMethodChangeDate", "2010-01-01")
            .addFormField("femaleSterilizationType", "minilap")
            .build();
    Mother mother = new Mother("mother id 1", "ec id 1", "thayi card number 1");
    EligibleCouple eligibleCouple =
        new EligibleCouple("ec id 1", "ec number 1")
            .withIUDFPDetails(Collections.<IUDFPDetails>emptyList())
            .withCondomFPDetails(Collections.<CondomFPDetails>emptyList())
            .withOCPFPDetails(Collections.<OCPFPDetails>emptyList())
            .withFemaleSterilizationFPDetails(new ArrayList<FemaleSterilizationFPDetails>())
            .withMaleSterilizationFPDetails(Collections.<MaleSterilizationFPDetails>emptyList());
    when(allMothers.findByCaseId("mother id 1")).thenReturn(mother);
    when(allEligibleCouples.findByCaseId("ec id 1")).thenReturn(eligibleCouple);

    service.reportPPFamilyPlanning(submission);

    ArrayList<FemaleSterilizationFPDetails> femaleSterilizationFPDetails = new ArrayList<>();
    femaleSterilizationFPDetails.add(new FemaleSterilizationFPDetails("minilap", "2010-01-01"));
    EligibleCouple expectedEC =
        new EligibleCouple("ec id 1", "ec number 1")
            .withIUDFPDetails(Collections.<IUDFPDetails>emptyList())
            .withCondomFPDetails(Collections.<CondomFPDetails>emptyList())
            .withOCPFPDetails(Collections.<OCPFPDetails>emptyList())
            .withMaleSterilizationFPDetails(Collections.<MaleSterilizationFPDetails>emptyList())
            .withFemaleSterilizationFPDetails(femaleSterilizationFPDetails);
    verify(allEligibleCouples).update(expectedEC);
  }