@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); }