Added and rewrote tests
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
package de.rwu.easydrop.service.processing;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
import de.rwu.easydrop.api.dto.TransactionDTO;
|
||||
import de.rwu.easydrop.data.connector.TransactionPersistenceInterface;
|
||||
import de.rwu.easydrop.model.Offer;
|
||||
import de.rwu.easydrop.model.Product;
|
||||
import de.rwu.easydrop.model.Transaction;
|
||||
import de.rwu.easydrop.service.mapping.TransactionMapper;
|
||||
|
||||
class TransactionHandlerTest {
|
||||
|
||||
@Mock
|
||||
private TransactionPersistenceInterface mockPersistence;
|
||||
|
||||
public TransactionHandlerTest() {
|
||||
MockitoAnnotations.openMocks(this);
|
||||
}
|
||||
|
||||
@Test
|
||||
void turnOfferToTransaction_ValidOffer_TransactionCreatedAndWrittenToPersistence() {
|
||||
// Arrange
|
||||
Offer offer = new Offer();
|
||||
Product product = new Product();
|
||||
offer.setSourceProduct(product);
|
||||
offer.setTargetProduct(product);
|
||||
|
||||
TransactionHandler handler = new TransactionHandler(mockPersistence);
|
||||
|
||||
// Act
|
||||
handler.turnOfferToTransaction(offer);
|
||||
|
||||
// Assert
|
||||
ArgumentCaptor<TransactionDTO> transactionDtoCaptor = ArgumentCaptor.forClass(TransactionDTO.class);
|
||||
verify(mockPersistence, times(1)).writeTX(transactionDtoCaptor.capture());
|
||||
|
||||
TransactionDTO capturedTransactionDto = transactionDtoCaptor.getValue();
|
||||
Transaction capturedTransaction = TransactionMapper.mapTXFromDTO(capturedTransactionDto);
|
||||
|
||||
assertEquals(offer.getOfferId(), capturedTransaction.getOfferId());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user