Skip to content

Commit

Permalink
#886 test cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
bartoszwalacik committed Oct 26, 2019
1 parent a595b02 commit f2b4715
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 45 deletions.
Expand Up @@ -60,6 +60,10 @@ private void switchToBuilt() {

private ShadowBuilder assembleShallowReferenceShadow(InstanceId instanceId, EntityType shallowReferenceType) {
CdoSnapshotState state = cdoSnapshotState().withPropertyValue(shallowReferenceType.getIdProperty(), instanceId.getCdoId()).build();

//TODO
System.out.println("shallowReference.id " + shallowReferenceType.getIdProperty().getType().getClass().getSimpleName());

JsonObject jsonElement = (JsonObject)jsonConverter.toJsonElement(state);
Object shadowStub = jsonConverter.fromJson(jsonElement, shallowReferenceType.getBaseJavaClass());

Expand Down
Expand Up @@ -16,69 +16,63 @@ import javax.persistence.OneToMany

class Case886ProblemReadingShadowsWithEmbeddedId extends Specification {

def "should read shadows for classes with EmbeddedId"() {

given:
def javers = JaversBuilder.javers().build()

when:
Agreement agreement = new Agreement()
agreement.agreementId = UUID.randomUUID()
agreement.locationId = UUID.randomUUID()

AgreementMember.AgreementMemberId agreementMemberId = new AgreementMember.AgreementMemberId()
agreementMemberId.agreementId = agreement.agreementId
agreementMemberId.memberId = UUID.randomUUID()

AgreementMember agreementMember = new AgreementMember()
agreementMember.agreementMemberId = agreementMemberId

List<AgreementMember> agreementMemberList = new ArrayList<>()
agreementMemberList.add(agreementMember)
agreement.agreementMembers = agreementMemberList

javers.commit("Agreement", agreement)

JqlQuery query = QueryBuilder.byInstanceId(agreement.agreementId, Agreement.class).build()
List<Shadow<Agreement>> shadows = javers.findShadows(query)

then:
shadows.size() > 0
}

@TypeName("Agreement")
class Agreement {

@Id
private UUID agreementId;
private UUID agreementId

private UUID locationId;
private UUID locationId

@OneToMany(mappedBy = "agreement", cascade = CascadeType.ALL, orphanRemoval = true)
@ShallowReference
private List<AgreementMember> agreementMembers;
private List<AgreementMember> agreementMembers
}

//other fields ...
@Embeddable
@TypeName("AgreementMemberId")
class AgreementMemberId implements Serializable {
private UUID agreementId
private UUID memberId
}

@TypeName("AgreementMember")
class AgreementMember {
@EmbeddedId
private AgreementMemberId agreementMemberId

public AgreementMemberId getId() {
return agreementMemberId;
return agreementMemberId
}
}

@Embeddable
@TypeName("AgreementMemberId")
public static class AgreementMemberId implements Serializable {
private UUID agreementId;
private UUID memberId;
}
def "should read shadows for classes with EmbeddedId"() {
given:
def javers = JaversBuilder.javers().build()

@EmbeddedId
private AgreementMemberId agreementMemberId;
println javers.getTypeMapping(Agreement).prettyPrint()
println javers.getTypeMapping(UUID).prettyPrint()

//other fields ...
}
when:
UUID agreementId = UUID.randomUUID()

AgreementMemberId agreementMemberId = new AgreementMemberId(
agreementId: agreementId,
memberId: UUID.randomUUID() )

AgreementMember agreementMember = new AgreementMember(agreementMemberId:agreementMemberId)

Agreement agreement = new Agreement(
agreementId: agreementId,
locationId: UUID.randomUUID(),
agreementMembers: [agreementMember])

def c = javers.commit("Agreement", agreement)

JqlQuery query = QueryBuilder.byInstanceId(agreementId, Agreement.class).build()
List<Shadow<Agreement>> shadows = javers.findShadows(query)

then:
shadows.size() > 0
}
}

0 comments on commit f2b4715

Please sign in to comment.