Skip to content

Commit 2c9e533

Browse files
committed
Make entity state comparison in migration tests clearer
1 parent 1168c6a commit 2c9e533

File tree

2 files changed

+60
-57
lines changed

2 files changed

+60
-57
lines changed

server/src/test/java/io/spine/server/procman/ProcessManagerRepositoryTest.java

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -721,10 +721,22 @@ void performCustomMigrationForMultiple() {
721721
repository.find(filters, ResponseFormat.getDefaultInstance());
722722

723723
ImmutableList<TestProcessManager> results = ImmutableList.copyOf(foundAfterMigration);
724+
Project expectedState1 = pm1
725+
.state()
726+
.toBuilder()
727+
.setName(SetTestProcessName.NEW_NAME)
728+
.setIdString(pm1.getIdString())
729+
.build();
730+
Project expectedState2 = pm2
731+
.state()
732+
.toBuilder()
733+
.setName(SetTestProcessName.NEW_NAME)
734+
.setIdString(pm2.getIdString())
735+
.build();
724736
assertThat(results).hasSize(2);
725737
assertThat(results)
726-
.comparingElementsUsing(stateWithPropagatedName())
727-
.containsExactly(pm1, pm2);
738+
.comparingElementsUsing(entityState())
739+
.containsExactly(expectedState1, expectedState2);
728740
}
729741

730742
@Test
@@ -791,10 +803,20 @@ void updateColumnsForMultiple() {
791803
repository.find(filters, ResponseFormat.getDefaultInstance());
792804

793805
ImmutableList<TestProcessManager> results = ImmutableList.copyOf(found);
806+
Project expectedState1 = pm1
807+
.state()
808+
.toBuilder()
809+
.setIdString(pm1.getIdString())
810+
.build();
811+
Project expectedState2 = pm2
812+
.state()
813+
.toBuilder()
814+
.setIdString(pm2.getIdString())
815+
.build();
794816
assertThat(results).hasSize(2);
795817
assertThat(results)
796-
.comparingElementsUsing(stateWithUpdatedColumns())
797-
.containsExactly(pm1, pm2);
818+
.comparingElementsUsing(entityState())
819+
.containsExactly(expectedState1, expectedState2);
798820
}
799821

800822
@Test
@@ -854,33 +876,11 @@ private static TargetFilters targetFilters(QueryFilter first, QueryFilter... res
854876
.build();
855877
}
856878

857-
private static Correspondence<TestProcessManager, TestProcessManager> stateWithPropagatedName() {
858-
return Correspondence.from(ProcessManagerRepositoryTest::hasStateWithName, "has state");
859-
}
860-
861-
private static boolean
862-
hasStateWithName(TestProcessManager actual, TestProcessManager expected) {
863-
Project expectedState = expected
864-
.state()
865-
.toBuilder()
866-
.setIdString(expected.getIdString())
867-
.setName(SetTestProcessName.NEW_NAME)
868-
.build();
869-
return actual.state().equals(expectedState);
870-
}
871-
872-
private static Correspondence<TestProcessManager, TestProcessManager>
873-
stateWithUpdatedColumns() {
874-
return Correspondence.from(ProcessManagerRepositoryTest::hasStateWithColumns, "has state");
879+
private static Correspondence<TestProcessManager, Project> entityState() {
880+
return Correspondence.from(ProcessManagerRepositoryTest::hasState, "has state");
875881
}
876882

877-
private static boolean
878-
hasStateWithColumns(TestProcessManager actual, TestProcessManager expected) {
879-
Project expectedState = expected
880-
.state()
881-
.toBuilder()
882-
.setIdString(expected.getIdString())
883-
.build();
884-
return actual.state().equals(expectedState);
883+
private static boolean hasState(TestProcessManager actual, Project expected) {
884+
return actual.state().equals(expected);
885885
}
886886
}

server/src/test/java/io/spine/server/projection/ProjectionRepositoryTest.java

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -624,10 +624,22 @@ void performCustomMigrationForMultiple() {
624624
repository.find(filters, ResponseFormat.getDefaultInstance());
625625

626626
ImmutableList<TestProjection> results = ImmutableList.copyOf(foundAfterMigration);
627+
Project expectedState1 = projection1
628+
.state()
629+
.toBuilder()
630+
.setName(SetTestProjectionName.NEW_NAME)
631+
.setIdString(projection1.getIdString())
632+
.build();
633+
Project expectedState2 = projection2
634+
.state()
635+
.toBuilder()
636+
.setName(SetTestProjectionName.NEW_NAME)
637+
.setIdString(projection2.getIdString())
638+
.build();
627639
assertThat(results).hasSize(2);
628640
assertThat(results)
629-
.comparingElementsUsing(stateWithPropagatedName())
630-
.containsExactly(projection1, projection2);
641+
.comparingElementsUsing(entityState())
642+
.containsExactly(expectedState1, expectedState2);
631643
}
632644

633645
@Test
@@ -694,10 +706,20 @@ void updateColumnsForMultiple() {
694706
repository.find(filters, ResponseFormat.getDefaultInstance());
695707

696708
ImmutableList<TestProjection> results = ImmutableList.copyOf(found);
709+
Project expectedState1 = projection1
710+
.state()
711+
.toBuilder()
712+
.setIdString(projection1.getIdString())
713+
.build();
714+
Project expectedState2 = projection2
715+
.state()
716+
.toBuilder()
717+
.setIdString(projection2.getIdString())
718+
.build();
697719
assertThat(results).hasSize(2);
698720
assertThat(results)
699-
.comparingElementsUsing(stateWithUpdatedColumns())
700-
.containsExactly(projection1, projection2);
721+
.comparingElementsUsing(entityState())
722+
.containsExactly(expectedState1, expectedState2);
701723
}
702724

703725
@Test
@@ -757,30 +779,11 @@ private static TargetFilters targetFilters(QueryFilter first, QueryFilter... res
757779
.build();
758780
}
759781

760-
private static Correspondence<TestProjection, TestProjection> stateWithPropagatedName() {
761-
return Correspondence.from(ProjectionRepositoryTest::hasStateWithName, "has state");
762-
}
763-
764-
private static boolean hasStateWithName(TestProjection actual, TestProjection expected) {
765-
Project expectedState = expected
766-
.state()
767-
.toBuilder()
768-
.setIdString(expected.getIdString())
769-
.setName(SetTestProjectionName.NEW_NAME)
770-
.build();
771-
return actual.state().equals(expectedState);
772-
}
773-
774-
private static Correspondence<TestProjection, TestProjection> stateWithUpdatedColumns() {
775-
return Correspondence.from(ProjectionRepositoryTest::hasStateWithColumns, "has state");
782+
private static Correspondence<TestProjection, Project> entityState() {
783+
return Correspondence.from(ProjectionRepositoryTest::hasState, "has state");
776784
}
777785

778-
private static boolean hasStateWithColumns(TestProjection actual, TestProjection expected) {
779-
Project expectedState = expected
780-
.state()
781-
.toBuilder()
782-
.setIdString(expected.getIdString())
783-
.build();
784-
return actual.state().equals(expectedState);
786+
private static boolean hasState(TestProjection actual, Project expected) {
787+
return actual.state().equals(expected);
785788
}
786789
}

0 commit comments

Comments
 (0)