diff --git a/lib/utils/documentation.js b/lib/utils/documentation.js
index 8c8c110..96c0ff9 100644
--- a/lib/utils/documentation.js
+++ b/lib/utils/documentation.js
@@ -25,6 +25,10 @@ export function getDocumentationUrl(rule) {
return getUrl('message-reference');
}
+ if (rule === 'camunda-compat/history-time-to-live') {
+ return getUrl('history-time-to-live');
+ }
+
return null;
}
diff --git a/lib/utils/properties-panel.js b/lib/utils/properties-panel.js
index ec2caf7..13317c8 100644
--- a/lib/utils/properties-panel.js
+++ b/lib/utils/properties-panel.js
@@ -472,10 +472,6 @@ export function getErrorMessage(id, report) {
return 'Not supported.';
}
- if (id === 'historyTimeToLive') {
- return 'Time to live must be defined.';
- }
-
if (id === 'taskScheduleDueDate') {
if (data.type === ERROR_TYPES.EXTENSION_ELEMENT_NOT_ALLOWED) {
return 'Not supported.';
diff --git a/test/spec/modeler/Linting.spec.js b/test/spec/modeler/Linting.spec.js
index f2a14ed..6fa97fe 100644
--- a/test/spec/modeler/Linting.spec.js
+++ b/test/spec/modeler/Linting.spec.js
@@ -175,13 +175,21 @@ describe('Linting', function() {
container.innerHTML = '';
reports.map((report) => {
- const { id, message, category, rule } = report;
+ const { id, message, category, rule, documentation } = report;
if (category === 'rule-error') {
- return domify(`
Rule error: Rule <${ escapeHTML(rule) }> errored with the following message: ${ escapeHTML(message) }
`);
+ return domify(`${ category } Rule <${ escapeHTML(rule) }> errored with the following message: ${ escapeHTML(message) }
`);
}
- const element = domify(`${ id }: ${escapeHTML(message) }
`);
+ const element = domify(`${ category } ${ id }: ${escapeHTML(message) }
`);
+
+ if (documentation.url) {
+ const documentationLink = domify(`ref`);
+
+ documentationLink.addEventListener('click', e => e.stopPropagation());
+
+ element.appendChild(documentationLink);
+ }
element.addEventListener('click', () => {
linting.showError(report);
diff --git a/test/spec/utils/error-messages.spec.js b/test/spec/utils/error-messages.spec.js
index 5a32750..555ccb8 100644
--- a/test/spec/utils/error-messages.spec.js
+++ b/test/spec/utils/error-messages.spec.js
@@ -4,8 +4,7 @@ import {
} from '../../../lib/utils/error-messages';
import {
- createElement,
- createElementCamundaPlatform
+ createElement
} from '../../helper';
import {
@@ -2022,31 +2021,6 @@ describe('utils/error-messages', function() {
});
-
- describe('Camunda Platform (Camunda 7)', function() {
-
- describe('property required', function() {
-
- it('should adjust (history time to live)', async function() {
-
- // given
- const node = createElementCamundaPlatform('bpmn:Process');
-
- const { default: rule } = await import('bpmnlint-plugin-camunda-compat/rules/camunda-platform/history-time-to-live');
-
- const report = await getLintError(node, rule, { version: '7.19' });
-
- // when
- const errorMessage = getErrorMessage(report);
-
- // then
- expect(errorMessage).to.equal('A must have a defined ');
- });
-
- });
-
- });
-
});
describe('#getExecutionPlatformLabel', function() {
diff --git a/test/spec/utils/properties-panel.spec.js b/test/spec/utils/properties-panel.spec.js
index cbc302f..75064f1 100644
--- a/test/spec/utils/properties-panel.spec.js
+++ b/test/spec/utils/properties-panel.spec.js
@@ -8,9 +8,7 @@ import {
import {
createElement,
- createElementCamundaPlatform,
- createModdle,
- createModdleCamundaPlatform
+ createModdle
} from '../../helper';
import {
@@ -20,7 +18,6 @@ import {
import propertiesPanelXML from './properties-panel.bpmn';
import propertiesPanelInfoXML from './properties-panel-info.bpmn';
-import propertiesPanelPlatformXML from './properties-panel-platform.bpmn';
describe('utils/properties-panel', function() {
@@ -1918,61 +1915,9 @@ describe('utils/properties-panel', function() {
});
-
- describe('Camunda Platform (Camunda 7)', function() {
-
- describe('#getEntryId and #getErrorMessage', function() {
-
- it('History cleanup (no time to live)', async function() {
-
- // given
- const node = createElementCamundaPlatform('bpmn:Process', { isExecutable: true });
-
- const { default: rule } = await import('bpmnlint-plugin-camunda-compat/rules/camunda-platform/history-time-to-live');
-
- const report = await getLintError(node, rule, { platform: 'camunda-platform', version: '7.19' });
-
- // when
- const entryIds = getEntryIds(report);
-
- // then
- expect(entryIds).to.eql([ 'historyTimeToLive' ]);
-
-
- expectErrorMessage(entryIds[ 0 ], 'Time to live must be defined.', report);
- });
-
- });
-
-
- describe('#getErrors', function() {
-
- it('should return errors', async function() {
-
- // given
- const linter = new Linter();
-
- const { root } = await createModdleCamundaPlatform(propertiesPanelPlatformXML);
-
- const reports = await linter.lint(root);
-
- // when
- let element = root.rootElements[ 0 ];
-
- let errors = getErrors(reports, element);
-
- // then
- expect(errors).to.eql({
- historyTimeToLive: 'Time to live must be defined.'
- });
- });
-
- });
-
- });
-
});
+
function expectErrorMessage(id, expectedErrorMessage, report) {
// when