@Test public void BGC_transfer() throws Exception { fakeSparService.add(OTHER_PERSONAL_IDENTIFIER, ADDRESS); Map<String, Object> properties = new HashMap<>(); properties.put("personalIdentifier", OTHER_PERSONAL_IDENTIFIER); String ocr = "5450897"; properties.put("ocr", ocr); runtimeService.startProcessInstanceByMessage("create-insurance", ocr, properties); when_all_jobs_within_X_days_are_executed(10); Execution execution = runtimeService .createExecutionQuery() .messageEventSubscriptionName("bgc") .processVariableValueEquals("ocr", ocr) .singleResult(); assertThat(execution, notNullValue()); Map<String, Object> eventProperties = new HashMap<String, Object>(); properties.put("amount", 56000); runtimeService.messageEventReceived("bgc", execution.getId(), eventProperties); }
@Test public void person_missing_in_SPAR() throws Exception { Optional<SparResult> existing = fakeSparService.findBy(MISSING_PERSONAL_IDENTIFIER); assertThat(existing, isAbsent()); Map<String, Object> properties = new HashMap<>(); properties.put("personalIdentifier", MISSING_PERSONAL_IDENTIFIER); properties.put("ocr", OCR); runtimeService.startProcessInstanceByMessage("create-insurance", OCR, properties); when_all_jobs_within_X_days_are_executed(10); List<Message> messages = outbox.receivedAfter(Instant.now().minus(Duration.ofHours(1))); assertThat(messages, hasSize(1)); String payload = messages.get(0).getPayload(); assertThat(payload, isJson(withProperty("messageType", equalTo("\"person-does-not-exist\"")))); assertThat( payload, isJson( withProperty( "personalIdentifier", equalTo("\"" + MISSING_PERSONAL_IDENTIFIER.getValue() + "\"")))); assertThat(payload, isJson(withProperty("ocr", equalTo("\"" + OCR + "\"")))); }
@Test public void person_who_exists_in_SPAR() throws Exception { fakeSparService.add(EXISTING_PERSONAL_IDENTIFIER, ADDRESS); Map<String, Object> properties = new HashMap<>(); properties.put("personalIdentifier", EXISTING_PERSONAL_IDENTIFIER); properties.put("ocr", OCR); runtimeService.startProcessInstanceByMessage("create-insurance", OCR, properties); when_all_jobs_within_X_days_are_executed(10); Optional<? extends Customer> customer = customerRepository.findBy(EXISTING_PERSONAL_IDENTIFIER); assertThat(customer, hasValue(hasAddress(ADDRESS))); List<? extends Insurance> insurances = insuranceRepository.findBy(customer.get()); assertThat(insurances, hasSize(1)); InsuranceNumber insuranceNumber = insurances.get(0).getInsuranceNumber(); List<Message> messages = outbox.receivedAfter(Instant.now().minus(Duration.ofHours(1))); assertThat(messages, hasSize(1)); String payload = messages.get(0).getPayload(); assertThat(payload, isJson(withProperty("messageType", equalTo("\"insurance-created\"")))); assertThat( payload, isJson( withProperty( "personalIdentifier", equalTo("\"" + EXISTING_PERSONAL_IDENTIFIER.getValue() + "\"")))); assertThat(payload, isJson(withProperty("ocr", equalTo("\"" + OCR + "\"")))); assertThat( payload, isJson(withProperty("insuranceNumber", equalTo(insuranceNumber.getValue().toString())))); }