Repository navigation
Scheduler: migrate the timezones e2e tests to Playwright - #36071
Draft
ajivanyandev wants to merge 3 commits into
Draft
ajivanyandev wants to merge 3 commits into
ajivanyandev wants to merge 3 commits into
Conversation
Stage 3 of the Playwright migration, part 1 of the Scheduler tests (devextreme-private#4939). - Port tests/scheduler/timezones (6 files, 79 tests) to e2e/playwright and delete the TestCafe tests, their etalons and their two TestCafe jobs. - Add the Scheduler models the ported tests use, a drag helper with the t.drag/t.dragToElement semantics, the timezone test gate and generateOptionMatrix. - Point the Node timezone at the browser one, since the tests build local dates on both sides. - Let a createWidget factory take an argument, for handlers that need test variables. - Upload the etalons a CI run writes for new tests as the playwright-etalons artifact.
…t-timezones # Conflicts: # .github/CODEOWNERS # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-summer_offset--60 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-summer_offset-0 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-summer_offset-60 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-winter_offset--60 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-winter_offset-0 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-winter_offset-60 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-summer_offset--60 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-summer_offset-0 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-summer_offset-60 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-winter_offset--60 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-winter_offset-0 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-winter_offset-60 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-local_offset--360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-local_offset-0 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-local_offset-360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-utc_offset--360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-utc_offset-0 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-utc_offset-360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-local_offset--360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-local_offset-0 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-local_offset-360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-utc_offset--360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-utc_offset-0 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-utc_offset-360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-local_offset--360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-local_offset-0 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-local_offset-360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-utc_offset--360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-utc_offset-0 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-utc_offset-360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-local_offset--360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-local_offset-0 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-local_offset-360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-utc_offset--360 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-utc_offset-0 (fluent.blue.light).png # e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-utc_offset-360 (fluent.blue.light).png
Recorded by CI (run 41435087508) in fluent.blue.light and fluent-next.blue.light. Against the deleted TestCafe etalons every image differs only in its last pixel row (the two runners crop differently), and the 6 summer week_usual-appts-render-dts fluent images also in the appointment date text: DevExpress#35089 darkened it but did not re-shoot those TestCafe etalons.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 1 of 3 of the Scheduler e2e migration to Playwright (devextreme-private#4939). The other two parts follow in this order:
scheduler/viewOffset, thenscheduler/common.What changes
Tests
tests/scheduler/timezones(6 files, 79 tests) is ported toe2e/playwright. The tests and screenshot names are the same as in TestCafe.Shared infrastructure (@aleksei-semikozov, please review this part)
playwright.config.tssetsprocess.env.TZto the job timezone.currentDate: new Date(2021, 2, 1), so both sides need the same zone.timezones/check.spec.tsnow checks the Node side as well as the browser.createWidgetaccepts{ arg }and passes it to the factory. Handlers that need test variables can use it. Existing calls are unaffected.helpers/dragUtils.ts:t.drag/t.dragToElementsemantics, i.e. the grab offset, scrolling into view, whole-pixel points and a stepped move.helpers/timezones.ts:getTimezoneTest.helpers/generateOptionMatrix.ts.models/scheduler: only the members these tests use. It will grow with the next two parts.playwright-etalonsartifact. The README explains how to use it.Notes for the Scheduler team
dragAndDropDst, the Los Angeles winter case was labelledsummer, which also made two titles collide; it is nowwinter.dragAndDropDstis dropped.Etalons
The CI run of this PR recorded 96 etalons: 48 fluent and 48 fluent-next. They pair 1:1 with the deleted TestCafe ones.
week_usual-appts-render-dtsfluent images also differ in the appointment date text. Scheduler: appointment title and date do not reach the AA contrast ratio #35089 darkened that text but never re-shot these TestCafe etalons; TestCafe's lenient comparer still let them pass. The new etalons show the current, correct render.Test plan
lintandtype-checkpass fore2e/playwright.--ignore-snapshots: 40 passed in Europe/Berlin, 39 passed in America/Los_Angeles, and all 79 skipped in GMT. The PivotGrid specs still pass.