From 019298eee1b8d0669c3832d848d79121258cd62c Mon Sep 17 00:00:00 2001 From: Maciej Barelkowski Date: Mon, 27 May 2024 11:20:50 +0200 Subject: [PATCH] test: use spy to check if variables were retrieved Closes #873 --- package-lock.json | 2 -- .../dmn-js-literal-expression/package.json | 1 - .../features/textarea/TextareaEditorSpec.js | 33 ++++++++++--------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index fef2610b..2eea6380 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21395,7 +21395,6 @@ "table-js": "^9.1.0" }, "devDependencies": { - "@testing-library/dom": "^10.1.0", "dmn-font": "^0.6.2", "inferno-test-utils": "~5.6.2" } @@ -27368,7 +27367,6 @@ "version": "file:packages/dmn-js-literal-expression", "requires": { "@bpmn-io/dmn-variable-resolver": "^0.5.0", - "@testing-library/dom": "^10.1.0", "diagram-js": "^14.5.4", "dmn-font": "^0.6.2", "dmn-js-shared": "^16.3.2", diff --git a/packages/dmn-js-literal-expression/package.json b/packages/dmn-js-literal-expression/package.json index df6dfecc..31a9b40a 100644 --- a/packages/dmn-js-literal-expression/package.json +++ b/packages/dmn-js-literal-expression/package.json @@ -26,7 +26,6 @@ "literal expression" ], "devDependencies": { - "@testing-library/dom": "^10.1.0", "dmn-font": "^0.6.2", "inferno-test-utils": "~5.6.2" }, diff --git a/packages/dmn-js-literal-expression/test/spec/features/textarea/TextareaEditorSpec.js b/packages/dmn-js-literal-expression/test/spec/features/textarea/TextareaEditorSpec.js index ebb4804b..0945bd03 100644 --- a/packages/dmn-js-literal-expression/test/spec/features/textarea/TextareaEditorSpec.js +++ b/packages/dmn-js-literal-expression/test/spec/features/textarea/TextareaEditorSpec.js @@ -1,9 +1,9 @@ +/* global sinon */ + import { bootstrapModeler, inject } from 'test/helper'; import { query as domQuery } from 'min-dom'; -import { DmnVariableResolverModule } from '@bpmn-io/dmn-variable-resolver'; - import { queryEditor } from 'dmn-js-shared/test/util/EditorUtil'; import ExpressionLanguagesModule from 'dmn-js-shared/lib/features/expression-languages'; @@ -12,8 +12,6 @@ import { triggerInputEvent } from 'dmn-js-shared/test/util/EventUtil'; import TestContainer from 'mocha-test-container-support'; -import { waitFor } from '@testing-library/dom'; - import literalExpressionXML from '../../literal-expression.dmn'; import CoreModule from 'src/core'; @@ -25,13 +23,21 @@ import ModelingModule from 'src/features/modeling'; describe('textarea editor', function() { + const variableResolver = { + getVariables: () => [ + { name: 'Variable', typeRef: 'string' } + ] + }; + beforeEach(bootstrapModeler(literalExpressionXML, { modules: [ CoreModule, TextareaEditorModule, ModelingModule, ExpressionLanguagesModule, - DmnVariableResolverModule + { + variableResolver: [ 'value', variableResolver ] + } ], debounceInput: false })); @@ -90,9 +96,15 @@ describe('textarea editor', function() { describe('integration', function() { + afterEach(function() { + sinon.restore(); + }); + + it('should pass variables to editor', async function() { // given + const getVariablesSpy = sinon.spy(variableResolver, 'getVariables'); const editor = queryEditor('.textarea', testContainer); await changeFocus(editor); @@ -100,16 +112,7 @@ describe('textarea editor', function() { await changeInput(document.activeElement, 'Var'); // then - return waitFor(() => { - const options = testContainer.querySelectorAll('[role="option"]'); - - expect(options).to.exist; - expect(options).to.satisfy(options => { - const result = Array.from(options).some( - option => option.textContent === 'Variable'); - return result; - }); - }); + expect(getVariablesSpy).to.have.been.called; }); });