Skip to content

Commit 205efd6

Browse files
committed
Align AuditingEntityWithEmbeddableListenerTests.auditsEmbeddedCorrectly() with aggregate lifecycle expectations.
Fixes GH-3561.
1 parent eb47289 commit 205efd6

File tree

1 file changed

+15
-20
lines changed

1 file changed

+15
-20
lines changed

spring-data-jpa/src/test/java/org/springframework/data/jpa/domain/support/AuditingEntityWithEmbeddableListenerTests.java

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@
1717

1818
import static org.assertj.core.api.Assertions.*;
1919

20-
import java.time.Instant;
21-
import java.util.Optional;
22-
2320
import org.junit.jupiter.api.BeforeEach;
2421
import org.junit.jupiter.api.Test;
2522
import org.junit.jupiter.api.extension.ExtendWith;
@@ -34,6 +31,7 @@
3431
* Integration test for {@link AuditingEntityListener}.
3532
*
3633
* @author Greg Turnquist
34+
* @author Oliver Drotbohm
3735
*/
3836
@ExtendWith(SpringExtension.class)
3937
@ContextConfiguration("classpath:auditing/auditing-entity-with-embeddable-listener.xml")
@@ -48,7 +46,6 @@ class AuditingEntityWithEmbeddableListenerTests {
4846
void setUp() {
4947

5048
entity = new AuditableEntity();
51-
entity.setId(1L);
5249
entity.setData("original value");
5350

5451
auditDetails = new AuditableEmbeddable();
@@ -60,32 +57,30 @@ void auditsEmbeddedCorrectly() {
6057

6158
// when
6259
repository.saveAndFlush(entity);
63-
Optional<AuditableEntity> optionalEntity = repository.findById(1L);
6460

6561
// then
66-
assertThat(optionalEntity).isNotEmpty();
6762

68-
AuditableEntity auditableEntity = optionalEntity.get();
69-
assertThat(auditableEntity.getData()).isEqualTo("original value");
63+
assertThat(repository.findById(1L)).hasValueSatisfying(it -> {
7064

71-
assertThat(auditableEntity.getAuditDetails().getDateCreated()).isNotNull();
72-
assertThat(auditableEntity.getAuditDetails().getDateUpdated()).isNotNull();
65+
assertThat(it.getData()).isEqualTo("original value");
7366

74-
Instant originalCreationDate = auditableEntity.getAuditDetails().getDateCreated();
75-
Instant originalDateUpdated = auditableEntity.getAuditDetails().getDateUpdated();
67+
AuditableEmbeddable details = it.getAuditDetails();
7668

77-
auditableEntity.setData("updated value");
69+
assertThat(details.getDateCreated()).isNotNull();
70+
assertThat(details.getDateUpdated()).isNotNull();
7871

79-
repository.saveAndFlush(auditableEntity);
72+
it.setData("updated value");
73+
repository.saveAndFlush(it);
8074

81-
Optional<AuditableEntity> optionalRevisedEntity = repository.findById(1L);
75+
assertThat(repository.findById(1L)).hasValueSatisfying(revised -> {
8276

83-
assertThat(optionalRevisedEntity).isNotEmpty();
77+
assertThat(revised.getData()).isEqualTo("updated value");
8478

85-
AuditableEntity revisedEntity = optionalRevisedEntity.get();
86-
assertThat(revisedEntity.getData()).isEqualTo("updated value");
79+
AuditableEmbeddable revisedDetails = revised.getAuditDetails();
8780

88-
assertThat(revisedEntity.getAuditDetails().getDateCreated()).isEqualTo(originalCreationDate);
89-
assertThat(revisedEntity.getAuditDetails().getDateUpdated()).isAfter(originalDateUpdated);
81+
assertThat(revisedDetails.getDateCreated()).isEqualTo(details.getDateCreated());
82+
assertThat(revisedDetails.getDateUpdated()).isAfter(details.getDateUpdated());
83+
});
84+
});
9085
}
9186
}

0 commit comments

Comments
 (0)