Untitled
unknown
plain_text
a year ago
2.9 kB
1
Indexable
Never
package br.com.senior.erpxcomfat.saleinvoice.service.impl; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.UUID; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import br.com.senior.erpxcomfat.saleinvoice.E140nfsEntity; import br.com.senior.erpxcomfat.saleinvoice.EnumSitNfs; import br.com.senior.erpxcomfat.saleinvoice.EnumTipNfs; import br.com.senior.erpxcomfat.saleinvoice.repository.E140nfsRepository; import br.com.senior.erpxcomfat.saleinvoice.service.CloneSaleInvoiceService; import br.com.senior.erpxcomfat.saleinvoice.service.FiscalDocumentIssuanceService; import br.com.senior.erpxcomfat.saleinvoice.service.RecalculateInstallmentsService; import br.com.senior.erpxcomfat.saleinvoice.service.impl.CloneSaleInvoiceServiceImpl; @RunWith(MockitoJUnitRunner.class) public class CloneSaleInvoiceServiceImplTest { @Mock private E140nfsRepository saleInvoiceRepository; @Mock private FiscalDocumentIssuanceService fiscalDocumentIssuanceService; @Mock private RecalculateInstallmentsService recalculateInstallmentsService; @Mock private CloneSaleInvoiceService cloneSaleInvoiceService; @InjectMocks private CloneSaleInvoiceServiceImpl cloneSaleInvoiceServiceImpl; private UUID id; private E140nfsEntity saleInvoiceOrigin; @Before public void setUp() { this.id = UUID.randomUUID(); this.saleInvoiceOrigin = new E140nfsEntity(); this.saleInvoiceOrigin.setId(id); } @Test public void shouldCloneSaleInvoiceWithNewValuesAndUpdate() { // given E140nfsEntity expectedSaleInvoice = new E140nfsEntity(); expectedSaleInvoice.setId(UUID.randomUUID()); when(saleInvoiceRepository.saveAndFlush(any(E140nfsEntity.class))).thenReturn(expectedSaleInvoice); // when E140nfsEntity actualSaleInvoice = cloneSaleInvoiceServiceImpl.clone(saleInvoiceOrigin, true, EnumTipNfs.V20, EnumSitNfs.NORMAL, new HashMap<>()); // then verify(saleInvoiceRepository).saveAndFlush(any(E140nfsEntity.class)); } @Test public void shouldCloneSaleInvoiceWithoutCopyingData() { // given E140nfsEntity expectedSaleInvoice = new E140nfsEntity(); expectedSaleInvoice.setId(UUID.randomUUID()); when(saleInvoiceRepository.saveAndFlush(any(E140nfsEntity.class))).thenReturn(expectedSaleInvoice); // when E140nfsEntity actualSaleInvoice = cloneSaleInvoiceServiceImpl.clone(saleInvoiceOrigin, false, EnumTipNfs.V20, EnumSitNfs.NORMAL, new HashMap<>()); // then verify(saleInvoiceRepository).saveAndFlush(any(E140nfsEntity.class)); verifyZeroInteractions(recalculateInstallmentsService, fiscalDocumentIssuanceService); } }