hs-office-sepamandate simplyfied controller code
This commit is contained in:
parent
0232ff078d
commit
27f29ef665
@ -3,10 +3,10 @@ package net.hostsharing.hsadminng.hs.office.sepamandate;
|
|||||||
import com.vladmihalcea.hibernate.type.range.Range;
|
import com.vladmihalcea.hibernate.type.range.Range;
|
||||||
import net.hostsharing.hsadminng.Mapper;
|
import net.hostsharing.hsadminng.Mapper;
|
||||||
import net.hostsharing.hsadminng.context.Context;
|
import net.hostsharing.hsadminng.context.Context;
|
||||||
import net.hostsharing.hsadminng.hs.office.bankaccount.HsOfficeBankAccountEntity;
|
|
||||||
import net.hostsharing.hsadminng.hs.office.debitor.HsOfficeDebitorEntity;
|
|
||||||
import net.hostsharing.hsadminng.hs.office.generated.api.v1.api.HsOfficeSepaMandatesApi;
|
import net.hostsharing.hsadminng.hs.office.generated.api.v1.api.HsOfficeSepaMandatesApi;
|
||||||
import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.*;
|
import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficeSepaMandateInsertResource;
|
||||||
|
import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficeSepaMandatePatchResource;
|
||||||
|
import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficeSepaMandateResource;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@ -135,8 +135,6 @@ public class HsOfficeSepaMandateController implements HsOfficeSepaMandatesApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final BiConsumer<HsOfficeSepaMandateEntity, HsOfficeSepaMandateResource> SEPA_MANDATE_ENTITY_TO_RESOURCE_POSTMAPPER = (entity, resource) -> {
|
final BiConsumer<HsOfficeSepaMandateEntity, HsOfficeSepaMandateResource> SEPA_MANDATE_ENTITY_TO_RESOURCE_POSTMAPPER = (entity, resource) -> {
|
||||||
resource.setDebitor(map(entity.getDebitor(), HsOfficeDebitorResource.class));
|
|
||||||
resource.setBankAccount(map(entity.getBankAccount(), HsOfficeBankAccountResource.class));
|
|
||||||
resource.setValidFrom(entity.getValidity().lower());
|
resource.setValidFrom(entity.getValidity().lower());
|
||||||
if (entity.getValidity().hasUpperBound()) {
|
if (entity.getValidity().hasUpperBound()) {
|
||||||
resource.setValidTo(entity.getValidity().upper().minusDays(1));
|
resource.setValidTo(entity.getValidity().upper().minusDays(1));
|
||||||
@ -144,8 +142,6 @@ public class HsOfficeSepaMandateController implements HsOfficeSepaMandatesApi {
|
|||||||
};
|
};
|
||||||
|
|
||||||
final BiConsumer<HsOfficeSepaMandateInsertResource, HsOfficeSepaMandateEntity> SEPA_MANDATE_RESOURCE_TO_ENTITY_POSTMAPPER = (resource, entity) -> {
|
final BiConsumer<HsOfficeSepaMandateInsertResource, HsOfficeSepaMandateEntity> SEPA_MANDATE_RESOURCE_TO_ENTITY_POSTMAPPER = (resource, entity) -> {
|
||||||
entity.setDebitor(em.getReference(HsOfficeDebitorEntity.class, resource.getDebitorUuid()));
|
|
||||||
entity.setBankAccount(em.getReference(HsOfficeBankAccountEntity.class, resource.getBankAccountUuid()));
|
|
||||||
entity.setValidity(toPostgresDateRange(resource.getValidFrom(), resource.getValidTo()));
|
entity.setValidity(toPostgresDateRange(resource.getValidFrom(), resource.getValidTo()));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -339,7 +339,7 @@ class HsOfficeSepaMandateControllerAcceptanceTest {
|
|||||||
void globalAdmin_canPatchValidToOfArbitrarySepaMandate() {
|
void globalAdmin_canPatchValidToOfArbitrarySepaMandate() {
|
||||||
|
|
||||||
context.define("superuser-alex@hostsharing.net");
|
context.define("superuser-alex@hostsharing.net");
|
||||||
final var givenSepaMandate = givenSomeTemporarySepaMandateBessler();
|
final var givenSepaMandate = givenSomeTemporarySepaMandate();
|
||||||
|
|
||||||
final var location = RestAssured // @formatter:off
|
final var location = RestAssured // @formatter:off
|
||||||
.given()
|
.given()
|
||||||
@ -379,7 +379,7 @@ class HsOfficeSepaMandateControllerAcceptanceTest {
|
|||||||
void globalAdmin_canNotPatchReferenceOfArbitrarySepaMandate() {
|
void globalAdmin_canNotPatchReferenceOfArbitrarySepaMandate() {
|
||||||
|
|
||||||
context.define("superuser-alex@hostsharing.net");
|
context.define("superuser-alex@hostsharing.net");
|
||||||
final var givenSepaMandate = givenSomeTemporarySepaMandateBessler();
|
final var givenSepaMandate = givenSomeTemporarySepaMandate();
|
||||||
|
|
||||||
final var location = RestAssured // @formatter:off
|
final var location = RestAssured // @formatter:off
|
||||||
.given()
|
.given()
|
||||||
@ -415,7 +415,7 @@ class HsOfficeSepaMandateControllerAcceptanceTest {
|
|||||||
@Test
|
@Test
|
||||||
void globalAdmin_canDeleteArbitrarySepaMandate() {
|
void globalAdmin_canDeleteArbitrarySepaMandate() {
|
||||||
context.define("superuser-alex@hostsharing.net");
|
context.define("superuser-alex@hostsharing.net");
|
||||||
final var givenSepaMandate = givenSomeTemporarySepaMandateBessler();
|
final var givenSepaMandate = givenSomeTemporarySepaMandate();
|
||||||
|
|
||||||
RestAssured // @formatter:off
|
RestAssured // @formatter:off
|
||||||
.given()
|
.given()
|
||||||
@ -434,7 +434,7 @@ class HsOfficeSepaMandateControllerAcceptanceTest {
|
|||||||
@Accepts({ "SepaMandate:X(Access Control)" })
|
@Accepts({ "SepaMandate:X(Access Control)" })
|
||||||
void bankAccountAdminUser_canNotDeleteRelatedSepaMandate() {
|
void bankAccountAdminUser_canNotDeleteRelatedSepaMandate() {
|
||||||
context.define("superuser-alex@hostsharing.net");
|
context.define("superuser-alex@hostsharing.net");
|
||||||
final var givenSepaMandate = givenSomeTemporarySepaMandateBessler();
|
final var givenSepaMandate = givenSomeTemporarySepaMandate();
|
||||||
assertThat(givenSepaMandate.getReference()).isEqualTo("temp ref X");
|
assertThat(givenSepaMandate.getReference()).isEqualTo("temp ref X");
|
||||||
|
|
||||||
RestAssured // @formatter:off
|
RestAssured // @formatter:off
|
||||||
@ -454,7 +454,7 @@ class HsOfficeSepaMandateControllerAcceptanceTest {
|
|||||||
@Accepts({ "SepaMandate:X(Access Control)" })
|
@Accepts({ "SepaMandate:X(Access Control)" })
|
||||||
void normalUser_canNotDeleteUnrelatedSepaMandate() {
|
void normalUser_canNotDeleteUnrelatedSepaMandate() {
|
||||||
context.define("superuser-alex@hostsharing.net");
|
context.define("superuser-alex@hostsharing.net");
|
||||||
final var givenSepaMandate = givenSomeTemporarySepaMandateBessler();
|
final var givenSepaMandate = givenSomeTemporarySepaMandate();
|
||||||
assertThat(givenSepaMandate.getReference()).isEqualTo("temp ref X");
|
assertThat(givenSepaMandate.getReference()).isEqualTo("temp ref X");
|
||||||
|
|
||||||
RestAssured // @formatter:off
|
RestAssured // @formatter:off
|
||||||
@ -471,7 +471,7 @@ class HsOfficeSepaMandateControllerAcceptanceTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private HsOfficeSepaMandateEntity givenSomeTemporarySepaMandateBessler() {
|
private HsOfficeSepaMandateEntity givenSomeTemporarySepaMandate() {
|
||||||
return jpaAttempt.transacted(() -> {
|
return jpaAttempt.transacted(() -> {
|
||||||
context.define("superuser-alex@hostsharing.net");
|
context.define("superuser-alex@hostsharing.net");
|
||||||
final var givenDebitor = debitorRepo.findDebitorByOptionalNameLike("First").get(0);
|
final var givenDebitor = debitorRepo.findDebitorByOptionalNameLike("First").get(0);
|
||||||
|
Loading…
Reference in New Issue
Block a user