move Parter+Debitor person+contact to related Relationsship #20
@ -32,7 +32,7 @@ public class HsOfficeDebitorEntity implements HasUuid, Stringifyable {
|
|||||||
private static Stringify<HsOfficeDebitorEntity> stringify =
|
private static Stringify<HsOfficeDebitorEntity> stringify =
|
||||||
stringify(HsOfficeDebitorEntity.class, "debitor")
|
stringify(HsOfficeDebitorEntity.class, "debitor")
|
||||||
.withIdProp(HsOfficeDebitorEntity::toShortString)
|
.withIdProp(HsOfficeDebitorEntity::toShortString)
|
||||||
.withProp(e -> e.getDebitorRel().toShortString())
|
.withProp(e -> ofNullable(e.getDebitorRel()).map(HsOfficeRelationshipEntity::toShortString).orElse(null))
|
||||||
.withProp(HsOfficeDebitorEntity::getDefaultPrefix)
|
.withProp(HsOfficeDebitorEntity::getDefaultPrefix)
|
||||||
.quotedValues(false);
|
.quotedValues(false);
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ class HsOfficeDebitorEntityPatcher implements EntityPatcher<HsOfficeDebitorPatch
|
|||||||
@Override
|
@Override
|
||||||
public void apply(final HsOfficeDebitorPatchResource resource) {
|
public void apply(final HsOfficeDebitorPatchResource resource) {
|
||||||
OptionalFromJson.of(resource.getDebitorRelUuid()).ifPresent(newValue -> {
|
OptionalFromJson.of(resource.getDebitorRelUuid()).ifPresent(newValue -> {
|
||||||
verifyNotNull(newValue, "partnerRel");
|
verifyNotNull(newValue, "debitorRel");
|
||||||
entity.setDebitorRel(em.getReference(HsOfficeRelationshipEntity.class, newValue));
|
entity.setDebitorRel(em.getReference(HsOfficeRelationshipEntity.class, newValue));
|
||||||
});
|
});
|
||||||
Optional.ofNullable(resource.getBillable()).ifPresent(entity::setBillable);
|
Optional.ofNullable(resource.getBillable()).ifPresent(entity::setBillable);
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
package net.hostsharing.hsadminng.hs.office.debitor;
|
package net.hostsharing.hsadminng.hs.office.debitor;
|
||||||
|
|
||||||
import net.hostsharing.hsadminng.hs.office.bankaccount.HsOfficeBankAccountEntity;
|
import net.hostsharing.hsadminng.hs.office.bankaccount.HsOfficeBankAccountEntity;
|
||||||
import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactEntity;
|
|
||||||
import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficeDebitorPatchResource;
|
import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficeDebitorPatchResource;
|
||||||
import net.hostsharing.hsadminng.hs.office.partner.HsOfficePartnerEntity;
|
import net.hostsharing.hsadminng.hs.office.relationship.HsOfficeRelationshipEntity;
|
||||||
import net.hostsharing.test.PatchUnitTestBase;
|
import net.hostsharing.test.PatchUnitTestBase;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.TestInstance;
|
import org.junit.jupiter.api.TestInstance;
|
||||||
@ -28,9 +27,8 @@ class HsOfficeDebitorEntityPatcherUnitTest extends PatchUnitTestBase<
|
|||||||
> {
|
> {
|
||||||
|
|
||||||
private static final UUID INITIAL_DEBITOR_UUID = UUID.randomUUID();
|
private static final UUID INITIAL_DEBITOR_UUID = UUID.randomUUID();
|
||||||
private static final UUID INITIAL_PARTNER_UUID = UUID.randomUUID();
|
private static final UUID INITIAL_DEBITOR_REL_UUID = UUID.randomUUID();
|
||||||
private static final UUID INITIAL_CONTACT_UUID = UUID.randomUUID();
|
private static final UUID PATCHED_DEBITOR_REL_UUID = UUID.randomUUID();
|
||||||
private static final UUID PATCHED_CONTACT_UUID = UUID.randomUUID();
|
|
||||||
|
|
||||||
private static final String PATCHED_DEFAULT_PREFIX = "xyz";
|
private static final String PATCHED_DEFAULT_PREFIX = "xyz";
|
||||||
private static final String PATCHED_VAT_COUNTRY_CODE = "ZZ";
|
private static final String PATCHED_VAT_COUNTRY_CODE = "ZZ";
|
||||||
@ -46,12 +44,8 @@ class HsOfficeDebitorEntityPatcherUnitTest extends PatchUnitTestBase<
|
|||||||
private static final UUID INITIAL_REFUND_BANK_ACCOUNT_UUID = UUID.randomUUID();
|
private static final UUID INITIAL_REFUND_BANK_ACCOUNT_UUID = UUID.randomUUID();
|
||||||
private static final UUID PATCHED_REFUND_BANK_ACCOUNT_UUID = UUID.randomUUID();
|
private static final UUID PATCHED_REFUND_BANK_ACCOUNT_UUID = UUID.randomUUID();
|
||||||
|
|
||||||
private final HsOfficePartnerEntity givenInitialPartner = HsOfficePartnerEntity.builder()
|
private final HsOfficeRelationshipEntity givenInitialDebitorRel = HsOfficeRelationshipEntity.builder()
|
||||||
.uuid(INITIAL_PARTNER_UUID)
|
.uuid(INITIAL_DEBITOR_REL_UUID)
|
||||||
.build();
|
|
||||||
|
|
||||||
private final HsOfficeContactEntity givenInitialContact = HsOfficeContactEntity.builder()
|
|
||||||
.uuid(INITIAL_CONTACT_UUID)
|
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
private final HsOfficeBankAccountEntity givenInitialBankAccount = HsOfficeBankAccountEntity.builder()
|
private final HsOfficeBankAccountEntity givenInitialBankAccount = HsOfficeBankAccountEntity.builder()
|
||||||
@ -62,8 +56,8 @@ class HsOfficeDebitorEntityPatcherUnitTest extends PatchUnitTestBase<
|
|||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void initMocks() {
|
void initMocks() {
|
||||||
lenient().when(em.getReference(eq(HsOfficeContactEntity.class), any())).thenAnswer(invocation ->
|
lenient().when(em.getReference(eq(HsOfficeRelationshipEntity.class), any())).thenAnswer(invocation ->
|
||||||
HsOfficeContactEntity.builder().uuid(invocation.getArgument(1)).build());
|
HsOfficeRelationshipEntity.builder().uuid(invocation.getArgument(1)).build());
|
||||||
lenient().when(em.getReference(eq(HsOfficeBankAccountEntity.class), any())).thenAnswer(invocation ->
|
lenient().when(em.getReference(eq(HsOfficeBankAccountEntity.class), any())).thenAnswer(invocation ->
|
||||||
HsOfficeBankAccountEntity.builder().uuid(invocation.getArgument(1)).build());
|
HsOfficeBankAccountEntity.builder().uuid(invocation.getArgument(1)).build());
|
||||||
}
|
}
|
||||||
@ -72,9 +66,7 @@ class HsOfficeDebitorEntityPatcherUnitTest extends PatchUnitTestBase<
|
|||||||
protected HsOfficeDebitorEntity newInitialEntity() {
|
protected HsOfficeDebitorEntity newInitialEntity() {
|
||||||
final var entity = new HsOfficeDebitorEntity();
|
final var entity = new HsOfficeDebitorEntity();
|
||||||
entity.setUuid(INITIAL_DEBITOR_UUID);
|
entity.setUuid(INITIAL_DEBITOR_UUID);
|
||||||
// TODO
|
entity.setDebitorRel(givenInitialDebitorRel);
|
||||||
// entity.setPartner(givenInitialPartner);
|
|
||||||
// entity.setBillingContact(givenInitialContact);
|
|
||||||
entity.setBillable(INITIAL_BILLABLE);
|
entity.setBillable(INITIAL_BILLABLE);
|
||||||
entity.setVatId("initial VAT-ID");
|
entity.setVatId("initial VAT-ID");
|
||||||
entity.setVatCountryCode("AA");
|
entity.setVatCountryCode("AA");
|
||||||
@ -98,14 +90,13 @@ class HsOfficeDebitorEntityPatcherUnitTest extends PatchUnitTestBase<
|
|||||||
@Override
|
@Override
|
||||||
protected Stream<Property> propertyTestDescriptors() {
|
protected Stream<Property> propertyTestDescriptors() {
|
||||||
return Stream.of(
|
return Stream.of(
|
||||||
// TODO
|
new JsonNullableProperty<>(
|
||||||
// new JsonNullableProperty<>(
|
"debitorRel",
|
||||||
// "billingContact",
|
HsOfficeDebitorPatchResource::setDebitorRelUuid,
|
||||||
// HsOfficeDebitorPatchResource::setBillingContactUuid,
|
PATCHED_DEBITOR_REL_UUID,
|
||||||
// PATCHED_CONTACT_UUID,
|
HsOfficeDebitorEntity::setDebitorRel,
|
||||||
// HsOfficeDebitorEntity::setBillingContact,
|
newDebitorRel(PATCHED_DEBITOR_REL_UUID))
|
||||||
// newBillingContact(PATCHED_CONTACT_UUID))
|
.notNullable(),
|
||||||
// .notNullable(),
|
|
||||||
new SimpleProperty<>(
|
new SimpleProperty<>(
|
||||||
"billable",
|
"billable",
|
||||||
HsOfficeDebitorPatchResource::setBillable,
|
HsOfficeDebitorPatchResource::setBillable,
|
||||||
@ -131,7 +122,7 @@ class HsOfficeDebitorEntityPatcherUnitTest extends PatchUnitTestBase<
|
|||||||
new SimpleProperty<>(
|
new SimpleProperty<>(
|
||||||
"vatReverseCharge",
|
"vatReverseCharge",
|
||||||
HsOfficeDebitorPatchResource::setVatReverseCharge,
|
HsOfficeDebitorPatchResource::setVatReverseCharge,
|
||||||
PATCHED_BILLABLE,
|
PATCHED_VAT_REVERSE_CHARGE,
|
||||||
HsOfficeDebitorEntity::setVatReverseCharge)
|
HsOfficeDebitorEntity::setVatReverseCharge)
|
||||||
.notNullable(),
|
.notNullable(),
|
||||||
new JsonNullableProperty<>(
|
new JsonNullableProperty<>(
|
||||||
@ -150,15 +141,15 @@ class HsOfficeDebitorEntityPatcherUnitTest extends PatchUnitTestBase<
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private HsOfficeContactEntity newBillingContact(final UUID uuid) {
|
private HsOfficeRelationshipEntity newDebitorRel(final UUID uuid) {
|
||||||
final var newContact = new HsOfficeContactEntity();
|
return HsOfficeRelationshipEntity.builder()
|
||||||
newContact.setUuid(uuid);
|
.uuid(uuid)
|
||||||
return newContact;
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
private HsOfficeBankAccountEntity newBankAccount(final UUID uuid) {
|
private HsOfficeBankAccountEntity newBankAccount(final UUID uuid) {
|
||||||
final var newBankAccount = new HsOfficeBankAccountEntity();
|
return HsOfficeBankAccountEntity.builder()
|
||||||
newBankAccount.setUuid(uuid);
|
.uuid(uuid)
|
||||||
return newBankAccount;
|
.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user