From c80656c71b9613b8b69f1a99d70b96bc3727a703 Mon Sep 17 00:00:00 2001 From: Maciej Barelkowski Date: Wed, 16 Oct 2024 15:52:15 +0200 Subject: [PATCH] test: fix flaky test in definition properties --- package-lock.json | 2 ++ packages/dmn-js-drd/package.json | 1 + .../DefinitionPropertiesSpec.js | 32 ++++++++----------- 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index 800a494a1..001983e2d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19433,6 +19433,7 @@ "tiny-svg": "^3.1.2" }, "devDependencies": { + "@testing-library/dom": "^10.4.0", "dmn-font": "^0.6.2" } }, @@ -25192,6 +25193,7 @@ "dmn-js-drd": { "version": "file:packages/dmn-js-drd", "requires": { + "@testing-library/dom": "^10.4.0", "diagram-js": "^14.7.1", "diagram-js-direct-editing": "^3.0.1", "dmn-font": "^0.6.2", diff --git a/packages/dmn-js-drd/package.json b/packages/dmn-js-drd/package.json index 2ce6ade13..474423fcf 100644 --- a/packages/dmn-js-drd/package.json +++ b/packages/dmn-js-drd/package.json @@ -36,6 +36,7 @@ "tiny-svg": "^3.1.2" }, "devDependencies": { + "@testing-library/dom": "^10.4.0", "dmn-font": "^0.6.2" } } diff --git a/packages/dmn-js-drd/test/spec/features/definition-properties/DefinitionPropertiesSpec.js b/packages/dmn-js-drd/test/spec/features/definition-properties/DefinitionPropertiesSpec.js index 2f34088e2..b1567ff7c 100644 --- a/packages/dmn-js-drd/test/spec/features/definition-properties/DefinitionPropertiesSpec.js +++ b/packages/dmn-js-drd/test/spec/features/definition-properties/DefinitionPropertiesSpec.js @@ -3,6 +3,8 @@ import { query as domQuery } from 'min-dom'; +import { waitFor } from '@testing-library/dom'; + import { getBusinessObject } from 'dmn-js-shared/lib/util/ModelUtil'; import { @@ -309,8 +311,8 @@ describe('features/definition-properties', function() { )); - skipFF()('should clear error message on blur', inject( - function(definitionPropertiesEdit, definitionPropertiesView) { + it('should clear error message on blur', inject( + async function(definitionPropertiesEdit, definitionPropertiesView) { // given var idContainer = domQuery( @@ -326,13 +328,15 @@ describe('features/definition-properties', function() { idContainer.blur(); // then - var errorMessage = domQuery( - '.dmn-definitions-error-message', - definitionPropertiesView._container - ); - - expect(errorMessage).not.to.exist; - expect(domClasses(idContainer).has('dmn-definitions-error')).to.be.false; + await waitFor(() => { + var errorMessage = domQuery( + '.dmn-definitions-error-message', + definitionPropertiesView._container + ); + + expect(errorMessage).not.to.exist; + expect(domClasses(idContainer).has('dmn-definitions-error')).to.be.false; + }); } )); @@ -341,13 +345,3 @@ describe('features/definition-properties', function() { }); }); - -// helpers ////////////////// - -function isFirefox() { - return /Firefox/.test(window.navigator.userAgent); -} - -function skipFF() { - return isFirefox() ? it.only : it; -} \ No newline at end of file