From 34efcff913345ec7104acf616e2e73c941072684 Mon Sep 17 00:00:00 2001 From: EugeniyKiyashko Date: Wed, 15 Oct 2025 17:24:26 +0400 Subject: [PATCH] QUnit tests: get rid of unnecessary timezone tests --- .github/workflows/pr-filter-stubs.yml | 4 +- .../qunit_tests-additional-renovation.yml | 62 ------------------- ...t_tests-renovation.yml => qunit_tests.yml} | 39 ++++++++++-- .../DevExpress.ui.widgets/tabPanel.tests.js | 2 +- 4 files changed, 36 insertions(+), 71 deletions(-) rename .github/workflows/{qunit_tests-renovation.yml => qunit_tests.yml} (69%) diff --git a/.github/workflows/pr-filter-stubs.yml b/.github/workflows/pr-filter-stubs.yml index 9a43a79bbcac..2cfeaa4d2504 100644 --- a/.github/workflows/pr-filter-stubs.yml +++ b/.github/workflows/pr-filter-stubs.yml @@ -123,14 +123,14 @@ jobs: steps: - run: exit 1 qunit_tests4: - name: 'Constel ui.widgets(1/2)' + name: 'Constel ui.widgets(1/2)-no-csp' needs: [ changesSegregation ] if: false runs-on: ubuntu-latest steps: - run: exit 1 qunit_tests5: - name: 'Constel ui.widgets(2/2)' + name: 'Constel ui.widgets(2/2)-no-csp' needs: [ changesSegregation ] if: false runs-on: ubuntu-latest diff --git a/.github/workflows/qunit_tests-additional-renovation.yml b/.github/workflows/qunit_tests-additional-renovation.yml index 10d8b8f663bb..6d947f31b3a2 100644 --- a/.github/workflows/qunit_tests-additional-renovation.yml +++ b/.github/workflows/qunit_tests-additional-renovation.yml @@ -73,42 +73,6 @@ jobs: path: packages/devextreme/artifacts.zip retention-days: 1 - qunit-tests-timezones: - needs: build - runs-on: devextreme-shr2 - name: ${{ matrix.constel }}-${{ matrix.timezone }} - timeout-minutes: 25 - strategy: - fail-fast: false - matrix: - constel: [ - 'misc(1/2)', - 'misc(2/2)', - 'ui.editors(1/2)', - 'ui.editors(2/2)', - 'ui.grid(1/2)', - 'ui.grid(2/2)', - 'ui.scheduler(1/3)', - 'ui.scheduler(2/3)', - 'ui.scheduler(3/3)' - ] - timezone: [ 'US/Pacific', 'Japan', 'Australia/ACT', 'Europe/London' ] - - steps: - - name: Get sources - uses: actions/checkout@v4 - - - name: Run QUnit tests - uses: ./.github/actions/run-qunit-tests - with: - name: ${{ matrix.constel }}-${{ matrix.timezone }} - constel: ${{ matrix.constel }} - browser: 'chrome' - timezone: ${{ matrix.timezone }} - headless: 'true' - useJQuery: 'false' - useCsp: 'true' - qunit-tests-mobile-and-shadow-dom: needs: build runs-on: devextreme-shr2 @@ -222,39 +186,13 @@ jobs: headless: 'true' useCsp: 'true' - qunit-tests-no-csp: - needs: build - runs-on: devextreme-shr2 - name: ${{ matrix.constel }}-no-csp - timeout-minutes: 25 - strategy: - fail-fast: false - matrix: - constel: [ 'misc(1/2)', 'misc(2/2)' ] - - steps: - - name: Get sources - uses: actions/checkout@v4 - - - name: Run QUnit tests - uses: ./.github/actions/run-qunit-tests - with: - name: ${{ matrix.constel }}-no-csp - constel: ${{ matrix.constel }} - browser: 'chrome' - useJQuery: 'true' - headless: 'true' - useCsp: 'false' - notify: runs-on: devextreme-shr2 name: Send notifications needs: [ build, - qunit-tests-timezones, qunit-tests-mobile-and-shadow-dom, qunit-tests-firefox, - qunit-tests-no-csp ] if: github.event_name != 'pull_request' && contains(needs.*.result, 'failure') diff --git a/.github/workflows/qunit_tests-renovation.yml b/.github/workflows/qunit_tests.yml similarity index 69% rename from .github/workflows/qunit_tests-renovation.yml rename to .github/workflows/qunit_tests.yml index cf4f3b4e4e53..dd1fd9674846 100644 --- a/.github/workflows/qunit_tests-renovation.yml +++ b/.github/workflows/qunit_tests.yml @@ -1,4 +1,4 @@ -name: QUnit tests for renovation +name: QUnit tests concurrency: group: wf-${{github.event.pull_request.number || github.sha}}-${{github.workflow}} @@ -60,7 +60,7 @@ jobs: DOTNET_CLI_TELEMETRY_OPTOUT: "true" DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "true" BUILD_INPROGRESS_RENOVATION: "true" - run: pnpx nx build:dev + run: pnpx nx build:systemjs - name: Zip artifacts working-directory: ./packages/devextreme @@ -77,12 +77,37 @@ jobs: qunit-tests: needs: build runs-on: devextreme-shr2 - name: Constel ${{ matrix.CONSTEL }} + name: Constel ${{ matrix.CONSTEL }}${{ matrix.TIMEZONE != '' && format('-{0}', matrix.TIMEZONE) || '' }}${{ matrix.CSP == 'false' && '-no-csp' || '' }} timeout-minutes: 60 strategy: fail-fast: false matrix: - CONSTEL: [ export, misc, ui, ui.widgets(1/2), ui.widgets(2/2), ui.editors, ui.htmlEditor, ui.grid, ui.scheduler(1/2), ui.scheduler(2/2), viz ] + CONSTEL: [ + export, + misc, + ui, + ui.editors, + ui.htmlEditor, + ui.grid, + ui.scheduler(1/2), + ui.scheduler(2/2), + viz + ] + TIMEZONE: [''] + CSP: ['true'] + useJQuery: ['false'] + include: + - CONSTEL: ui.scheduler(1/2) + TIMEZONE: US/Pacific + - CONSTEL: ui.scheduler(2/2) + TIMEZONE: US/Pacific + - CONSTEL: misc + CSP: 'false' + useJQuery: 'true' + - CONSTEL: ui.widgets(1/2) + CSP: 'false' + - CONSTEL: ui.widgets(2/2) + CSP: 'false' steps: - name: Get sources @@ -91,9 +116,11 @@ jobs: - name: Run QUnit tests uses: ./.github/actions/run-qunit-tests with: - name: Constel ${{ matrix.CONSTEL }} + name: Constel ${{ matrix.CONSTEL }}${{ matrix.TIMEZONE != '' && format('-{0}', matrix.TIMEZONE) || '' }}${{ matrix.CSP == 'false' && '-no-csp' || '' }} constel: ${{ matrix.CONSTEL }} - useCsp: "false" + timezone: ${{ matrix.TIMEZONE }} + useJQuery: ${{ matrix.useJQuery }} + useCsp: ${{ matrix.CSP }} notify: runs-on: devextreme-shr2 diff --git a/packages/devextreme/testing/tests/DevExpress.ui.widgets/tabPanel.tests.js b/packages/devextreme/testing/tests/DevExpress.ui.widgets/tabPanel.tests.js index f4e38d464508..988e02dcf3f3 100644 --- a/packages/devextreme/testing/tests/DevExpress.ui.widgets/tabPanel.tests.js +++ b/packages/devextreme/testing/tests/DevExpress.ui.widgets/tabPanel.tests.js @@ -1119,7 +1119,7 @@ QUnit.module('keyboard navigation', { assert.equal(tabsFocusedIndex, $(this.instance.option('focusedElement')).index(), 'multiView focused element is equal tabs focused element'); }); - QUnit.test('looping should work on keyboard navigation after loop runtime change to true and swipe', function(assert) { + QUnit.skip('looping should work on keyboard navigation after loop runtime change to true and swipe', function(assert) { if(shouldSkipOnMobile(assert, 'there is no keyboard navigation on mobile devices')) { return; }