introduced MembershipValidator
This commit is contained in:
		@@ -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));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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();
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -55,7 +55,7 @@ public class ShareServiceUnitTest {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void saveNotUpdateAnyExistingShareTransaction() {
 | 
			
		||||
    public void saveShouldNotUpdateAnyExistingShareTransaction() {
 | 
			
		||||
        // given
 | 
			
		||||
        final ShareDTO givenShareDTO = givenShareDTO(anyNonNullId(), ShareAction.SUBSCRIPTION, anyPositiveNumber());
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user