From 63235a16c15928080cc9b3361d6dc8a339aed559 Mon Sep 17 00:00:00 2001 From: Hubert FONGARNAND <hfongarnand@ippon.fr> Date: Thu, 21 Dec 2017 09:55:26 +0100 Subject: [PATCH] Add unit testing with test coverage --- pom.xml | 13 +++++ .../jhipster/bpm/process/TestProcessTest.java | 50 +++++++++++++++++++ 2 files changed, 63 insertions(+) diff --git a/pom.xml b/pom.xml index fa5e97a..af14fc8 100644 --- a/pom.xml +++ b/pom.xml @@ -83,6 +83,7 @@ <!-- jhipster-needle-maven-property --> <camunda.springboot.version>2.3.0</camunda.springboot.version> + <camunda.testcoverage.version>0.3.2</camunda.testcoverage.version> </properties> <dependencyManagement> @@ -109,6 +110,18 @@ <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId> <version>${camunda.springboot.version}</version> </dependency> + <dependency> + <groupId>org.camunda.bpm.springboot</groupId> + <artifactId>camunda-bpm-spring-boot-starter-test</artifactId> + <version>${camunda.springboot.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.camunda.bpm.extension</groupId> + <artifactId>camunda-bpm-process-test-coverage</artifactId> + <version>${camunda.testcoverage.version}</version> + <scope>test</scope> + </dependency> <dependency> <groupId>io.github.jhipster</groupId> <artifactId>jhipster</artifactId> diff --git a/src/test/java/fr/ippon/jhipster/bpm/process/TestProcessTest.java b/src/test/java/fr/ippon/jhipster/bpm/process/TestProcessTest.java index d440db5..5ec4eb5 100644 --- a/src/test/java/fr/ippon/jhipster/bpm/process/TestProcessTest.java +++ b/src/test/java/fr/ippon/jhipster/bpm/process/TestProcessTest.java @@ -1,4 +1,54 @@ package fr.ippon.jhipster.bpm.process; +import fr.ippon.jhipster.bpm.tasks.Printer; +import org.camunda.bpm.engine.runtime.ProcessInstance; +import org.camunda.bpm.engine.test.Deployment; +import org.camunda.bpm.engine.test.ProcessEngineRule; +import org.camunda.bpm.extension.process_test_coverage.junit.rules.ProcessCoverageInMemProcessEngineConfiguration; +import org.camunda.bpm.extension.process_test_coverage.junit.rules.TestCoverageProcessEngineRuleBuilder; +import org.camunda.bpm.spring.boot.starter.test.helper.ProcessEngineRuleRunner; +import org.junit.Before; +import org.junit.ClassRule; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import static org.camunda.bpm.engine.test.assertions.ProcessEngineAssertions.assertThat; +import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.*; +import static org.camunda.bpm.extension.mockito.CamundaMockito.autoMock; +import static org.camunda.bpm.extension.mockito.Expressions.registerMockInstance; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.verify; +import static org.mockito.internal.verification.VerificationModeFactory.times; + +@Deployment(resources = "bpmn/test-1.bpmn") +@RunWith(ProcessEngineRuleRunner.class) public class TestProcessTest { + + private static final String TEST_PROCESS_KEY = "TestProcess"; + + @Rule + @ClassRule + public static ProcessEngineRule rule = TestCoverageProcessEngineRuleBuilder.create((new ProcessCoverageInMemProcessEngineConfiguration()).buildProcessEngine()).build(); + + + private Printer printer; + + @Before + public void init() { + printer = registerMockInstance(Printer.class); + } + + @Test + public void startTestProcess() + { + final ProcessInstance processInstance = runtimeService().startProcessInstanceByKey(TEST_PROCESS_KEY); + assertThat(processInstance).isWaitingAt("StartEvent_1"); + execute(job()); + verify(printer, times(1)).printMessage(any()); + assertThat(processInstance).isEnded(); + } + } -- GitLab