1
0

introduced MembershipValidator

This commit is contained in:
Michael Hoennig
2019-04-11 18:06:12 +02:00
parent c6bf856b34
commit d1d6001842
8 changed files with 103 additions and 9 deletions

View File

@ -1,8 +1,9 @@
package org.hostsharing.hsadminng.service;
import org.apache.commons.lang3.RandomUtils;
import org.hostsharing.hsadminng.domain.Membership;
import org.hostsharing.hsadminng.repository.MembershipRepository;
import org.hostsharing.hsadminng.service.mapper.MembershipMapper;
import org.hostsharing.hsadminng.service.dto.MembershipDTO;
import org.hostsharing.hsadminng.web.rest.errors.BadRequestAlertException;
import org.junit.Rule;
import org.junit.Test;
@ -13,6 +14,8 @@ import org.mockito.junit.MockitoRule;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowableOfType;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;
public class MembershipServiceUnitTest {
@ -23,7 +26,7 @@ public class MembershipServiceUnitTest {
private MembershipRepository membershipRepository;
@Mock
private MembershipMapper membershipMapper;
private MembershipValidator membershipValidator;
@InjectMocks
private MembershipService membershipService;
@ -37,4 +40,20 @@ public class MembershipServiceUnitTest {
assertThat(throwException).isEqualToComparingFieldByField(
new BadRequestAlertException("Membership cannot be deleted", "membership", "membershipNotDeletable"));
}
@Test
public void saveRejectsInvalidMembershipDTO() {
// given
final MembershipDTO givenMembershipDTO = new MembershipDTO();
final BadRequestAlertException givenBadRequestAlertException = new BadRequestAlertException("Invalid Membership", Membership.ENTITY_NAME, "invalidMembership");
doThrow(givenBadRequestAlertException).when(membershipValidator).validate(givenMembershipDTO);
// when
final Throwable throwException = catchThrowableOfType(() -> membershipService.save(givenMembershipDTO), BadRequestAlertException.class);
// then
assertThat(throwException).isSameAs(givenBadRequestAlertException);
verify(membershipRepository, never()).save(any(Membership.class));
}
}

View File

@ -0,0 +1,43 @@
package org.hostsharing.hsadminng.service;
import org.hostsharing.hsadminng.repository.MembershipRepository;
import org.hostsharing.hsadminng.service.dto.MembershipDTO;
import org.hostsharing.hsadminng.web.rest.errors.BadRequestAlertException;
import org.junit.Rule;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import java.time.LocalDate;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowableOfType;
public class MembershipValidatorUnitTest {
@Rule
public MockitoRule mockitoRule = MockitoJUnit.rule();
@Mock
private MembershipRepository membershipRepository;
@InjectMocks
private MembershipValidator membershipValidator;
@Test
public void shouldRejectIfUntilDateIsNotAfterSinceDate() {
// given
final MembershipDTO membershipDTO = new MembershipDTO();
membershipDTO.setSinceDate(LocalDate.parse("2019-04-11"));
membershipDTO.setUntilDate(LocalDate.parse("2019-04-11"));
// when
final Throwable throwException = catchThrowableOfType(() -> membershipValidator.validate(membershipDTO), BadRequestAlertException.class);
// then
assertThat(throwException).isNotNull();
}
}

View File

@ -55,7 +55,7 @@ public class ShareServiceUnitTest {
}
@Test
public void saveNotUpdateAnyExistingShareTransaction() {
public void saveShouldNotUpdateAnyExistingShareTransaction() {
// given
final ShareDTO givenShareDTO = givenShareDTO(anyNonNullId(), ShareAction.SUBSCRIPTION, anyPositiveNumber());