use of org.incode.platform.dom.communications.integtests.dom.communications.fixture.DemoObjectWithNotes_and_DemoInvoice_and_docs_and_comms_recreate in project estatio by estatio.
the class CommunicationChannelSubscription_Integtest method setUp.
@Before
public void setUp() throws Exception {
// given
fixtureScripts.runFixtureScript(new DemoObjectWithNotes_and_DemoInvoice_and_docs_and_comms_recreate(), null);
transactionService.nextTransaction();
// and so given customer with an email
final DemoObjectWithNotes fred = customerMenu.findDemoObjectsWithNotesByName(DemoObjectWithNote_and_DemoInvoice_create3.FRED_HAS_EMAIL_AND_PHONE).get(0);
final EmailAddress fredEmail = (EmailAddress) linkRepository.findByOwnerAndCommunicationChannelType(fred, CommunicationChannelType.EMAIL_ADDRESS).get(0).getCommunicationChannel();
}
use of org.incode.platform.dom.communications.integtests.dom.communications.fixture.DemoObjectWithNotes_and_DemoInvoice_and_docs_and_comms_recreate in project estatio by estatio.
the class Smoke_IntegTest method can_create_postal_address.
@Test
public void can_create_postal_address() throws Exception {
// given
fixtureScripts.runFixtureScript(new DemoObjectWithNotes_and_DemoInvoice_and_docs_and_comms_recreate(), null);
transactionService.nextTransaction();
// and so given customer with an email
final DemoObjectWithNotes mary = customerMenu.findDemoObjectsWithNotesByName(DemoObjectWithNote_and_DemoInvoice_create3.MARY_HAS_PHONE_AND_POST).get(0);
final PostalAddress maryPost = (PostalAddress) linkRepository.findByOwnerAndCommunicationChannelType(mary, CommunicationChannelType.POSTAL_ADDRESS).get(0).getCommunicationChannel();
// and with an invoice
final DemoInvoice fredInvoice = invoiceRepository.findByCustomer(mary).get(0);
// that has an attached document
final Paperclip paperclip = paperclipRepository.findByAttachedTo(fredInvoice).get(0);
final DocumentAbstract document = paperclip.getDocument();
// when
final Document_sendByPost documentPrint = mixin(Document_sendByPost.class, document);
final Set<PostalAddress> postalAddresses = documentPrint.choices0Act();
// then
assertThat(postalAddresses).contains(maryPost);
// and when
final Communication comm = wrap(documentPrint).act(maryPost);
// then
assertThat(comm).isNotNull();
assertThat(comm.getState()).isEqualTo(CommunicationState.PENDING);
// same as emails
assertThat(comm.getCreatedAt()).isNotNull();
assertThat(comm.getType()).isEqualTo(CommunicationChannelType.POSTAL_ADDRESS);
assertThat(comm.getSubject()).isNotNull();
assertThat(comm.getSentAt()).isNull();
final List<CommunicationChannel> correspondentChannels = Lists.newArrayList(comm.getCorrespondents()).stream().map(CommChannelRole::getChannel).filter(Objects::nonNull).collect(Collectors.toList());
assertThat(correspondentChannels).contains(maryPost);
// when
final Communication_downloadPdfForPosting mixin = mixin(Communication_downloadPdfForPosting.class, comm);
wrap(mixin).act(mixin.default0Act());
// then
assertThat(comm.getState()).isEqualTo(CommunicationState.SENT);
assertThat(comm.getSentAt()).isNotNull();
}
Aggregations