From 4ebc355ff20c34dd5ab8b295d817a62ad631acff Mon Sep 17 00:00:00 2001 From: Philipp Date: Tue, 7 Nov 2023 11:17:36 +0100 Subject: [PATCH] chore(user-task-forms): change supported version to Camunda 8.4 --- rules/camunda-cloud/user-task-form.js | 2 +- .../user-task-form-form-id-errors.bpmn | 25 ++++++ .../integration/user-task-form-form-id.bpmn | 25 ++++++ ...mn => user-task-form-form-key-errors.bpmn} | 0 ...form.bpmn => user-task-form-form-key.bpmn} | 0 .../integration/user-task-form.spec.js | 84 +++++++++++++++---- test/camunda-cloud/user-task-form.spec.js | 42 +++++----- 7 files changed, 142 insertions(+), 36 deletions(-) create mode 100644 test/camunda-cloud/integration/user-task-form-form-id-errors.bpmn create mode 100644 test/camunda-cloud/integration/user-task-form-form-id.bpmn rename test/camunda-cloud/integration/{user-task-form-errors.bpmn => user-task-form-form-key-errors.bpmn} (100%) rename test/camunda-cloud/integration/{user-task-form.bpmn => user-task-form-form-key.bpmn} (100%) diff --git a/rules/camunda-cloud/user-task-form.js b/rules/camunda-cloud/user-task-form.js index 30c588ca..fca0c2a1 100644 --- a/rules/camunda-cloud/user-task-form.js +++ b/rules/camunda-cloud/user-task-form.js @@ -14,7 +14,7 @@ const { skipInNonExecutableProcess } = require('../utils/rule'); const { greaterOrEqual } = require('../utils/version'); -const formIdAllowedVersion = '8.3'; +const formIdAllowedVersion = '8.4'; module.exports = skipInNonExecutableProcess(function({ version }) { function check(node, reporter) { diff --git a/test/camunda-cloud/integration/user-task-form-form-id-errors.bpmn b/test/camunda-cloud/integration/user-task-form-form-id-errors.bpmn new file mode 100644 index 00000000..a78d43f2 --- /dev/null +++ b/test/camunda-cloud/integration/user-task-form-form-id-errors.bpmn @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/camunda-cloud/integration/user-task-form-form-id.bpmn b/test/camunda-cloud/integration/user-task-form-form-id.bpmn new file mode 100644 index 00000000..d8d89622 --- /dev/null +++ b/test/camunda-cloud/integration/user-task-form-form-id.bpmn @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/camunda-cloud/integration/user-task-form-errors.bpmn b/test/camunda-cloud/integration/user-task-form-form-key-errors.bpmn similarity index 100% rename from test/camunda-cloud/integration/user-task-form-errors.bpmn rename to test/camunda-cloud/integration/user-task-form-form-key-errors.bpmn diff --git a/test/camunda-cloud/integration/user-task-form.bpmn b/test/camunda-cloud/integration/user-task-form-form-key.bpmn similarity index 100% rename from test/camunda-cloud/integration/user-task-form.bpmn rename to test/camunda-cloud/integration/user-task-form-form-key.bpmn diff --git a/test/camunda-cloud/integration/user-task-form.spec.js b/test/camunda-cloud/integration/user-task-form.spec.js index 7a691ac7..e40cf312 100644 --- a/test/camunda-cloud/integration/user-task-form.spec.js +++ b/test/camunda-cloud/integration/user-task-form.spec.js @@ -6,19 +6,75 @@ const NodeResolver = require('bpmnlint/lib/resolver/node-resolver'); const { readModdle } = require('../../helper'); -const versions = [ - '1.0', - '1.1', - '1.2', - '1.3', - '8.0', - '8.1', - '8.2' -]; - describe('integration - user-task-form', function() { - versions.forEach(function(version) { + [ + '1.0', + '1.1', + '1.2', + '1.3', + '8.0', + '8.1', + '8.2', + '8.3', + '8.4' + ].forEach(function(version) { + + let linter; + + beforeEach(function() { + linter = new Linter({ + config: { + extends: `plugin:camunda-compat/camunda-cloud-${ version.replace('.', '-') }` + }, + resolver: new NodeResolver() + }); + }); + + + describe(`Camunda Cloud ${ version } (form key)`, function() { + + describe('no errors', function() { + + it('should not have errors', async function() { + + // given + const { root } = await readModdle('test/camunda-cloud/integration/user-task-form-form-key.bpmn'); + + // when + const reports = await linter.lint(root); + + // then + expect(reports[ 'camunda-compat/user-task-form' ]).not.to.exist; + }); + + }); + + + describe('errors', function() { + + it('should have errors', async function() { + + // given + const { root } = await readModdle('test/camunda-cloud/integration/user-task-form-form-key-errors.bpmn'); + + // when + const reports = await linter.lint(root); + + // then + expect(reports[ 'camunda-compat/user-task-form' ]).to.exist; + }); + + }); + + }); + + }); + + + [ + '8.4' + ].forEach(function(version) { let linter; @@ -32,14 +88,14 @@ describe('integration - user-task-form', function() { }); - describe(`Camunda Cloud ${ version }`, function() { + describe(`Camunda Cloud ${ version } (form ID)`, function() { describe('no errors', function() { it('should not have errors', async function() { // given - const { root } = await readModdle('test/camunda-cloud/integration/user-task-form.bpmn'); + const { root } = await readModdle('test/camunda-cloud/integration/user-task-form-form-id.bpmn'); // when const reports = await linter.lint(root); @@ -56,7 +112,7 @@ describe('integration - user-task-form', function() { it('should have errors', async function() { // given - const { root } = await readModdle('test/camunda-cloud/integration/user-task-form-errors.bpmn'); + const { root } = await readModdle('test/camunda-cloud/integration/user-task-form-form-id-errors.bpmn'); // when const reports = await linter.lint(root); diff --git a/test/camunda-cloud/user-task-form.spec.js b/test/camunda-cloud/user-task-form.spec.js index d2d784f4..46f98f15 100644 --- a/test/camunda-cloud/user-task-form.spec.js +++ b/test/camunda-cloud/user-task-form.spec.js @@ -13,7 +13,7 @@ const { ERROR_TYPES } = require('../../rules/utils/element'); const valid = [ { name: 'user task (user task form)', - config: { version: '8.2' }, + config: { version: '8.3' }, moddleElement: createModdle(createProcess(` {} @@ -27,14 +27,14 @@ const valid = [ }, { name: 'user task', - config: { version: '8.2' }, + config: { version: '8.3' }, moddleElement: createModdle(createProcess(` `)) }, { name: 'user task (no form key) (non-executable process)', - config: { version: '8.2' }, + config: { version: '8.3' }, moddleElement: createModdle(createDefinitions(` @@ -49,8 +49,8 @@ const valid = [ const invalid = [ { - name: 'user task (no form key) (Camunda 8.2)', - config: { version: '8.2' }, + name: 'user task (no form key) (Camunda 8.3)', + config: { version: '8.3' }, moddleElement: createModdle(createProcess(` @@ -76,8 +76,8 @@ const invalid = [ } }, { - name: 'user task (empty form key) (Camunda 8.2)', - config: { version: '8.2' }, + name: 'user task (empty form key) (Camunda 8.3)', + config: { version: '8.3' }, moddleElement: createModdle(createProcess(` @@ -103,8 +103,8 @@ const invalid = [ } }, { - name: 'user task (no form key or form ID) (Camunda 8.3)', - config: { version: '8.3' }, + name: 'user task (no form key or form ID) (Camunda 8.4)', + config: { version: '8.4' }, moddleElement: createModdle(createProcess(` @@ -132,8 +132,8 @@ const invalid = [ } }, { - name: 'user task (empty form key) (Camunda 8.3)', - config: { version: '8.3' }, + name: 'user task (empty form key) (Camunda 8.4)', + config: { version: '8.4' }, moddleElement: createModdle(createProcess(` @@ -161,8 +161,8 @@ const invalid = [ } }, { - name: 'user task (empty form ID) (Camunda 8.3)', - config: { version: '8.3' }, + name: 'user task (empty form ID) (Camunda 8.4)', + config: { version: '8.4' }, moddleElement: createModdle(createProcess(` @@ -190,8 +190,8 @@ const invalid = [ } }, { - name: 'user task (form ID) (Camunda 8.2)', - config: { version: '8.2' }, + name: 'user task (form ID) (Camunda 8.3)', + config: { version: '8.3' }, moddleElement: createModdle(createProcess(` @@ -201,7 +201,7 @@ const invalid = [ `)), report: { id: 'UserTask_1', - message: 'Property only allowed by Camunda 8.3 or newer', + message: 'Property only allowed by Camunda 8.4 or newer', path: [ 'extensionElements', 'values', @@ -213,13 +213,13 @@ const invalid = [ node: 'zeebe:FormDefinition', parentNode: 'UserTask_1', property: 'formId', - allowedVersion: '8.3' + allowedVersion: '8.4' } } }, { - name: 'user task (form key and form ID) (Camunda 8.3)', - config: { version: '8.3' }, + name: 'user task (form key and form ID) (Camunda 8.4)', + config: { version: '8.4' }, moddleElement: createModdle(createProcess(` @@ -247,8 +247,8 @@ const invalid = [ } }, { - name: 'user task (empty user task form) (Camunda 8.2)', - config: { version: '8.2' }, + name: 'user task (empty user task form) (Camunda 8.3)', + config: { version: '8.3' }, moddleElement: createModdle(createProcess(`