This is an automated email from the ASF dual-hosted git repository.
ashishvijaywargiya pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-plugins.git
The following commit(s) were added to refs/heads/trunk by this push:
new 0cf87bde7 JUnit3 to JUnit5(Jupiter) Runner Migration for OFBiz Test
Cases/ Integration Tests - Migration of plugins test cases (#344)
0cf87bde7 is described below
commit 0cf87bde73e8ea92205375adf7fe58f005c4528d
Author: Ashish Vijaywargiya <[email protected]>
AuthorDate: Fri Jul 31 10:26:42 2026 +0530
JUnit3 to JUnit5(Jupiter) Runner Migration for OFBiz Test Cases/
Integration Tests - Migration of plugins test cases (#344)
JUnit3 to JUnit5(Jupiter) Runner Migration for OFBiz Test Cases/
Integration Tests - Migration of plugins test cases
1) Migrated the last 12 real (non-example) JUnit3 test files to Jupiter
- assetmaint's FixedAssetMaintTests, ecommerce's OrderNotificationTests,
lucene's LuceneTests, and all 10 scrum test files - dropping each file's
(String name) constructor, implementing JupiterTestHelper instead of
extending OFBizTestCase, annotating methods @Test, and moving sources
from src/main to src/test to match the convention already used by other
components' test files.
2) Swapped each migrated file's testdef entry from <junit-test-suite> to
<jupiter-test-suite> (assetmainttests.xml, EcommerceTest.xml,
lucenetests.xml, scrumTests.xml), and reordered LuceneTests.java's
assertion calls from JUnit3/4's (message, expected, actual) argument
order to JUnit 5's (expected, actual, message).
3) Added @Order to every @Test method in scrum's multi-method files,
proven necessary because JUnit 5's own default ordering ran
testAddSprintMember before testRemoveSprintMember and tripped a real,
pre-existing de-dup check in assignPartyToWorkEffort on a stale,
non-expiring WorkEffortPartyAssignment; files verified order-independent
by inspection (assetmaint's FixedAssetMaintTests, ecommerce's
OrderNotificationTests, lucene's single-method LuceneTests) were left
without @Order.
4) plugins/example gained a new ExampleJupiterTests.groovy
(parameterized-test and @Disabled demo) wired through a new
example-tests-jupiter test-case, kept side-by-side with the untouched
JUnit 3 ExampleTests.groovy as the old/new reference pair; both branches
were verified together with a full cleanAll/loadAll plus testIntegration
run, with every suite passing, including all four migrated plugin suites
- assetmainttests, ecommercetests, lucenetests, and scrumtests.
---
.../assetmaint/test/FixedAssetMaintTests.groovy | 15 ++--
assetmaint/testdef/assetmainttests.xml | 2 +-
.../order/test/OrderNotificationTests.groovy | 20 +++--
ecommerce/testdef/EcommerceTest.xml | 2 +-
.../apache/ofbiz/example/test/ExampleTests.groovy | 0
.../test/jupiter/ExampleJupiterTests.groovy | 86 ++++++++++++++++++++++
example/testdef/tests.xml | 4 +
.../org/apache/ofbiz/content/test/LuceneTests.java | 24 +++---
lucene/testdef/lucenetests.xml | 2 +-
.../scrum/test/DailyMeetingMinuteTests.groovy | 12 +--
.../org/apache/ofbiz/scrum/test/MyWorkTests.groovy | 24 ++++--
.../ofbiz/scrum/test/ProductBacklogTests.groovy | 34 +++++++--
.../apache/ofbiz/scrum/test/ProductTests.groovy | 18 +++--
.../ofbiz/scrum/test/ScrumProjectTests.groovy | 20 +++--
.../org/apache/ofbiz/scrum/test/ScrumTests.groovy | 12 +--
.../ofbiz/scrum/test/SprintBacklogTests.groovy | 20 +++--
.../org/apache/ofbiz/scrum/test/SprintTests.groovy | 32 ++++++--
.../org/apache/ofbiz/scrum/test/TaskTests.groovy | 12 +--
.../apache/ofbiz/scrum/test/TimesheetTests.groovy | 12 +--
scrum/testdef/scrumTests.xml | 20 ++---
20 files changed, 274 insertions(+), 97 deletions(-)
diff --git
a/assetmaint/src/main/groovy/org/apache/ofbiz/assetmaint/assetmaint/test/FixedAssetMaintTests.groovy
b/assetmaint/src/test/groovy/org/apache/ofbiz/assetmaint/assetmaint/test/FixedAssetMaintTests.groovy
similarity index 96%
rename from
assetmaint/src/main/groovy/org/apache/ofbiz/assetmaint/assetmaint/test/FixedAssetMaintTests.groovy
rename to
assetmaint/src/test/groovy/org/apache/ofbiz/assetmaint/assetmaint/test/FixedAssetMaintTests.groovy
index 071ee1d0b..ee97a2322 100644
---
a/assetmaint/src/main/groovy/org/apache/ofbiz/assetmaint/assetmaint/test/FixedAssetMaintTests.groovy
+++
b/assetmaint/src/test/groovy/org/apache/ofbiz/assetmaint/assetmaint/test/FixedAssetMaintTests.groovy
@@ -20,14 +20,14 @@ package org.apache.ofbiz.assetmaint.assetmaint.test
import org.apache.ofbiz.base.util.UtilDateTime
import org.apache.ofbiz.entity.GenericValue
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Test
-class FixedAssetMaintTests extends OFBizTestCase {
-
- public FixedAssetMaintTests(String name) {
- super(name)
- }
+@JunitJupiterTest
+class FixedAssetMaintTests implements JupiterTestHelper {
+ @Test
void testCreateFixedAssetMaintUpdateWorkEffortWithProductMaint() {
// Test case for service createFixedAssetMaintUpdateWorkEffort with a
product Maintenance
String fixedAssetId = 'DEMO_VEHICLE_01'
@@ -54,6 +54,8 @@ class FixedAssetMaintTests extends OFBizTestCase {
assert workEffort.estimatedCompletionDate ==
serviceCtx.estimatedCompletionDate
assert workEffort.actualStartDate == serviceCtx.actualStartDate
}
+
+ @Test
void testCreateFixedAssetMaintUpdateWorkEffortWithoutProductMaint() {
// Test case for service createFixedAssetMaintUpdateWorkEffort without
a product maintenance
String fixedAssetId = 'DEMO_VEHICLE_01'
@@ -84,6 +86,7 @@ class FixedAssetMaintTests extends OFBizTestCase {
assert workEffort.actualStartDate == serviceCtx.actualStartDate
}
+ @Test
void testUpdateFixedAssetMaintAndWorkEffort() {
// Test case for service updateFixedAssetMaintAndWorkEffort
String fixedAssetId = 'DEMO_VEHICLE_01'
diff --git a/assetmaint/testdef/assetmainttests.xml
b/assetmaint/testdef/assetmainttests.xml
index 8300b0a05..31c48b915 100644
--- a/assetmaint/testdef/assetmainttests.xml
+++ b/assetmaint/testdef/assetmainttests.xml
@@ -23,6 +23,6 @@
xsi:noNamespaceSchemaLocation="https://ofbiz.apache.org/dtds/test-suite.xsd">
<test-case case-name="assetmaint-tests">
- <junit-test-suite
class-name="org.apache.ofbiz.assetmaint.assetmaint.test.FixedAssetMaintTests"/>
+ <jupiter-test-suite
class-name="org.apache.ofbiz.assetmaint.assetmaint.test.FixedAssetMaintTests"/>
</test-case>
</test-suite>
diff --git
a/ecommerce/src/main/groovy/org/apache/ofbiz/ecommerce/order/test/OrderNotificationTests.groovy
b/ecommerce/src/test/groovy/org/apache/ofbiz/ecommerce/order/test/OrderNotificationTests.groovy
similarity index 91%
rename from
ecommerce/src/main/groovy/org/apache/ofbiz/ecommerce/order/test/OrderNotificationTests.groovy
rename to
ecommerce/src/test/groovy/org/apache/ofbiz/ecommerce/order/test/OrderNotificationTests.groovy
index 60b6653c3..0d9a3e0d2 100644
---
a/ecommerce/src/main/groovy/org/apache/ofbiz/ecommerce/order/test/OrderNotificationTests.groovy
+++
b/ecommerce/src/test/groovy/org/apache/ofbiz/ecommerce/order/test/OrderNotificationTests.groovy
@@ -19,14 +19,14 @@
package org.apache.ofbiz.ecommerce.order.test
import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Test
-class OrderNotificationTests extends OFBizTestCase {
-
- public OrderNotificationTests(String name) {
- super(name)
- }
+@JunitJupiterTest
+class OrderNotificationTests implements JupiterTestHelper {
+ @Test
void testSendOrderConfirmation() {
Map serviceCtx = [
orderId: 'TEST_DEMO10090',
@@ -37,6 +37,8 @@ class OrderNotificationTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(serviceResult)
assert serviceResult.emailType == 'PRDS_ODR_CONFIRM'
}
+
+ @Test
void testSendOrderChangeNotification() {
Map serviceCtx = [
orderId: 'TEST_DEMO10090',
@@ -49,6 +51,8 @@ class OrderNotificationTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(serviceResult)
assert serviceResult.emailType == 'PRDS_ODR_CHANGE'
}
+
+ @Test
void testSendOrderBackorderNotification() {
Map serviceCtx = [
orderId: 'TEST_DEMO10090',
@@ -59,6 +63,8 @@ class OrderNotificationTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(serviceResult)
assert serviceResult.emailType == 'PRDS_ODR_BACKORDER'
}
+
+ @Test
void testsendOrderPayRetryNotification() {
Map serviceCtx = [
orderId: 'TEST_DEMO10090',
@@ -69,6 +75,8 @@ class OrderNotificationTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(serviceResult)
assert serviceResult.emailType == 'PRDS_ODR_PAYRETRY'
}
+
+ @Test
void testsendOrderCompleteNotification() {
Map serviceCtx = [
orderId: 'TEST_DEMO10090',
diff --git a/ecommerce/testdef/EcommerceTest.xml
b/ecommerce/testdef/EcommerceTest.xml
index 3408ccc8e..efc58390c 100644
--- a/ecommerce/testdef/EcommerceTest.xml
+++ b/ecommerce/testdef/EcommerceTest.xml
@@ -25,6 +25,6 @@ under the License.
<entity-xml action="load"
entity-xml-url="component://order/testdef/data/OrderTestData.xml"/>
</test-case>
<test-case case-name="ecommerce-notification-tests">
- <junit-test-suite
class-name="org.apache.ofbiz.ecommerce.order.test.OrderNotificationTests"/>
+ <jupiter-test-suite
class-name="org.apache.ofbiz.ecommerce.order.test.OrderNotificationTests"/>
</test-case>
</test-suite>
diff --git
a/example/src/main/groovy/org/apache/ofbiz/example/test/ExampleTests.groovy
b/example/src/test/groovy/org/apache/ofbiz/example/test/ExampleTests.groovy
similarity index 100%
rename from
example/src/main/groovy/org/apache/ofbiz/example/test/ExampleTests.groovy
rename to
example/src/test/groovy/org/apache/ofbiz/example/test/ExampleTests.groovy
diff --git
a/example/src/test/groovy/org/apache/ofbiz/example/test/jupiter/ExampleJupiterTests.groovy
b/example/src/test/groovy/org/apache/ofbiz/example/test/jupiter/ExampleJupiterTests.groovy
new file mode 100644
index 000000000..7e4b74be1
--- /dev/null
+++
b/example/src/test/groovy/org/apache/ofbiz/example/test/jupiter/ExampleJupiterTests.groovy
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ofbiz.example.test.jupiter
+
+import org.apache.ofbiz.entity.GenericValue
+import org.apache.ofbiz.service.ServiceUtil
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Disabled
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.params.ParameterizedTest
+import org.junit.jupiter.params.provider.CsvSource
+
+/**
+ * Jupiter test-cases run through testdef's jupiter-test-suite element (see
plugins/example/testdef/tests.xml),
+ * side-by-side with org.apache.ofbiz.example.test.ExampleTests in the same
test-suite. Runs inside the full
+ * ofbiz --test container, so JupiterTestExtension injects the suite's own
Delegator/LocalDispatcher.
+ * Implementing JupiterTestHelper needs no field declarations, yet Groovy's
getter-as-property syntax still
+ * exposes them as bare delegator/dispatcher (backed by JupiterTestHelper's
getDelegator()/getDispatcher()),
+ * so call sites read exactly like the old field-injection style -
delegator.findOne(...), dispatcher.runSync(...).
+ *
+ * <p>Demonstrates a {@code @ParameterizedTest} with real CSV-driven
invocations, and a
+ * {@code @Disabled} test that shows up as a logged, reportable skip instead
of silently disappearing.
+ */
+@JunitJupiterTest
+class ExampleJupiterTests implements JupiterTestHelper {
+
+ @Test
+ void shouldCreateExample() {
+ GenericValue userLogin = delegator.findOne('UserLogin', [userLoginId:
'system'], false)
+ Map<String, Object> result = dispatcher.runSync('createExample', [
+ exampleTypeId: 'CONTRIVED',
+ exampleName: 'Test Example - Integration',
+ statusId: 'EXST_IN_DESIGN',
+ userLogin: userLogin
+ ])
+ assert ServiceUtil.isSuccess(result)
+
+ GenericValue example = from('Example').where('exampleId',
result.exampleId).queryOne()
+ assert example != null
+ assert example.exampleTypeId == 'CONTRIVED'
+ }
+
+ @ParameterizedTest(name = '[{index}] exampleTypeId={0}')
+ @CsvSource([
+ 'CONTRIVED',
+ 'INSPIRED',
+ 'REAL_WORLD',
+ 'MADE_UP'
+ ])
+ void shouldCreateExampleAcrossTypes(String exampleTypeId) {
+ GenericValue userLogin = delegator.findOne('UserLogin', [userLoginId:
'system'], false)
+ Map<String, Object> result = dispatcher.runSync('createExample', [
+ exampleTypeId: exampleTypeId,
+ exampleName: 'Test Example - ' + exampleTypeId,
+ statusId: 'EXST_IN_DESIGN',
+ userLogin: userLogin
+ ])
+ assert ServiceUtil.isSuccess(result)
+ }
+
+ @Disabled('OFBIZ-XXXXX: sample only - demonstrates a documented,
reportable skip; not a real defect')
+ @Test
+ void shouldUpdateExampleUnderConcurrentLoad() {
+ GenericValue userLogin = delegator.findOne('UserLogin', [userLoginId:
'system'], false)
+ Map<String, Object> result = dispatcher.runSync('updateExample',
[exampleId: 'TestExampleUpdate', userLogin: userLogin])
+ assert ServiceUtil.isSuccess(result)
+ }
+
+}
diff --git a/example/testdef/tests.xml b/example/testdef/tests.xml
index c775ca861..b2189bd68 100644
--- a/example/testdef/tests.xml
+++ b/example/testdef/tests.xml
@@ -33,4 +33,8 @@ under the License.
<test-case case-name="example-tests-groovy">
<junit-test-suite
class-name="org.apache.ofbiz.example.test.ExampleTests"/>
</test-case>
+
+ <test-case case-name="example-tests-jupiter">
+ <jupiter-test-suite
class-name="org.apache.ofbiz.example.test.jupiter.ExampleJupiterTests"/>
+ </test-case>
</test-suite>
diff --git
a/lucene/src/main/java/org/apache/ofbiz/content/test/LuceneTests.java
b/lucene/src/test/java/org/apache/ofbiz/content/test/LuceneTests.java
similarity index 84%
rename from lucene/src/main/java/org/apache/ofbiz/content/test/LuceneTests.java
rename to lucene/src/test/java/org/apache/ofbiz/content/test/LuceneTests.java
index 1026d3138..f9675b5f1 100644
--- a/lucene/src/main/java/org/apache/ofbiz/content/test/LuceneTests.java
+++ b/lucene/src/test/java/org/apache/ofbiz/content/test/LuceneTests.java
@@ -19,6 +19,10 @@
package org.apache.ofbiz.content.test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
import java.io.File;
import java.util.HashMap;
import java.util.Map;
@@ -37,24 +41,20 @@ import org.apache.lucene.store.FSDirectory;
import org.apache.ofbiz.base.util.Debug;
import org.apache.ofbiz.content.search.SearchWorker;
import org.apache.ofbiz.service.ServiceUtil;
-import org.apache.ofbiz.service.testtools.OFBizTestCase;
+import org.apache.ofbiz.testtools.JunitJupiterTest;
+import org.apache.ofbiz.testtools.JupiterTestHelper;
+import org.junit.jupiter.api.Test;
-public class LuceneTests extends OFBizTestCase {
+@JunitJupiterTest
+public class LuceneTests implements JupiterTestHelper {
private static final String MODULE = LuceneTests.class.getName();
- public LuceneTests(String name) {
- super(name);
- }
-
- @Override
- protected void tearDown() throws Exception {
- }
-
/**
* Test search term hand.
* @throws Exception the exception
*/
+ @Test
public void testSearchTermHand() throws Exception {
Map<String, Object> ctx = new HashMap<>();
ctx.put("contentId", "LuceneCONTENT");
@@ -64,7 +64,7 @@ public class LuceneTests extends OFBizTestCase {
String errorMessage = ServiceUtil.getErrorMessage(resp);
throw new Exception(errorMessage);
}
- assertTrue("Could not init search index", ServiceUtil.isSuccess(resp));
+ assertTrue(ServiceUtil.isSuccess(resp), "Could not init search index");
try {
Thread.sleep(3000); // sleep 3 seconds to give enough time to the
indexer to process the entries
@@ -94,6 +94,6 @@ public class LuceneTests extends OFBizTestCase {
TopDocs topDocs = searcher.search(combQuery, 10);
- assertEquals("Only 1 result expected from the testdata", 1, (int)
topDocs.totalHits.value);
+ assertEquals(1, (int) topDocs.totalHits.value, "Only 1 result expected
from the testdata");
}
}
diff --git a/lucene/testdef/lucenetests.xml b/lucene/testdef/lucenetests.xml
index 722fb02fc..4a9d4868f 100644
--- a/lucene/testdef/lucenetests.xml
+++ b/lucene/testdef/lucenetests.xml
@@ -26,6 +26,6 @@ under the License.
<entity-xml action="load"
entity-xml-url="component://lucene/testdef/data/LuceneTestsData.xml"/>
</test-case>
- <test-case case-name="lucene-tests"><junit-test-suite
class-name="org.apache.ofbiz.content.test.LuceneTests"/></test-case>
+ <test-case case-name="lucene-tests"><jupiter-test-suite
class-name="org.apache.ofbiz.content.test.LuceneTests"/></test-case>
</test-suite>
diff --git
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/DailyMeetingMinuteTests.groovy
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/DailyMeetingMinuteTests.groovy
similarity index 88%
rename from
scrum/src/main/groovy/org/apache/ofbiz/scrum/test/DailyMeetingMinuteTests.groovy
rename to
scrum/src/test/groovy/org/apache/ofbiz/scrum/test/DailyMeetingMinuteTests.groovy
index 9cef8cf94..c11bffcd9 100644
---
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/DailyMeetingMinuteTests.groovy
+++
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/DailyMeetingMinuteTests.groovy
@@ -19,17 +19,17 @@
package org.apache.ofbiz.scrum.test
import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Test
-class DailyMeetingMinuteTests extends OFBizTestCase {
-
- DailyMeetingMinuteTests(String name) {
- super(name)
- }
+@JunitJupiterTest
+class DailyMeetingMinuteTests implements JupiterTestHelper {
// Migrated from DailyMeetingMinuteTests.xml:testDailyMinute
// Original called createDailyNote event in ScrumEvents.xml which creates
NoteData + WorkEffortNote.
// Equivalent: call createWorkEffortNote service which does the same.
+ @Test
void testDailyMinute() {
Map serviceCtx = [
workEffortId: 'DEMO-SPRINT-1',
diff --git
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/MyWorkTests.groovy
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/MyWorkTests.groovy
similarity index 92%
rename from scrum/src/main/groovy/org/apache/ofbiz/scrum/test/MyWorkTests.groovy
rename to scrum/src/test/groovy/org/apache/ofbiz/scrum/test/MyWorkTests.groovy
index 889f48393..3c7633ad4 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/MyWorkTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/MyWorkTests.groovy
@@ -21,15 +21,17 @@ package org.apache.ofbiz.scrum.test
import org.apache.ofbiz.entity.GenericValue
import org.apache.ofbiz.entity.util.EntityQuery
import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Order
+import org.junit.jupiter.api.Test
-class MyWorkTests extends OFBizTestCase {
-
- MyWorkTests(String name) {
- super(name)
- }
+@JunitJupiterTest
+class MyWorkTests implements JupiterTestHelper {
// Migrated from
MyWorkTests.xml:testUpdateTimesheetEntryByWorkeffortNotComplete
+ @Test
+ @Order(1)
void testUpdateTimesheetEntryByWorkeffortNotComplete() {
Map serviceCtx = [
timesheetId: 'DEMO-TIMESHEET1',
@@ -45,6 +47,8 @@ class MyWorkTests extends OFBizTestCase {
}
// Migrated from
MyWorkTests.xml:testUpdateTimesheetEntryByWorkeffortComplete
+ @Test
+ @Order(2)
void testUpdateTimesheetEntryByWorkeffortComplete() {
Map serviceCtx = [
timesheetId: 'DEMO-TIMESHEET1',
@@ -61,6 +65,8 @@ class MyWorkTests extends OFBizTestCase {
// Migrated from MyWorkTests.xml:testUpdateTask
// Original called updateTask event in ScrumEvents.xml which internally
calls updateWorkEffort.
+ @Test
+ @Order(3)
void testUpdateTask() {
Map serviceCtx = [
workEffortId: 'DEMO-TASK-2',
@@ -72,6 +78,8 @@ class MyWorkTests extends OFBizTestCase {
}
// Migrated from MyWorkTests.xml:testRemoveTaskAssignToMe
+ @Test
+ @Order(4)
void testRemoveTaskAssignToMe() {
List<GenericValue> listWorkAssignment =
EntityQuery.use(delegator).from('WorkEffortPartyAssignment')
.where('workEffortId', 'DEMO-TASK-2',
@@ -93,6 +101,8 @@ class MyWorkTests extends OFBizTestCase {
}
// Migrated from MyWorkTests.xml:testAddNewTimesheet
+ @Test
+ @Order(5)
void testAddNewTimesheet() {
Map serviceCtx = [
partyId: 'SCRUMTEAM-2',
@@ -106,6 +116,8 @@ class MyWorkTests extends OFBizTestCase {
}
// Migrated from MyWorkTests.xml:testSetTimeSheetStatusToComplete
+ @Test
+ @Order(6)
void testSetTimeSheetStatusToComplete() {
Map serviceCtx = [
timesheetId: 'DEMO-TIMESHEET2',
diff --git
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ProductBacklogTests.groovy
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ProductBacklogTests.groovy
similarity index 95%
rename from
scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ProductBacklogTests.groovy
rename to
scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ProductBacklogTests.groovy
index e9514e0d4..7d7c8cf4c 100644
---
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ProductBacklogTests.groovy
+++
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ProductBacklogTests.groovy
@@ -20,14 +20,16 @@ package org.apache.ofbiz.scrum.test
import org.apache.ofbiz.entity.GenericValue
import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Order
+import org.junit.jupiter.api.Test
-class ProductBacklogTests extends OFBizTestCase {
-
- ProductBacklogTests(String name) {
- super(name)
- }
+@JunitJupiterTest
+class ProductBacklogTests implements JupiterTestHelper {
+ @Test
+ @Order(1)
void testAdminOperations() {
GenericValue adminUserLogin = from('UserLogin').where('userLoginId',
'admin').queryOne()
assert adminUserLogin
@@ -69,6 +71,8 @@ class ProductBacklogTests extends OFBizTestCase {
}
}
+ @Test
+ @Order(2)
void testProductOwnerOperations() {
GenericValue poUserLogin = from('UserLogin').where('userLoginId',
'productowner').queryOne()
assert poUserLogin
@@ -110,6 +114,8 @@ class ProductBacklogTests extends OFBizTestCase {
}
}
+ @Test
+ @Order(3)
void testScrumMasterOperations() {
GenericValue smUserLogin = from('UserLogin').where('userLoginId',
'scrummaster').queryOne()
assert smUserLogin
@@ -137,6 +143,8 @@ class ProductBacklogTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(deleteResult)
}
+ @Test
+ @Order(4)
void testCreateBacklogSetStatus() {
GenericValue poUserLogin = from('UserLogin').where('userLoginId',
'productowner').queryOne()
Map serviceCtx = [
@@ -152,6 +160,8 @@ class ProductBacklogTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(serviceResult)
}
+ @Test
+ @Order(5)
void testCreateDefaultBacklogs() {
GenericValue adminUserLogin = from('UserLogin').where('userLoginId',
'admin').queryOne()
Map serviceCtx = [
@@ -166,6 +176,8 @@ class ProductBacklogTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(serviceResult)
}
+ @Test
+ @Order(6)
void testProductBacklogCategoryOperations() {
GenericValue adminUserLogin = from('UserLogin').where('userLoginId',
'admin').queryOne()
@@ -199,6 +211,8 @@ class ProductBacklogTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(updateResult)
}
+ @Test
+ @Order(7)
void testProductBacklogEmailOperations() {
GenericValue systemUserLogin = from('UserLogin').where('userLoginId',
'system').queryOne()
@@ -228,6 +242,8 @@ class ProductBacklogTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(updateResult)
}
+ @Test
+ @Order(8)
void testUpdateSprintBacklogseqDown() {
GenericValue systemUserLogin = from('UserLogin').where('userLoginId',
'system').queryOne()
Map serviceCtx = [
@@ -243,6 +259,8 @@ class ProductBacklogTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(serviceResult)
}
+ @Test
+ @Order(9)
void testUpdateSprintBacklogseqUP() {
GenericValue systemUserLogin = from('UserLogin').where('userLoginId',
'system').queryOne()
Map serviceCtx = [
@@ -258,6 +276,8 @@ class ProductBacklogTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(serviceResult)
}
+ @Test
+ @Order(10)
void testUpdateSprintBacklogseqBotton() {
GenericValue systemUserLogin = from('UserLogin').where('userLoginId',
'system').queryOne()
Map serviceCtx = [
@@ -273,6 +293,8 @@ class ProductBacklogTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(serviceResult)
}
+ @Test
+ @Order(11)
void testUpdateSprintBacklogseqTOP() {
GenericValue systemUserLogin = from('UserLogin').where('userLoginId',
'system').queryOne()
Map serviceCtx = [
diff --git
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ProductTests.groovy
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ProductTests.groovy
similarity index 93%
rename from
scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ProductTests.groovy
rename to scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ProductTests.groovy
index 0610bc641..2a0238454 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ProductTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ProductTests.groovy
@@ -21,15 +21,17 @@ package org.apache.ofbiz.scrum.test
import org.apache.ofbiz.base.util.UtilDateTime
import org.apache.ofbiz.entity.GenericValue
import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Order
+import org.junit.jupiter.api.Test
import java.sql.Timestamp
-class ProductTests extends OFBizTestCase {
-
- ProductTests(String name) {
- super(name)
- }
+@JunitJupiterTest
+class ProductTests implements JupiterTestHelper {
+ @Test
+ @Order(1)
void testCreateProductByAdmin() {
GenericValue adminUserLogin = from('UserLogin').where('userLoginId',
'admin').queryOne()
assert adminUserLogin
@@ -56,6 +58,8 @@ class ProductTests extends OFBizTestCase {
assert ServiceUtil.isSuccess(roleResult)
}
+ @Test
+ @Order(2)
void testUpdateProductByAdmin() {
GenericValue adminUserLogin = from('UserLogin').where('userLoginId',
'admin').queryOne()
assert adminUserLogin
@@ -82,6 +86,8 @@ class ProductTests extends OFBizTestCase {
// We ensure the test passes by checking it doesn't hard fail if it's
already there.
}
+ @Test
+ @Order(3)
void testAddProductTimeToNewInvoice() {
GenericValue adminUserLogin = from('UserLogin').where('userLoginId',
'admin').queryOne()
assert adminUserLogin
diff --git
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ScrumProjectTests.groovy
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ScrumProjectTests.groovy
similarity index 91%
rename from
scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ScrumProjectTests.groovy
rename to
scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ScrumProjectTests.groovy
index 161137bcc..bcaf822b6 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ScrumProjectTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ScrumProjectTests.groovy
@@ -19,16 +19,18 @@
package org.apache.ofbiz.scrum.test
import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Order
+import org.junit.jupiter.api.Test
-class ScrumProjectTests extends OFBizTestCase {
-
- ScrumProjectTests(String name) {
- super(name)
- }
+@JunitJupiterTest
+class ScrumProjectTests implements JupiterTestHelper {
// Migrated from ScrumProjectTests.xml:testCreateScrumProjectByProductOwner
// Original called createScrumProject event which internally calls
createWorkEffort service.
+ @Test
+ @Order(1)
void testCreateScrumProjectByProductOwner() {
Map serviceCtx = [
workEffortId: 'TEST_WE_006',
@@ -42,6 +44,8 @@ class ScrumProjectTests extends OFBizTestCase {
}
// Migrated from ScrumProjectTests.xml:testUpdateScrumProjectByProductOwner
+ @Test
+ @Order(2)
void testUpdateScrumProjectByProductOwner() {
Map createCtx = [
workEffortId: 'TEST_WE_007',
@@ -64,6 +68,8 @@ class ScrumProjectTests extends OFBizTestCase {
}
// Migrated from ScrumProjectTests.xml:testUpdateScrumProjectByScrumMaster
+ @Test
+ @Order(3)
void testUpdateScrumProjectByScrumMaster() {
Map createCtx = [
workEffortId: 'TEST_WE_008',
@@ -86,6 +92,8 @@ class ScrumProjectTests extends OFBizTestCase {
}
// Migrated from ScrumProjectTests.xml:testCloseScrumProject
+ @Test
+ @Order(4)
void testCloseScrumProject() {
Map serviceCtx = [
workEffortId: 'DEMO-PROJECT-1',
diff --git
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ScrumTests.groovy
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ScrumTests.groovy
similarity index 87%
rename from scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ScrumTests.groovy
rename to scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ScrumTests.groovy
index 5233768dd..e16d802b2 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ScrumTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ScrumTests.groovy
@@ -20,15 +20,15 @@ package org.apache.ofbiz.scrum.test
import org.apache.ofbiz.entity.GenericValue
import org.apache.ofbiz.entity.util.EntityQuery
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Test
-class ScrumTests extends OFBizTestCase {
-
- ScrumTests(String name) {
- super(name)
- }
+@JunitJupiterTest
+class ScrumTests implements JupiterTestHelper {
// Migrated from ScrumTests.xml:testFindProjectWithSearchParameters
+ @Test
void testFindProjectWithSearchParameters() {
List<GenericValue> workEffortList =
EntityQuery.use(delegator).from('WorkEffort')
.where('workEffortTypeId', 'SCRUM_PROJECT')
diff --git
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/SprintBacklogTests.groovy
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/SprintBacklogTests.groovy
similarity index 89%
rename from
scrum/src/main/groovy/org/apache/ofbiz/scrum/test/SprintBacklogTests.groovy
rename to
scrum/src/test/groovy/org/apache/ofbiz/scrum/test/SprintBacklogTests.groovy
index 8ac9dfff3..3f363f5dd 100644
---
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/SprintBacklogTests.groovy
+++
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/SprintBacklogTests.groovy
@@ -19,16 +19,18 @@
package org.apache.ofbiz.scrum.test
import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Order
+import org.junit.jupiter.api.Test
-class SprintBacklogTests extends OFBizTestCase {
-
- SprintBacklogTests(String name) {
- super(name)
- }
+@JunitJupiterTest
+class SprintBacklogTests implements JupiterTestHelper {
// Migrated from SprintBacklogTests.xml:testcreateSprintBacklogByAdmin
// Original called createSprintBacklog event which internally calls
createWorkEffortRequest service.
+ @Test
+ @Order(1)
void testCreateSprintBacklogByAdmin() {
Map serviceCtx = [
custRequestId: 'TEST5',
@@ -41,6 +43,8 @@ class SprintBacklogTests extends OFBizTestCase {
}
// Migrated from
SprintBacklogTests.xml:testcreateSprintBacklogByScrummaster
+ @Test
+ @Order(2)
void testCreateSprintBacklogByScrummaster() {
Map serviceCtx = [
custRequestId: 'TEST6',
@@ -53,6 +57,8 @@ class SprintBacklogTests extends OFBizTestCase {
}
// Migrated from SprintBacklogTests.xml:testdeleteSprintBacklogByAdmin
+ @Test
+ @Order(3)
void testDeleteSprintBacklogByAdmin() {
Map serviceCtx = [
custRequestId: 'TEST1',
@@ -65,6 +71,8 @@ class SprintBacklogTests extends OFBizTestCase {
}
// Migrated from
SprintBacklogTests.xml:testdeleteSprintBacklogByScurmmaster
+ @Test
+ @Order(4)
void testDeleteSprintBacklogByScrummaster() {
Map serviceCtx = [
custRequestId: 'TEST2',
diff --git
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/SprintTests.groovy
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/SprintTests.groovy
similarity index 84%
rename from scrum/src/main/groovy/org/apache/ofbiz/scrum/test/SprintTests.groovy
rename to scrum/src/test/groovy/org/apache/ofbiz/scrum/test/SprintTests.groovy
index e13fa02ba..bcb00356a 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/SprintTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/SprintTests.groovy
@@ -19,15 +19,17 @@
package org.apache.ofbiz.scrum.test
import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Order
+import org.junit.jupiter.api.Test
-class SprintTests extends OFBizTestCase {
-
- SprintTests(String name) {
- super(name)
- }
+@JunitJupiterTest
+class SprintTests implements JupiterTestHelper {
// Migrated from SprintTests.xml:testUpdateSprintBacklog
+ @Test
+ @Order(1)
void testUpdateSprintBacklog() {
Map serviceCtx = [
custRequestId: 'TEST9',
@@ -39,12 +41,16 @@ class SprintTests extends OFBizTestCase {
}
// Migrated from SprintTests.xml:testCreateSprintByScrummaster
+ @Test
+ @Order(2)
void testCreateSprintByScrummaster() {
String sprintId = createSprint()
assert sprintId
}
// Migrated from SprintTests.xml:testUpdateSprintByScrummaster
+ @Test
+ @Order(3)
void testUpdateSprintByScrummaster() {
String sprintId = createSprint()
Map serviceCtx = [
@@ -58,12 +64,16 @@ class SprintTests extends OFBizTestCase {
}
// Migrated from SprintTests.xml:testCreateSprintByAdmin
+ @Test
+ @Order(4)
void testCreateSprintByAdmin() {
String sprintId = createSprint()
assert sprintId
}
// Migrated from SprintTests.xml:testUpdateSprintByAdmin
+ @Test
+ @Order(5)
void testUpdateSprintByAdmin() {
String sprintId = createSprint()
Map serviceCtx = [
@@ -77,6 +87,14 @@ class SprintTests extends OFBizTestCase {
}
// Migrated from SprintTests.xml:testAddSprintMember
+ // Ordered after testRemoveSprintMember: assignPartyToWorkEffort's own
de-dup check
+ // (WorkEffortServicesScript.groovy's filterByDate() against "today")
rejects a second
+ // active assignment for the same (workEffortId, partyId, roleTypeId), so
if this ran
+ // first, testRemoveSprintMember's own defensive "assign first" call would
silently fail
+ // and the subsequent delete-by-PK would find nothing to remove.
Pre-existing bug, not
+ // introduced by this migration - see the design doc addendum.
+ @Test
+ @Order(7)
void testAddSprintMember() {
Map serviceCtx = [
workEffortId: 'DEMO-SPRINT-1',
@@ -93,6 +111,8 @@ class SprintTests extends OFBizTestCase {
}
// Migrated from SprintTests.xml:testRemoveSprintMember
+ @Test
+ @Order(6)
void testRemoveSprintMember() {
Map serviceCtx = [
workEffortId: 'DEMO-SPRINT-1',
diff --git a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/TaskTests.groovy
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/TaskTests.groovy
similarity index 88%
rename from scrum/src/main/groovy/org/apache/ofbiz/scrum/test/TaskTests.groovy
rename to scrum/src/test/groovy/org/apache/ofbiz/scrum/test/TaskTests.groovy
index 4607b1cd9..3fadbeff0 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/TaskTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/TaskTests.groovy
@@ -19,16 +19,16 @@
package org.apache.ofbiz.scrum.test
import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Test
-class TaskTests extends OFBizTestCase {
-
- TaskTests(String name) {
- super(name)
- }
+@JunitJupiterTest
+class TaskTests implements JupiterTestHelper {
// Migrated from TaskTests.xml:testViewScrumRevisionBadCall
// Tests that viewScrumRevision service handles a bad repository URL
gracefully
+ @Test
void testViewScrumRevisionBadCall() {
Map serviceCtx = [
repository: '--diff+--diff-cmd=/bin/ls',
diff --git
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/TimesheetTests.groovy
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/TimesheetTests.groovy
similarity index 87%
rename from
scrum/src/main/groovy/org/apache/ofbiz/scrum/test/TimesheetTests.groovy
rename to
scrum/src/test/groovy/org/apache/ofbiz/scrum/test/TimesheetTests.groovy
index 05aab3cfe..24e18599e 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/TimesheetTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/TimesheetTests.groovy
@@ -19,15 +19,15 @@
package org.apache.ofbiz.scrum.test
import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Test
-class TimesheetTests extends OFBizTestCase {
-
- TimesheetTests(String name) {
- super(name)
- }
+@JunitJupiterTest
+class TimesheetTests implements JupiterTestHelper {
// Migrated from TimesheetTests.xml:testTimesheetToComplete
+ @Test
void testTimesheetToComplete() {
Map serviceCtx = [
timesheetId: 'DEMO-TIMESHEET1',
diff --git a/scrum/testdef/scrumTests.xml b/scrum/testdef/scrumTests.xml
index b7e0e0c85..c0617e14d 100644
--- a/scrum/testdef/scrumTests.xml
+++ b/scrum/testdef/scrumTests.xml
@@ -32,33 +32,33 @@ under the License.
</test-case>
<test-group case-name="scrum-tests">
- <junit-test-suite
class-name="org.apache.ofbiz.scrum.test.ScrumTests"/>
+ <jupiter-test-suite
class-name="org.apache.ofbiz.scrum.test.ScrumTests"/>
</test-group>
<test-group case-name="productBacklog-tests">
- <junit-test-suite
class-name="org.apache.ofbiz.scrum.test.ProductBacklogTests"/>
+ <jupiter-test-suite
class-name="org.apache.ofbiz.scrum.test.ProductBacklogTests"/>
</test-group>
<test-group case-name="scrumProject-tests">
- <junit-test-suite
class-name="org.apache.ofbiz.scrum.test.ScrumProjectTests"/>
+ <jupiter-test-suite
class-name="org.apache.ofbiz.scrum.test.ScrumProjectTests"/>
</test-group>
<test-group case-name="sprint-tests">
- <junit-test-suite
class-name="org.apache.ofbiz.scrum.test.SprintTests"/>
+ <jupiter-test-suite
class-name="org.apache.ofbiz.scrum.test.SprintTests"/>
</test-group>
<test-group case-name="sprintBacklog-tests">
- <junit-test-suite
class-name="org.apache.ofbiz.scrum.test.SprintBacklogTests"/>
+ <jupiter-test-suite
class-name="org.apache.ofbiz.scrum.test.SprintBacklogTests"/>
</test-group>
<test-group case-name="dailyMeetingMinute-tests">
- <junit-test-suite
class-name="org.apache.ofbiz.scrum.test.DailyMeetingMinuteTests"/>
+ <jupiter-test-suite
class-name="org.apache.ofbiz.scrum.test.DailyMeetingMinuteTests"/>
</test-group>
<test-group case-name="product-tests">
- <junit-test-suite
class-name="org.apache.ofbiz.scrum.test.ProductTests"/>
+ <jupiter-test-suite
class-name="org.apache.ofbiz.scrum.test.ProductTests"/>
</test-group>
<test-group case-name="task-test">
- <junit-test-suite
class-name="org.apache.ofbiz.scrum.test.TaskTests"/>
+ <jupiter-test-suite
class-name="org.apache.ofbiz.scrum.test.TaskTests"/>
</test-group>
<test-group case-name="myWork-test">
- <junit-test-suite
class-name="org.apache.ofbiz.scrum.test.MyWorkTests"/>
+ <jupiter-test-suite
class-name="org.apache.ofbiz.scrum.test.MyWorkTests"/>
</test-group>
<test-group case-name="timesheet-test">
- <junit-test-suite
class-name="org.apache.ofbiz.scrum.test.TimesheetTests"/>
+ <jupiter-test-suite
class-name="org.apache.ofbiz.scrum.test.TimesheetTests"/>
</test-group>
</test-suite>