use of org.estatio.module.party.dom.Person in project estatio by estatio.
the class Order_2_IntegTest method can_amend_when_approved.
@Test
public void can_amend_when_approved() throws Exception {
// given
assertNotNull(order);
approve(Person_enum.JonathanPropertyManagerGb.getSecurityUserName(), order);
assertThat(order.getApprovalState()).isEqualTo(OrderApprovalState.APPROVED);
// when
final Order_amend mixin = mixin(Order_amend.class, order);
final String role = mixin.default0Act();
final Person person = mixin.default1Act();
final String comment = "some reason";
// workaround: clear MeService#me cache
queryResultsCache.resetForNextTransaction();
sudoService.sudo(Person_enum.JonathanPropertyManagerGb.getSecurityUserName(), () -> {
wrap(mixin).act(role, person, comment);
});
// then
assertThat(order.getApprovalState()).isEqualTo(OrderApprovalState.NEW);
}
use of org.estatio.module.party.dom.Person in project estatio by estatio.
the class Order_2_IntegTest method approve.
private void approve(final String username, final Order order) {
final Order_completeWithApproval mixin = mixin(Order_completeWithApproval.class, order);
final Person approvedBy = personRepository.autoComplete("***").get(0);
final LocalDate approvedOn = clockService.now();
final String comment = "some comment";
// workaround: clear MeService#me cache
queryResultsCache.resetForNextTransaction();
sudoService.sudo(username, () -> {
wrap(mixin).act(approvedBy, approvedOn, comment);
});
}
use of org.estatio.module.party.dom.Person in project estatio by estatio.
the class BankAccountVerificationState_IntegTest method reject_then_discard_then_update_proof_works_test.
@Test
public void reject_then_discard_then_update_proof_works_test() {
// given
Person personEmmaTreasurer = Person_enum.EmmaTreasurerGb.findUsing(serviceRegistry);
PartyRoleType typeForTreasurer = partyRoleTypeRepository.findByKey(PartyRoleTypeEnum.TREASURER.getKey());
PartyRoleType typeForPropertyManager = partyRoleTypeRepository.findByKey(FixedAssetRoleTypeEnum.PROPERTY_MANAGER.getKey());
assertThat(taskRepository.findIncompleteByRole(typeForPropertyManager).size()).isEqualTo(2);
// when
// workaround: clear MeService#me cache
queryResultsCache.resetForNextTransaction();
sudoService.sudo(personEmmaTreasurer.getUsername(), (Runnable) () -> wrap(mixin(BankAccount_rejectProof.class, bankAccount)).act("PROPERTY_MANAGER", null, "NO GOOD"));
// then
assertState(bankAccount, BankAccountVerificationState.AWAITING_PROOF);
assertThat(taskRepository.findIncompleteByRole(typeForTreasurer).size()).isEqualTo(0);
assertThat(taskRepository.findIncompleteByRole(typeForPropertyManager).size()).isEqualTo(3);
// and given
Person jonathanPropManager = Person_enum.JonathanPropertyManagerGb.findUsing(serviceRegistry);
// and when
// workaround: clear MeService#me cache
queryResultsCache.resetForNextTransaction();
sudoService.sudo(jonathanPropManager.getUsername(), (Runnable) () -> wrap(mixin(BankAccount_discard.class, bankAccount)).act("DISCARDING"));
// then
assertState(bankAccount, BankAccountVerificationState.DISCARDED);
assertThat(taskRepository.findIncompleteByRole(typeForTreasurer).size()).isEqualTo(0);
assertThat(taskRepository.findIncompleteByRole(typeForPropertyManager).size()).isEqualTo(2);
// and when 'resurrecting'
// workaround: clear MeService#me cache
queryResultsCache.resetForNextTransaction();
sudoService.sudo(jonathanPropManager.getUsername(), (Runnable) () -> wrap(mixin(BankAccount_proofUpdated.class, bankAccount)).act("TREASURER", null, null));
// then
assertState(bankAccount, BankAccountVerificationState.NOT_VERIFIED);
assertThat(taskRepository.findIncompleteByRole(typeForTreasurer).size()).isEqualTo(1);
assertThat(taskRepository.findIncompleteByRole(typeForPropertyManager).size()).isEqualTo(2);
// and when discarding again by treasurer
// workaround: clear MeService#me cache
queryResultsCache.resetForNextTransaction();
sudoService.sudo(personEmmaTreasurer.getUsername(), (Runnable) () -> wrap(mixin(BankAccount_discard.class, bankAccount)).act("DISCARDING"));
assertState(bankAccount, BankAccountVerificationState.DISCARDED);
assertThat(taskRepository.findIncompleteByRole(typeForTreasurer).size()).isEqualTo(0);
}
Aggregations