Added and rewrote tests

This commit is contained in:
Marvin Scham
2023-06-28 04:31:26 +02:00
parent f32b7fc1c7
commit 44c9e0d9e4
19 changed files with 1145 additions and 18 deletions

View File

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