### Question:
KisiServiceImpl implements KisiService { @Override @Transactional public KisiDto save(KisiDto kisiDto) { Assert.notNull(kisiDto.getAdi(), "Adi alani zorunludur!"); Kisi kisi = new Kisi(); kisi.setAdi(kisiDto.getAdi()); kisi.setSoyadi(kisiDto.getSoyadi()); final Kisi kisiDb = kisiRepository.save(kisi); List<Adres> liste = new ArrayList<>(); kisiDto.getAdresler().forEach(item -> { Adres adres = new Adres(); adres.setAdres(item); adres.setAdresTip(Adres.AdresTip.DIGER); adres.setAktif(true); adres.setKisi(kisiDb); liste.add(adres); }); adresRepository.saveAll(liste); kisiDto.setId(kisiDb.getId()); return kisiDto; }  @Override @Transactional KisiDto save(KisiDto kisiDto); @Override void delete(Long id); @Override List<KisiDto> getAll(); @Override Page<KisiDto> getAll(Pageable pageable);  }### Answer:
@Test public void testSave() { KisiDto kisiDto = new KisiDto(); kisiDto.setAdi("Test-Name"); kisiDto.setSoyadi("Test-Lastname"); kisiDto.setAdresler(Arrays.asList("Test-Adres-1")); Kisi kisiMock = mock(Kisi.class); when(kisiMock.getId()).thenReturn(1L); when(kisiRepository.save(ArgumentMatchers.any(Kisi.class))).thenReturn(kisiMock); KisiDto result = kisiService.save(kisiDto); assertEquals(result.getAdi(), kisiDto.getAdi()); assertEquals(result.getId(), 1L); }
@Test public void testSaveException() { KisiDto kisiDto = new KisiDto(); kisiDto.setSoyadi("Test-Lastname"); kisiDto.setAdresler(Arrays.asList("Test-Adres-1")); Assertions.assertThrows(IllegalArgumentException.class, () -> kisiService.save(kisiDto)); }