@ -22,8 +22,8 @@ import static org.mockito.Mockito.*;
@@ -22,8 +22,8 @@ import static org.mockito.Mockito.*;
import lombok.AllArgsConstructor ;
import lombok.Data ;
import lombok.RequiredArgsConstructor ;
import org.junit.jupiter.api.BeforeEach ;
import org.junit.jupiter.api.Test ;
import org.junit.jupiter.api.extension.ExtendWith ;
@ -115,7 +115,7 @@ public class JdbcAggregateTemplateUnitTests {
@@ -115,7 +115,7 @@ public class JdbcAggregateTemplateUnitTests {
assertThat ( last ) . isEqualTo ( third ) ;
}
@Test
@Test // GH-1137
void savePreparesInstanceWithInitialVersion_onInsert ( ) {
EntityWithVersion entity = new EntityWithVersion ( 1L ) ;
@ -125,11 +125,12 @@ public class JdbcAggregateTemplateUnitTests {
@@ -125,11 +125,12 @@ public class JdbcAggregateTemplateUnitTests {
ArgumentCaptor < Object > aggregateRootCaptor = ArgumentCaptor . forClass ( Object . class ) ;
verify ( callbacks ) . callback ( eq ( BeforeSaveCallback . class ) , aggregateRootCaptor . capture ( ) , any ( ) ) ;
EntityWithVersion afterConvert = ( EntityWithVersion ) aggregateRootCaptor . getValue ( ) ;
assertThat ( afterConvert . getVersion ( ) ) . isEqualTo ( 0L ) ;
}
@Test
@Test // GH-1137
void savePreparesInstanceWithInitialVersion_onInsert_whenVersionPropertyIsImmutable ( ) {
EntityWithImmutableVersion entity = new EntityWithImmutableVersion ( 1L , null ) ;
@ -139,11 +140,12 @@ public class JdbcAggregateTemplateUnitTests {
@@ -139,11 +140,12 @@ public class JdbcAggregateTemplateUnitTests {
ArgumentCaptor < Object > aggregateRootCaptor = ArgumentCaptor . forClass ( Object . class ) ;
verify ( callbacks ) . callback ( eq ( BeforeSaveCallback . class ) , aggregateRootCaptor . capture ( ) , any ( ) ) ;
EntityWithImmutableVersion afterConvert = ( EntityWithImmutableVersion ) aggregateRootCaptor . getValue ( ) ;
assertThat ( afterConvert . getVersion ( ) ) . isEqualTo ( 0L ) ;
}
@Test // DATAJDBC-50 7
@Test // GH-113 7
void savePreparesInstanceWithInitialVersion_onInsert_whenVersionPropertyIsPrimitiveType ( ) {
EntityWithPrimitiveVersion entity = new EntityWithPrimitiveVersion ( 1L ) ;
@ -153,11 +155,12 @@ public class JdbcAggregateTemplateUnitTests {
@@ -153,11 +155,12 @@ public class JdbcAggregateTemplateUnitTests {
ArgumentCaptor < Object > aggregateRootCaptor = ArgumentCaptor . forClass ( Object . class ) ;
verify ( callbacks ) . callback ( eq ( BeforeSaveCallback . class ) , aggregateRootCaptor . capture ( ) , any ( ) ) ;
EntityWithPrimitiveVersion afterConvert = ( EntityWithPrimitiveVersion ) aggregateRootCaptor . getValue ( ) ;
assertThat ( afterConvert . getVersion ( ) ) . isEqualTo ( 1L ) ;
}
@Test // DATAJDBC-50 7
@Test // GH-113 7
void savePreparesInstanceWithInitialVersion_onInsert__whenVersionPropertyIsImmutableAndPrimitiveType ( ) {
EntityWithImmutablePrimitiveVersion entity = new EntityWithImmutablePrimitiveVersion ( 1L , 0L ) ;
@ -167,11 +170,13 @@ public class JdbcAggregateTemplateUnitTests {
@@ -167,11 +170,13 @@ public class JdbcAggregateTemplateUnitTests {
ArgumentCaptor < Object > aggregateRootCaptor = ArgumentCaptor . forClass ( Object . class ) ;
verify ( callbacks ) . callback ( eq ( BeforeSaveCallback . class ) , aggregateRootCaptor . capture ( ) , any ( ) ) ;
EntityWithImmutablePrimitiveVersion afterConvert = ( EntityWithImmutablePrimitiveVersion ) aggregateRootCaptor . getValue ( ) ;
EntityWithImmutablePrimitiveVersion afterConvert = ( EntityWithImmutablePrimitiveVersion ) aggregateRootCaptor
. getValue ( ) ;
assertThat ( afterConvert . getVersion ( ) ) . isEqualTo ( 1L ) ;
}
@Test
@Test // GH-1137
void savePreparesChangeWithPreviousVersion_onUpdate ( ) {
when ( dataAccessStrategy . updateWithVersion ( any ( ) , any ( ) , any ( ) ) ) . thenReturn ( true ) ;
@ -183,11 +188,12 @@ public class JdbcAggregateTemplateUnitTests {
@@ -183,11 +188,12 @@ public class JdbcAggregateTemplateUnitTests {
ArgumentCaptor < Object > aggregateChangeCaptor = ArgumentCaptor . forClass ( Object . class ) ;
verify ( callbacks ) . callback ( eq ( BeforeSaveCallback . class ) , any ( ) , aggregateChangeCaptor . capture ( ) ) ;
MutableAggregateChange < ? > aggregateChange = ( MutableAggregateChange < ? > ) aggregateChangeCaptor . getValue ( ) ;
assertThat ( aggregateChange . getPreviousVersion ( ) ) . isEqualTo ( 1L ) ;
}
@Test
@Test // GH-1137
void savePreparesInstanceWithNextVersion_onUpdate ( ) {
when ( dataAccessStrategy . updateWithVersion ( any ( ) , any ( ) , any ( ) ) ) . thenReturn ( true ) ;
@ -199,11 +205,12 @@ public class JdbcAggregateTemplateUnitTests {
@@ -199,11 +205,12 @@ public class JdbcAggregateTemplateUnitTests {
ArgumentCaptor < Object > aggregateRootCaptor = ArgumentCaptor . forClass ( Object . class ) ;
verify ( callbacks ) . callback ( eq ( BeforeSaveCallback . class ) , aggregateRootCaptor . capture ( ) , any ( ) ) ;
EntityWithVersion afterConvert = ( EntityWithVersion ) aggregateRootCaptor . getValue ( ) ;
assertThat ( afterConvert . getVersion ( ) ) . isEqualTo ( 2L ) ;
}
@Test
@Test // GH-1137
void savePreparesInstanceWithNextVersion_onUpdate_whenVersionPropertyIsImmutable ( ) {
when ( dataAccessStrategy . updateWithVersion ( any ( ) , any ( ) , any ( ) ) ) . thenReturn ( true ) ;
@ -218,7 +225,7 @@ public class JdbcAggregateTemplateUnitTests {
@@ -218,7 +225,7 @@ public class JdbcAggregateTemplateUnitTests {
assertThat ( afterConvert . getVersion ( ) ) . isEqualTo ( 2L ) ;
}
@Test
@Test // GH-1137
void deletePreparesChangeWithPreviousVersion_onDeleteByInstance ( ) {
EntityWithImmutableVersion entity = new EntityWithImmutableVersion ( 1L , 1L ) ;
@ -228,11 +235,11 @@ public class JdbcAggregateTemplateUnitTests {
@@ -228,11 +235,11 @@ public class JdbcAggregateTemplateUnitTests {
ArgumentCaptor < Object > aggregateChangeCaptor = ArgumentCaptor . forClass ( Object . class ) ;
verify ( callbacks ) . callback ( eq ( BeforeDeleteCallback . class ) , any ( ) , aggregateChangeCaptor . capture ( ) ) ;
MutableAggregateChange < ? > aggregateChange = ( MutableAggregateChange < ? > ) aggregateChangeCaptor . getValue ( ) ;
assertThat ( aggregateChange . getPreviousVersion ( ) ) . isEqualTo ( 1L ) ;
}
@Test // DATAJDBC-393
public void callbackOnDelete ( ) {