test: Moved disabled tests from validator to service tests
This commit is contained in:
parent
b07fa4cb65
commit
af187e3daa
2 changed files with 60 additions and 38 deletions
|
@ -5,10 +5,17 @@ import eu.ztsh.wymiana.RepositoryBasedTest;
|
||||||
import eu.ztsh.wymiana.data.repository.UserRepository;
|
import eu.ztsh.wymiana.data.repository.UserRepository;
|
||||||
import eu.ztsh.wymiana.exception.InsufficientFundsException;
|
import eu.ztsh.wymiana.exception.InsufficientFundsException;
|
||||||
import eu.ztsh.wymiana.validation.InstanceValidator;
|
import eu.ztsh.wymiana.validation.InstanceValidator;
|
||||||
|
import eu.ztsh.wymiana.validation.ValidationFailedException;
|
||||||
|
import org.junit.jupiter.api.Disabled;
|
||||||
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.params.ParameterizedTest;
|
||||||
|
import org.junit.jupiter.params.provider.MethodSource;
|
||||||
import org.mockito.Mockito;
|
import org.mockito.Mockito;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import static eu.ztsh.wymiana.EntityCreator.Constants.*;
|
import static eu.ztsh.wymiana.EntityCreator.Constants.*;
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||||
|
@ -27,7 +34,7 @@ class CurrencyServiceTest extends RepositoryBasedTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void successTest() {
|
void toSellSuccessTest() {
|
||||||
var result = currencyService.exchange(EntityCreator.exchangeRequest()
|
var result = currencyService.exchange(EntityCreator.exchangeRequest()
|
||||||
.from(PLN_SYMBOL)
|
.from(PLN_SYMBOL)
|
||||||
.to(USD_SYMBOL)
|
.to(USD_SYMBOL)
|
||||||
|
@ -35,6 +42,21 @@ class CurrencyServiceTest extends RepositoryBasedTest {
|
||||||
.build());
|
.build());
|
||||||
assertThat(result.currencies())
|
assertThat(result.currencies())
|
||||||
.matches(map -> map.get(PLN_SYMBOL).amount() == 0 && map.get(USD_SYMBOL).amount() == USD_BUY);
|
.matches(map -> map.get(PLN_SYMBOL).amount() == 0 && map.get(USD_SYMBOL).amount() == USD_BUY);
|
||||||
|
var expected = EntityCreator.user().pln(0).usd(USD_BUY).build();
|
||||||
|
expect(expected);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void toBuySuccessTest() {
|
||||||
|
var result = currencyService.exchange(EntityCreator.exchangeRequest()
|
||||||
|
.from(PLN_SYMBOL)
|
||||||
|
.to(USD_SYMBOL)
|
||||||
|
.toBuy(USD_BUY)
|
||||||
|
.build());
|
||||||
|
assertThat(result.currencies())
|
||||||
|
.matches(map -> map.get(PLN_SYMBOL).amount() == 0 && map.get(USD_SYMBOL).amount() == USD_BUY);
|
||||||
|
var expected = EntityCreator.user().pln(0).usd(USD_BUY).build();
|
||||||
|
expect(expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -47,4 +69,41 @@ class CurrencyServiceTest extends RepositoryBasedTest {
|
||||||
.isInstanceOf(InsufficientFundsException.class);
|
.isInstanceOf(InsufficientFundsException.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@DisplayName("Invalid PESEL value")
|
||||||
|
@ParameterizedTest
|
||||||
|
@MethodSource
|
||||||
|
void invalidPeselTest(String pesel) {
|
||||||
|
assertThatThrownBy(() -> currencyService.exchange(EntityCreator.exchangeRequest()
|
||||||
|
.pesel(pesel)
|
||||||
|
.from(PLN_SYMBOL)
|
||||||
|
.to(USD_SYMBOL)
|
||||||
|
.toSell(USD_SELL)
|
||||||
|
.build()))
|
||||||
|
.isInstanceOf(ValidationFailedException.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("Empty 'from' value")
|
||||||
|
void emptyFromTest() {
|
||||||
|
assertThatThrownBy(() -> currencyService.exchange(EntityCreator.exchangeRequest()
|
||||||
|
.to(USD_SYMBOL)
|
||||||
|
.toSell(USD_SELL)
|
||||||
|
.build()))
|
||||||
|
.isInstanceOf(ValidationFailedException.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("Empty 'to' value")
|
||||||
|
void emptyToTest() {
|
||||||
|
assertThatThrownBy(() -> currencyService.exchange(EntityCreator.exchangeRequest()
|
||||||
|
.from(PLN_SYMBOL)
|
||||||
|
.toSell(USD_SELL)
|
||||||
|
.build()))
|
||||||
|
.isInstanceOf(ValidationFailedException.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Stream<String> invalidPeselTest() {
|
||||||
|
return Stream.of("INVALID", PESEL.replace('6', '7'));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,19 +38,6 @@ class ValidExchangeRequestValidatorTest extends ValidatorTest<ValidExchangeReque
|
||||||
.build()).isTrue();
|
.build()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Disabled("Already validated (has field annotation)")
|
|
||||||
@DisplayName("Invalid PESEL value")
|
|
||||||
@ParameterizedTest
|
|
||||||
@MethodSource
|
|
||||||
void invalidPeselTest(String pesel) {
|
|
||||||
assertThatValidation(EntityCreator.exchangeRequest()
|
|
||||||
.pesel(pesel)
|
|
||||||
.from(PLN_SYMBOL)
|
|
||||||
.to(USD_SYMBOL)
|
|
||||||
.toSell(USD_SELL)
|
|
||||||
.build()).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("From and To have same value")
|
@DisplayName("From and To have same value")
|
||||||
void sameFromToTest() {
|
void sameFromToTest() {
|
||||||
|
@ -70,26 +57,6 @@ class ValidExchangeRequestValidatorTest extends ValidatorTest<ValidExchangeReque
|
||||||
.build()).isFalse();
|
.build()).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Disabled("Already validated (has field annotation)")
|
|
||||||
@Test
|
|
||||||
@DisplayName("Empty 'from' value")
|
|
||||||
void emptyFromTest() {
|
|
||||||
assertThatValidation(EntityCreator.exchangeRequest()
|
|
||||||
.to(USD_SYMBOL)
|
|
||||||
.toSell(USD_SELL)
|
|
||||||
.build()).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Disabled("Already validated (has field annotation)")
|
|
||||||
@Test
|
|
||||||
@DisplayName("Empty 'to' value")
|
|
||||||
void emptyToTest() {
|
|
||||||
assertThatValidation(EntityCreator.exchangeRequest()
|
|
||||||
.from(PLN_SYMBOL)
|
|
||||||
.toSell(USD_SELL)
|
|
||||||
.build()).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("Both Buy and Sell params filled in")
|
@DisplayName("Both Buy and Sell params filled in")
|
||||||
void bothFilledBuySellTest() {
|
void bothFilledBuySellTest() {
|
||||||
|
@ -121,8 +88,4 @@ class ValidExchangeRequestValidatorTest extends ValidatorTest<ValidExchangeReque
|
||||||
.build()).isFalse();
|
.build()).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Stream<String> invalidPeselTest() {
|
|
||||||
return Stream.of("INVALID", PESEL.replace('6', '7'));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue