angular-slickgrid 9.0.0 → 9.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/{dist/fesm2022 → fesm2022}/angular-slickgrid.mjs +16 -16
- package/package.json +27 -14
- package/.gitbook.yaml +0 -5
- package/CHANGELOG.md +0 -1691
- package/CONTRIBUTING.md +0 -17
- package/angular.json +0 -133
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -1620
- package/coverage/coverage-final.json +0 -9
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -176
- package/coverage/library/components/angular-slickgrid.component.ts.html +0 -5074
- package/coverage/library/components/index.html +0 -116
- package/coverage/library/constants.ts.html +0 -397
- package/coverage/library/extensions/index.html +0 -116
- package/coverage/library/extensions/slickRowDetailView.ts.html +0 -1261
- package/coverage/library/index.html +0 -116
- package/coverage/library/modules/angular-slickgrid.module.ts.html +0 -166
- package/coverage/library/modules/index.html +0 -116
- package/coverage/library/services/angularUtil.service.ts.html +0 -445
- package/coverage/library/services/container.service.ts.html +0 -163
- package/coverage/library/services/index.html +0 -161
- package/coverage/library/services/translater.service.ts.html +0 -199
- package/coverage/library/services/utilities.ts.html +0 -142
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
- package/dist/LICENSE +0 -21
- package/dist/README.md +0 -142
- package/docs/README.md +0 -5
- package/docs/TOC.md +0 -105
- package/docs/backend-services/Custom-Backend-Service.md +0 -50
- package/docs/backend-services/GraphQL.md +0 -276
- package/docs/backend-services/OData.md +0 -245
- package/docs/backend-services/graphql/GraphQL-Filtering.md +0 -156
- package/docs/backend-services/graphql/GraphQL-JSON-Result.md +0 -85
- package/docs/backend-services/graphql/GraphQL-Pagination.md +0 -77
- package/docs/backend-services/graphql/GraphQL-Sorting.md +0 -78
- package/docs/column-functionalities/cell-menu.md +0 -212
- package/docs/column-functionalities/editors/autocomplete-editor.md +0 -466
- package/docs/column-functionalities/editors/date-editor-flatpickr.md +0 -71
- package/docs/column-functionalities/editors/date-editor-vanilla-calendar.md +0 -91
- package/docs/column-functionalities/editors/longtext-editor-textarea.md +0 -80
- package/docs/column-functionalities/editors/select-dropdown-editor.md +0 -227
- package/docs/column-functionalities/editors.md +0 -604
- package/docs/column-functionalities/filters/autocomplete-filter.md +0 -183
- package/docs/column-functionalities/filters/compound-filters.md +0 -234
- package/docs/column-functionalities/filters/custom-filter.md +0 -117
- package/docs/column-functionalities/filters/filter-intro.md +0 -81
- package/docs/column-functionalities/filters/input-filter.md +0 -260
- package/docs/column-functionalities/filters/range-filters.md +0 -188
- package/docs/column-functionalities/filters/select-filter.md +0 -695
- package/docs/column-functionalities/filters/single-search-filter.md +0 -77
- package/docs/column-functionalities/filters/styling-filled-filters.md +0 -45
- package/docs/column-functionalities/formatters.md +0 -325
- package/docs/column-functionalities/sorting.md +0 -200
- package/docs/developer-guides/csp-compliance.md +0 -64
- package/docs/events/Available-Events.md +0 -223
- package/docs/events/Grid-&-DataView-Events.md +0 -211
- package/docs/getting-started/quick-start.md +0 -230
- package/docs/getting-started/troubleshooting.md +0 -80
- package/docs/grid-functionalities/Column-Picker.md +0 -22
- package/docs/grid-functionalities/Composite-Editor-Modal.md +0 -627
- package/docs/grid-functionalities/Context-Menu.md +0 -226
- package/docs/grid-functionalities/Custom-Footer.md +0 -80
- package/docs/grid-functionalities/Custom-Tooltip-(plugin).md +0 -258
- package/docs/grid-functionalities/Export-to-Excel.md +0 -457
- package/docs/grid-functionalities/Export-to-Text-File.md +0 -165
- package/docs/grid-functionalities/FAQ.md +0 -53
- package/docs/grid-functionalities/Global-Options.md +0 -29
- package/docs/grid-functionalities/Grid-Auto-Resize.md +0 -218
- package/docs/grid-functionalities/Grid-Menu.md +0 -134
- package/docs/grid-functionalities/Grid-State-&-Preset.md +0 -245
- package/docs/grid-functionalities/Header-Menu-&-Header-Buttons.md +0 -125
- package/docs/grid-functionalities/Resize-by-Cell-Content.md +0 -138
- package/docs/grid-functionalities/Row-Selection.md +0 -247
- package/docs/grid-functionalities/Row-based-edit.md +0 -71
- package/docs/grid-functionalities/add-update-highlight.md +0 -258
- package/docs/grid-functionalities/column-row-spanning.md +0 -74
- package/docs/grid-functionalities/dynamic-item-metadata.md +0 -124
- package/docs/grid-functionalities/excel-copy-buffer.md +0 -145
- package/docs/grid-functionalities/frozen-columns-rows.md +0 -164
- package/docs/grid-functionalities/grouping-and-aggregators.md +0 -269
- package/docs/grid-functionalities/header-footer-slots.md +0 -22
- package/docs/grid-functionalities/infinite-scroll.md +0 -150
- package/docs/grid-functionalities/providing-grid-data.md +0 -61
- package/docs/grid-functionalities/row-detail.md +0 -530
- package/docs/grid-functionalities/tree-data-grid.md +0 -391
- package/docs/localization/Localization---Component-Sample.md +0 -87
- package/docs/localization/Localization-with-Custom-Locales.md +0 -66
- package/docs/localization/Localization-with-ngx-translate.md +0 -148
- package/docs/migrations/migration-to-2.x.md +0 -304
- package/docs/migrations/migration-to-3.x.md +0 -295
- package/docs/migrations/migration-to-4.x.md +0 -83
- package/docs/migrations/migration-to-5.x.md +0 -160
- package/docs/migrations/migration-to-6.x.md +0 -128
- package/docs/migrations/migration-to-7.x.md +0 -294
- package/docs/migrations/migration-to-8.x.md +0 -316
- package/docs/migrations/migration-to-9.x.md +0 -219
- package/docs/slick-grid-dataview-objects/slickgrid-dataview-objects.md +0 -79
- package/docs/styling/dark-mode.md +0 -100
- package/docs/styling/styling.md +0 -250
- package/docs/testing/testing-patterns.md +0 -73
- package/eslint.config.mjs +0 -60
- package/ng-package.json +0 -10
- package/src/assets/angular-logo.png +0 -0
- package/src/assets/angular-logo2.png +0 -0
- package/src/assets/data/collection_100_numbers.json +0 -12
- package/src/assets/data/collection_500_numbers.json +0 -52
- package/src/assets/data/countries.json +0 -245
- package/src/assets/data/country_names.json +0 -245
- package/src/assets/data/customers_100.json +0 -102
- package/src/assets/data/users.csv +0 -5
- package/src/assets/i18n/en.json +0 -102
- package/src/assets/i18n/fr.json +0 -103
- package/src/demos/app-routing.module.ts +0 -108
- package/src/demos/app.component.html +0 -187
- package/src/demos/app.component.scss +0 -79
- package/src/demos/app.component.ts +0 -11
- package/src/demos/app.module.ts +0 -196
- package/src/demos/environments/environment.dev.ts +0 -3
- package/src/demos/environments/environment.prod.ts +0 -3
- package/src/demos/environments/environment.ts +0 -8
- package/src/demos/examples/custom-angularComponentEditor.ts +0 -187
- package/src/demos/examples/custom-angularComponentFilter.ts +0 -123
- package/src/demos/examples/custom-buttonFormatter.component.ts +0 -13
- package/src/demos/examples/custom-inputEditor.ts +0 -132
- package/src/demos/examples/custom-inputFilter.ts +0 -134
- package/src/demos/examples/custom-titleFormatter.component.ts +0 -9
- package/src/demos/examples/data/collection_100_numbers.json +0 -12
- package/src/demos/examples/data/collection_500_numbers.json +0 -52
- package/src/demos/examples/data/countries.json +0 -245
- package/src/demos/examples/data/country_names.json +0 -245
- package/src/demos/examples/data/customers_100.json +0 -102
- package/src/demos/examples/data/users.csv +0 -5
- package/src/demos/examples/editor-ng-select.component.ts +0 -38
- package/src/demos/examples/example01.component.html +0 -48
- package/src/demos/examples/example01.component.ts +0 -109
- package/src/demos/examples/example02.component.html +0 -45
- package/src/demos/examples/example02.component.ts +0 -218
- package/src/demos/examples/example03.component.html +0 -118
- package/src/demos/examples/example03.component.ts +0 -694
- package/src/demos/examples/example04.component.html +0 -87
- package/src/demos/examples/example04.component.ts +0 -326
- package/src/demos/examples/example05.component.html +0 -151
- package/src/demos/examples/example05.component.ts +0 -474
- package/src/demos/examples/example06.component.html +0 -163
- package/src/demos/examples/example06.component.ts +0 -446
- package/src/demos/examples/example07.component.html +0 -56
- package/src/demos/examples/example07.component.scss +0 -10
- package/src/demos/examples/example07.component.ts +0 -216
- package/src/demos/examples/example08.component.html +0 -51
- package/src/demos/examples/example08.component.scss +0 -23
- package/src/demos/examples/example08.component.ts +0 -195
- package/src/demos/examples/example09.component.html +0 -55
- package/src/demos/examples/example09.component.scss +0 -22
- package/src/demos/examples/example09.component.ts +0 -302
- package/src/demos/examples/example10.component.html +0 -103
- package/src/demos/examples/example10.component.ts +0 -309
- package/src/demos/examples/example11.component.html +0 -91
- package/src/demos/examples/example11.component.ts +0 -276
- package/src/demos/examples/example12.component.html +0 -98
- package/src/demos/examples/example12.component.ts +0 -317
- package/src/demos/examples/example13.component.html +0 -96
- package/src/demos/examples/example13.component.ts +0 -370
- package/src/demos/examples/example14.component.html +0 -50
- package/src/demos/examples/example14.component.scss +0 -11
- package/src/demos/examples/example14.component.ts +0 -156
- package/src/demos/examples/example15.component.html +0 -56
- package/src/demos/examples/example15.component.ts +0 -304
- package/src/demos/examples/example16.component.html +0 -77
- package/src/demos/examples/example16.component.ts +0 -277
- package/src/demos/examples/example17.component.html +0 -50
- package/src/demos/examples/example17.component.ts +0 -109
- package/src/demos/examples/example18.component.html +0 -132
- package/src/demos/examples/example18.component.ts +0 -445
- package/src/demos/examples/example19-rowdetail.component.html +0 -40
- package/src/demos/examples/example19-rowdetail.component.ts +0 -54
- package/src/demos/examples/example19.component.html +0 -79
- package/src/demos/examples/example19.component.ts +0 -316
- package/src/demos/examples/example20.component.html +0 -76
- package/src/demos/examples/example20.component.scss +0 -11
- package/src/demos/examples/example20.component.ts +0 -341
- package/src/demos/examples/example21.component.html +0 -86
- package/src/demos/examples/example21.component.scss +0 -16
- package/src/demos/examples/example21.component.ts +0 -140
- package/src/demos/examples/example22.component.html +0 -41
- package/src/demos/examples/example22.component.ts +0 -117
- package/src/demos/examples/example23.component.html +0 -111
- package/src/demos/examples/example23.component.ts +0 -323
- package/src/demos/examples/example24.component.html +0 -120
- package/src/demos/examples/example24.component.scss +0 -62
- package/src/demos/examples/example24.component.ts +0 -641
- package/src/demos/examples/example25.component.html +0 -60
- package/src/demos/examples/example25.component.scss +0 -8
- package/src/demos/examples/example25.component.ts +0 -255
- package/src/demos/examples/example26.component.html +0 -98
- package/src/demos/examples/example26.component.scss +0 -42
- package/src/demos/examples/example26.component.ts +0 -383
- package/src/demos/examples/example27.component.html +0 -138
- package/src/demos/examples/example27.component.scss +0 -10
- package/src/demos/examples/example27.component.ts +0 -369
- package/src/demos/examples/example28.component.html +0 -143
- package/src/demos/examples/example28.component.scss +0 -54
- package/src/demos/examples/example28.component.ts +0 -453
- package/src/demos/examples/example29.component.html +0 -30
- package/src/demos/examples/example29.component.ts +0 -70
- package/src/demos/examples/example30.component.html +0 -116
- package/src/demos/examples/example30.component.scss +0 -20
- package/src/demos/examples/example30.component.ts +0 -1070
- package/src/demos/examples/example32.component.html +0 -77
- package/src/demos/examples/example32.component.scss +0 -8
- package/src/demos/examples/example32.component.ts +0 -905
- package/src/demos/examples/example33.component.html +0 -50
- package/src/demos/examples/example33.component.scss +0 -46
- package/src/demos/examples/example33.component.ts +0 -571
- package/src/demos/examples/example34.component.html +0 -82
- package/src/demos/examples/example34.component.scss +0 -77
- package/src/demos/examples/example34.component.ts +0 -434
- package/src/demos/examples/example35.component.html +0 -77
- package/src/demos/examples/example35.component.scss +0 -18
- package/src/demos/examples/example35.component.ts +0 -264
- package/src/demos/examples/example36.component.html +0 -56
- package/src/demos/examples/example36.component.scss +0 -26
- package/src/demos/examples/example36.component.ts +0 -504
- package/src/demos/examples/example37.component.html +0 -30
- package/src/demos/examples/example37.component.ts +0 -123
- package/src/demos/examples/example38.component.html +0 -104
- package/src/demos/examples/example38.component.scss +0 -8
- package/src/demos/examples/example38.component.ts +0 -420
- package/src/demos/examples/example39.component.html +0 -112
- package/src/demos/examples/example39.component.scss +0 -8
- package/src/demos/examples/example39.component.ts +0 -371
- package/src/demos/examples/example40.component.html +0 -76
- package/src/demos/examples/example40.component.ts +0 -226
- package/src/demos/examples/example41.component.html +0 -50
- package/src/demos/examples/example41.component.scss +0 -42
- package/src/demos/examples/example41.component.ts +0 -229
- package/src/demos/examples/example42.component.html +0 -47
- package/src/demos/examples/example42.component.ts +0 -203
- package/src/demos/examples/example43.component.html +0 -94
- package/src/demos/examples/example43.component.scss +0 -30
- package/src/demos/examples/example43.component.ts +0 -449
- package/src/demos/examples/example44.component.html +0 -78
- package/src/demos/examples/example44.component.scss +0 -50
- package/src/demos/examples/example44.component.ts +0 -375
- package/src/demos/examples/example45-detail.component.html +0 -15
- package/src/demos/examples/example45-detail.component.ts +0 -97
- package/src/demos/examples/example45.component.html +0 -110
- package/src/demos/examples/example45.component.scss +0 -50
- package/src/demos/examples/example45.component.ts +0 -243
- package/src/demos/examples/filter-ng-select.component.ts +0 -33
- package/src/demos/examples/grid-custom-pager.component.html +0 -60
- package/src/demos/examples/grid-custom-pager.component.scss +0 -57
- package/src/demos/examples/grid-custom-pager.component.ts +0 -107
- package/src/demos/examples/grid-remote.component.html +0 -44
- package/src/demos/examples/grid-remote.component.ts +0 -164
- package/src/demos/examples/home.component.html +0 -39
- package/src/demos/examples/home.component.ts +0 -10
- package/src/demos/examples/jsonp.ts +0 -89
- package/src/demos/examples/rowdetail-preload.component.ts +0 -10
- package/src/demos/examples/swt-common-grid-pagination.component.ts +0 -160
- package/src/demos/examples/swt-common-grid-test.component.html +0 -37
- package/src/demos/examples/swt-common-grid-test.component.ts +0 -214
- package/src/demos/examples/swt-common-grid.component.ts +0 -436
- package/src/demos/examples/swt-logger.service.ts +0 -173
- package/src/demos/examples/utilities.ts +0 -9
- package/src/favicon.ico +0 -0
- package/src/index.html +0 -17
- package/src/library/components/__tests__/angular-slickgrid.component.spec.ts +0 -2638
- package/src/library/components/angular-slickgrid.component.html +0 -5
- package/src/library/components/angular-slickgrid.component.ts +0 -1662
- package/src/library/constants.ts +0 -105
- package/src/library/extensions/__tests__/slickRowDetailView.spec.ts +0 -751
- package/src/library/extensions/index.ts +0 -1
- package/src/library/extensions/slickRowDetailView.ts +0 -395
- package/src/library/global-grid-options.ts +0 -273
- package/src/library/index.ts +0 -11
- package/src/library/models/angularComponentOutput.interface.ts +0 -6
- package/src/library/models/angularGridInstance.interface.ts +0 -76
- package/src/library/models/externalTestingDependencies.interface.ts +0 -37
- package/src/library/models/gridOption.interface.ts +0 -15
- package/src/library/models/index.ts +0 -5
- package/src/library/models/rowDetailView.interface.ts +0 -16
- package/src/library/modules/angular-slickgrid.module.spec.ts +0 -25
- package/src/library/modules/angular-slickgrid.module.ts +0 -27
- package/src/library/services/__tests__/angularUtilService.spec.ts +0 -156
- package/src/library/services/__tests__/container.service.spec.ts +0 -25
- package/src/library/services/__tests__/translater.service.spec.ts +0 -43
- package/src/library/services/__tests__/utilities.spec.ts +0 -22
- package/src/library/services/angularUtil.service.ts +0 -120
- package/src/library/services/container.service.ts +0 -26
- package/src/library/services/index.ts +0 -4
- package/src/library/services/translater.service.ts +0 -38
- package/src/library/services/utilities.ts +0 -19
- package/src/library/slickgrid-config.ts +0 -10
- package/src/main.ts +0 -13
- package/src/public_api.ts +0 -1
- package/src/styles.scss +0 -178
- package/test/cypress/e2e/example01.cy.ts +0 -367
- package/test/cypress/e2e/example02.cy.ts +0 -60
- package/test/cypress/e2e/example03.cy.ts +0 -268
- package/test/cypress/e2e/example04.cy.ts +0 -254
- package/test/cypress/e2e/example05.cy.ts +0 -804
- package/test/cypress/e2e/example06.cy.ts +0 -890
- package/test/cypress/e2e/example07.cy.ts +0 -384
- package/test/cypress/e2e/example08.cy.ts +0 -190
- package/test/cypress/e2e/example09.cy.ts +0 -392
- package/test/cypress/e2e/example10.cy.ts +0 -650
- package/test/cypress/e2e/example11.cy.ts +0 -86
- package/test/cypress/e2e/example12.cy.ts +0 -269
- package/test/cypress/e2e/example13.cy.ts +0 -246
- package/test/cypress/e2e/example14.cy.ts +0 -122
- package/test/cypress/e2e/example15.cy.ts +0 -598
- package/test/cypress/e2e/example16.cy.ts +0 -427
- package/test/cypress/e2e/example17.cy.ts +0 -83
- package/test/cypress/e2e/example18.cy.ts +0 -431
- package/test/cypress/e2e/example19.cy.ts +0 -263
- package/test/cypress/e2e/example20.cy.ts +0 -264
- package/test/cypress/e2e/example21.cy.ts +0 -77
- package/test/cypress/e2e/example22.cy.ts +0 -94
- package/test/cypress/e2e/example23.cy.ts +0 -259
- package/test/cypress/e2e/example24.cy.ts +0 -707
- package/test/cypress/e2e/example25.cy.ts +0 -193
- package/test/cypress/e2e/example26.cy.ts +0 -111
- package/test/cypress/e2e/example27.cy.ts +0 -261
- package/test/cypress/e2e/example28.cy.ts +0 -740
- package/test/cypress/e2e/example29.cy.ts +0 -30
- package/test/cypress/e2e/example30.cy.ts +0 -757
- package/test/cypress/e2e/example31.cy.ts +0 -69
- package/test/cypress/e2e/example32.cy.ts +0 -272
- package/test/cypress/e2e/example33.cy.ts +0 -278
- package/test/cypress/e2e/example34.cy.ts +0 -84
- package/test/cypress/e2e/example35.cy.ts +0 -178
- package/test/cypress/e2e/example36.cy.ts +0 -219
- package/test/cypress/e2e/example37.cy.ts +0 -52
- package/test/cypress/e2e/example38.cy.ts +0 -160
- package/test/cypress/e2e/example39.cy.ts +0 -150
- package/test/cypress/e2e/example40.cy.ts +0 -126
- package/test/cypress/e2e/example41.cy.ts +0 -90
- package/test/cypress/e2e/example42.cy.ts +0 -82
- package/test/cypress/e2e/example43.cy.ts +0 -482
- package/test/cypress/e2e/example44.cy.ts +0 -458
- package/test/cypress/e2e/example45.cy.ts +0 -455
- package/test/cypress/e2e/home.cy.ts +0 -7
- package/test/cypress/fixtures/example.json +0 -5
- package/test/cypress/plugins/index.ts +0 -17
- package/test/cypress/plugins/utilities.ts +0 -28
- package/test/cypress/support/commands.ts +0 -88
- package/test/cypress/support/common.ts +0 -47
- package/test/cypress/support/drag.ts +0 -101
- package/test/cypress/support/index.ts +0 -20
- package/test/cypress/tsconfig.json +0 -9
- package/test/cypress.config.ts +0 -34
- package/test/mockSlickEvent.ts +0 -77
- package/test/rxjsResourceStub.ts +0 -69
- package/test/test-setup.ts +0 -6
- package/test/translateServiceStub.ts +0 -230
- package/test/translaterServiceStub.ts +0 -239
- package/test/tsconfig.json +0 -17
- package/test/vitest-global-mocks.ts +0 -41
- package/test/vitest-global-setup.ts +0 -3
- package/test/vitest-pretest.ts +0 -5
- package/tsconfig.app.json +0 -14
- package/tsconfig.json +0 -31
- package/tsconfig.spec.json +0 -11
- package/types/sortablejs.d.ts +0 -4
- package/vite.config.mts +0 -51
- /package/{dist/fesm2022 → fesm2022}/angular-slickgrid.mjs.map +0 -0
- /package/{dist/i18n → i18n}/en.json +0 -0
- /package/{dist/i18n → i18n}/fr.json +0 -0
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/library → library}/components/angular-slickgrid.component.d.ts +0 -0
- /package/{dist/library → library}/constants.d.ts +0 -0
- /package/{dist/library → library}/extensions/index.d.ts +0 -0
- /package/{dist/library → library}/extensions/slickRowDetailView.d.ts +0 -0
- /package/{dist/library → library}/global-grid-options.d.ts +0 -0
- /package/{dist/library → library}/index.d.ts +0 -0
- /package/{dist/library → library}/models/angularComponentOutput.interface.d.ts +0 -0
- /package/{dist/library → library}/models/angularGridInstance.interface.d.ts +0 -0
- /package/{dist/library → library}/models/externalTestingDependencies.interface.d.ts +0 -0
- /package/{dist/library → library}/models/gridOption.interface.d.ts +0 -0
- /package/{dist/library → library}/models/index.d.ts +0 -0
- /package/{dist/library → library}/models/rowDetailView.interface.d.ts +0 -0
- /package/{dist/library → library}/modules/angular-slickgrid.module.d.ts +0 -0
- /package/{dist/library → library}/services/angularUtil.service.d.ts +0 -0
- /package/{dist/library → library}/services/container.service.d.ts +0 -0
- /package/{dist/library → library}/services/index.d.ts +0 -0
- /package/{dist/library → library}/services/translater.service.d.ts +0 -0
- /package/{dist/library → library}/services/utilities.d.ts +0 -0
- /package/{dist/library → library}/slickgrid-config.d.ts +0 -0
- /package/{dist/public_api.d.ts → public_api.d.ts} +0 -0
|
@@ -1,482 +0,0 @@
|
|
|
1
|
-
describe('Example 43 - colspan/rowspan - Employees Timesheets', { retries: 0 }, () => {
|
|
2
|
-
const GRID_ROW_HEIGHT = 30;
|
|
3
|
-
const fullTitles = [
|
|
4
|
-
'Employee ID',
|
|
5
|
-
'Employee Name',
|
|
6
|
-
'9:00 AM',
|
|
7
|
-
'9:30 AM',
|
|
8
|
-
'10:00 AM',
|
|
9
|
-
'10:30 AM',
|
|
10
|
-
'11:00 AM',
|
|
11
|
-
'11:30 AM',
|
|
12
|
-
'12:00 PM',
|
|
13
|
-
'12:30 PM',
|
|
14
|
-
'1:00 PM',
|
|
15
|
-
'1:30 PM',
|
|
16
|
-
'2:00 PM',
|
|
17
|
-
'2:30 PM',
|
|
18
|
-
'3:00 PM',
|
|
19
|
-
'3:30 PM',
|
|
20
|
-
'4:00 PM',
|
|
21
|
-
'4:30 PM',
|
|
22
|
-
'5:00 PM',
|
|
23
|
-
];
|
|
24
|
-
|
|
25
|
-
it('should display Example title', () => {
|
|
26
|
-
cy.visit(`${Cypress.config('baseUrl')}/example43`);
|
|
27
|
-
cy.get('h2').should('contain', 'Example 43: colspan/rowspan - Employees Timesheets');
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
it('should have exact column titles', () => {
|
|
31
|
-
cy.get('.slick-header-columns')
|
|
32
|
-
.children()
|
|
33
|
-
.each(($child, index) => expect($child.text()).to.eq(fullTitles[index]));
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
it('should expect 1st column to be frozen (frozen)', () => {
|
|
37
|
-
cy.get('.grid-canvas-left .slick-cell.frozen').should('have.length', 10);
|
|
38
|
-
cy.get('.grid-canvas-right .slick-cell:not(.frozen)').should('have.length.above', 50);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
describe('Spanning', () => {
|
|
42
|
-
it('should expect "Davolio", "Check Mail", and "Development" to all have rowspan of 2 in morning hours', () => {
|
|
43
|
-
cy.get(`[data-row=0] > .slick-cell.l1.r1.rowspan`).should('contain', 'Davolio');
|
|
44
|
-
cy.get(`[data-row=0] > .slick-cell.l1.r1.rowspan`).should(($el) =>
|
|
45
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 2)
|
|
46
|
-
);
|
|
47
|
-
|
|
48
|
-
cy.get(`[data-row=2] > .slick-cell.l2.r4.rowspan`).should('contain', 'Check Mail');
|
|
49
|
-
cy.get(`[data-row=2] > .slick-cell.l2.r4.rowspan`).should(($el) =>
|
|
50
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 2)
|
|
51
|
-
);
|
|
52
|
-
|
|
53
|
-
cy.get(`[data-row=8] > .slick-cell.l7.r9.rowspan`).should('contain', 'Development');
|
|
54
|
-
cy.get(`[data-row=8] > .slick-cell.l7.r9.rowspan`).should(($el) =>
|
|
55
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 2)
|
|
56
|
-
);
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
it('should expect "Lunch Break" to span over 3 columns and over all rows', () => {
|
|
60
|
-
cy.get(`[data-row=0] > .slick-cell.l10.r12.rowspan`).should('contain', 'Lunch Break');
|
|
61
|
-
cy.get(`[data-row=0] > .slick-cell.l10.r12.rowspan`).should(($el) =>
|
|
62
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 10)
|
|
63
|
-
);
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
it('should expect a large "Development" section that spans over multiple columns & rows in the afternoon', () => {
|
|
67
|
-
cy.get(`[data-row=1] > .slick-cell.l13.r14.rowspan`).should('contain', 'Development');
|
|
68
|
-
cy.get(`[data-row=1] > .slick-cell.l13.r14.rowspan`).should(($el) =>
|
|
69
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 5)
|
|
70
|
-
);
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
describe('Basic Key Navigations', () => {
|
|
75
|
-
it('should start at Employee 10001, then type "End" key and expect to be in "Team Meeting" between 4:30-5:00pm', () => {
|
|
76
|
-
cy.get('[data-row=0] > .slick-cell.l0.r0').as('active_cell').click();
|
|
77
|
-
cy.get('[data-row=0] > .slick-cell.l0.r0.active').should('contain', '10001');
|
|
78
|
-
cy.get('@active_cell').type('{end}');
|
|
79
|
-
cy.get('[data-row=0] > .slick-cell.l17.r18.active').should('contain', 'Team Meeting');
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
it('should start at Employee 10002, then type "End" key and also expect to be in "Team Meeting" between 4:30-5:00pm', () => {
|
|
83
|
-
cy.get('[data-row=1] > .slick-cell.l0.r0').as('active_cell').click();
|
|
84
|
-
cy.get('[data-row=1] > .slick-cell.l0.r0.active').should('contain', '10002');
|
|
85
|
-
cy.get('@active_cell').type('{end}');
|
|
86
|
-
cy.get('[data-row=0] > .slick-cell.l17.r18.active').should('contain', 'Team Meeting');
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
it('should start at Employee 10004, then type "ArrowRight" key twice and expect to be in "Check Mail" between 9:00-10:30am', () => {
|
|
90
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
91
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
92
|
-
cy.get('@active_cell').type('{rightarrow}{rightarrow}');
|
|
93
|
-
cy.get('[data-row=2] > .slick-cell.l2.r4.active').should('contain', 'Check Mail');
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
it('should start at Employee 10004, then type "ArrowRight" key 4x times and expect to be in "Testing" between 11:00-1:00pm', () => {
|
|
97
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
98
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
99
|
-
cy.get('@active_cell').type('{rightarrow}{rightarrow}{rightarrow}{rightarrow}');
|
|
100
|
-
cy.get('[data-row=3] > .slick-cell.l6.r9.active').should('contain', 'Testing');
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
it('should start at Employee 10004, then type "ArrowRight" key 5x times and expect to be in "Lunch Break"', () => {
|
|
104
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
105
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
106
|
-
cy.get('@active_cell').type('{rightarrow}{rightarrow}{rightarrow}{rightarrow}{rightarrow}');
|
|
107
|
-
cy.get(`[data-row=0] > .slick-cell.l10.r12.rowspan`).should('contain', 'Lunch Break');
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
it('should start at Employee 10004, then type "ArrowRight" key 6x times and expect to be in "Development" between 2:30-3:30pm', () => {
|
|
111
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
112
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
113
|
-
cy.get('@active_cell').type('{rightarrow}{rightarrow}{rightarrow}{rightarrow}{rightarrow}{rightarrow}');
|
|
114
|
-
cy.get(`[data-row=1] > .slick-cell.l13.r14.rowspan.active`).should('contain', 'Development');
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
// then rollback by going backward
|
|
118
|
-
it('should be on Employee 10004 row at previous "Development" cell, then type "ArrowLeft" key once and expect to be in "Lunch Break"', () => {
|
|
119
|
-
cy.get(`[data-row=1] > .slick-cell.l13.r14.rowspan`).as('active_cell').click();
|
|
120
|
-
cy.get(`[data-row=1] > .slick-cell.l13.r14.rowspan`).should('contain', 'Development');
|
|
121
|
-
cy.get('@active_cell').type('{leftarrow}');
|
|
122
|
-
cy.get(`[data-row=0] > .slick-cell.l10.r12.rowspan.active`).should('contain', 'Lunch Break');
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
it('should start at Employee 10004, type "End" and be at "Team Meeting" at 5pm, then type "ArrowLeft" key once and expect to be in "Conference" between 4:00-5:00pm', () => {
|
|
126
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
127
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
128
|
-
cy.get('@active_cell').type('{end}');
|
|
129
|
-
cy.get(`[data-row=3] > .slick-cell.l18.r18.active`).should('contain', 'Team Meeting');
|
|
130
|
-
cy.get(`[data-row=3] > .slick-cell.l18.r18.active`).type('{leftarrow}');
|
|
131
|
-
cy.get(`[data-row=3] > .slick-cell.l16.r17.active`).should('contain', 'Conference');
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
it('should start at Employee 10004, type "End" and be at "Team Meeting" at 5pm, then type "ArrowLeft" key 3x times and expect to be back to "Development" between 2:30-3:30pm', () => {
|
|
135
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
136
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
137
|
-
cy.get('@active_cell').type('{end}');
|
|
138
|
-
cy.get(`[data-row=3] > .slick-cell.l18.r18.active`).should('contain', 'Team Meeting');
|
|
139
|
-
cy.get(`[data-row=3] > .slick-cell.l18.r18.active`).type('{leftarrow}{leftarrow}{leftarrow}');
|
|
140
|
-
cy.get(`[data-row=1] > .slick-cell.l13.r14.rowspan.active`).should('contain', 'Development');
|
|
141
|
-
});
|
|
142
|
-
|
|
143
|
-
it('should start at Employee 10004, type "End" and be at "Team Meeting" at 5pm, then type "ArrowLeft" key 4x times and expect to be back to "Lunch Break"', () => {
|
|
144
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
145
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
146
|
-
cy.get('@active_cell').type('{end}');
|
|
147
|
-
cy.get(`[data-row=3] > .slick-cell.l18.r18.active`).as('active_cell').should('contain', 'Team Meeting');
|
|
148
|
-
cy.get('@active_cell').type('{leftarrow}{leftarrow}{leftarrow}{leftarrow}');
|
|
149
|
-
cy.get(`[data-row=0] > .slick-cell.l10.r12.rowspan.active`).should('contain', 'Lunch Break');
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
it('should start at Employee 10004, type "End" and be at "Team Meeting" at 5pm, then type "ArrowLeft" key 5x times and expect to be back to "Testing" between 11:00-1:00pm', () => {
|
|
153
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
154
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
155
|
-
cy.get('@active_cell').type('{end}');
|
|
156
|
-
cy.get(`[data-row=3] > .slick-cell.l18.r18.active`).as('active_cell').should('contain', 'Team Meeting');
|
|
157
|
-
cy.get('@active_cell').type('{leftarrow}{leftarrow}{leftarrow}{leftarrow}{leftarrow}');
|
|
158
|
-
cy.get(`[data-row=3] > .slick-cell.l6.r9.active`).should('contain', 'Testing');
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
// going down
|
|
162
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key once and expect to be in "Support" between 9:30-11:00am', () => {
|
|
163
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
164
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
165
|
-
cy.get('@active_cell').type('{downarrow}');
|
|
166
|
-
cy.get(`[data-row=1] > .slick-cell.l3.r5.active`).should('contain', 'Support');
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key twice and expect to be in "Check Email" between 9:00-10:30am', () => {
|
|
170
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
171
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
172
|
-
cy.get('@active_cell').type('{downarrow}{downarrow}');
|
|
173
|
-
cy.get(`[data-row=2] > .slick-cell.l2.r4.active`).should('contain', 'Check Mail');
|
|
174
|
-
});
|
|
175
|
-
|
|
176
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key 3x times and expect to be in "Task Assign" between 9:00-11:00am', () => {
|
|
177
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
178
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
179
|
-
cy.get('@active_cell').type('{downarrow}{downarrow}{downarrow}');
|
|
180
|
-
cy.get(`[data-row=4] > .slick-cell.l2.r5.active`).should('contain', 'Task Assign');
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key 4x times and expect to be in "Support" between 10:00-11:30am', () => {
|
|
184
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
185
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
186
|
-
cy.get('@active_cell').type('{downarrow}{downarrow}{downarrow}{downarrow}');
|
|
187
|
-
cy.get(`[data-row=5] > .slick-cell.l4.r6.active`).should('contain', 'Support');
|
|
188
|
-
});
|
|
189
|
-
|
|
190
|
-
// going up from inverse
|
|
191
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key 4x times, then "ArrowUp" once and expect to be in "Task Assign" between 9:00-11:00am', () => {
|
|
192
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
193
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
194
|
-
cy.get('@active_cell').type('{downarrow}{downarrow}{downarrow}{downarrow}{uparrow}');
|
|
195
|
-
cy.get(`[data-row=4] > .slick-cell.l2.r5.active`).should('contain', 'Task Assign');
|
|
196
|
-
});
|
|
197
|
-
|
|
198
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key 4x times, then "ArrowUp" 2x times and expect to be in "Task Assign" between 9:00-11:00am', () => {
|
|
199
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
200
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
201
|
-
cy.get('@active_cell').type('{downarrow}{downarrow}{downarrow}{downarrow}{uparrow}{uparrow}');
|
|
202
|
-
cy.get(`[data-row=2] > .slick-cell.l2.r4.active`).should('contain', 'Check Mail');
|
|
203
|
-
});
|
|
204
|
-
|
|
205
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key 4x times, then "ArrowUp" 3x times and expect to be in "Support" between 10:00-11:30am', () => {
|
|
206
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
207
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
208
|
-
cy.get('@active_cell').type('{downarrow}{downarrow}{downarrow}{downarrow}{uparrow}{uparrow}{uparrow}');
|
|
209
|
-
cy.get(`[data-row=1] > .slick-cell.l3.r5.active`).should('contain', 'Support');
|
|
210
|
-
});
|
|
211
|
-
|
|
212
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key 4x times, then "ArrowUp" 4x times and expect to be back to same "Team Meeting"', () => {
|
|
213
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
214
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
215
|
-
cy.get('@active_cell').type('{downarrow}{downarrow}{downarrow}{downarrow}{uparrow}{uparrow}{uparrow}{uparrow}');
|
|
216
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
217
|
-
});
|
|
218
|
-
});
|
|
219
|
-
|
|
220
|
-
describe('Grid Navigate Functions', () => {
|
|
221
|
-
it('should start at Employee 10004, then type "Navigate Right" twice and expect to be in "Check Mail" between 9:00-10:30am', () => {
|
|
222
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
223
|
-
cy.get('[data-test="goto-next"]').click().click();
|
|
224
|
-
cy.get('[data-row=2] > .slick-cell.l2.r4.active').should('contain', 'Check Mail');
|
|
225
|
-
});
|
|
226
|
-
|
|
227
|
-
it('should start at Employee 10004, then type "Navigate Right" 4x times and expect to be in "Testing" between 11:00-1:00pm', () => {
|
|
228
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
229
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
230
|
-
cy.get('[data-test="goto-next"]').click().click().click().click();
|
|
231
|
-
cy.get('[data-row=3] > .slick-cell.l6.r9.active').should('contain', 'Testing');
|
|
232
|
-
});
|
|
233
|
-
|
|
234
|
-
it('should start at Employee 10004, then type "Navigate Right" 5x times and expect to be in "Lunch Break"', () => {
|
|
235
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
236
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
237
|
-
cy.get('[data-test="goto-next"]').click().click().click().click().click();
|
|
238
|
-
cy.get(`[data-row=0] > .slick-cell.l10.r12.rowspan`).should('contain', 'Lunch Break');
|
|
239
|
-
});
|
|
240
|
-
|
|
241
|
-
it('should start at Employee 10004, then type "Navigate Right" 6x times and expect to be in "Development" between 2:30-3:30pm', () => {
|
|
242
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
243
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
244
|
-
cy.get('[data-test="goto-next"]').click().click().click().click().click().click();
|
|
245
|
-
cy.get(`[data-row=1] > .slick-cell.l13.r14.rowspan.active`).should('contain', 'Development');
|
|
246
|
-
});
|
|
247
|
-
|
|
248
|
-
// then rollback by going backward
|
|
249
|
-
it('should be on Employee 10004 row at previous "Development" cell, then type "Navigate Left" once and expect to be in "Lunch Break"', () => {
|
|
250
|
-
cy.get(`[data-row=1] > .slick-cell.l13.r14.rowspan`).as('active_cell').click();
|
|
251
|
-
cy.get(`[data-row=1] > .slick-cell.l13.r14.rowspan`).should('contain', 'Development');
|
|
252
|
-
cy.get('[data-test="goto-prev"]').click();
|
|
253
|
-
cy.get(`[data-row=0] > .slick-cell.l10.r12.rowspan.active`).should('contain', 'Lunch Break');
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
it('should start at Employee 10004, type "End" and be at "Team Meeting" at 5pm, then type "Navigate Left" once and expect to be in "Conference" between 4:00-5:00pm', () => {
|
|
257
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
258
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
259
|
-
cy.get('@active_cell').type('{end}');
|
|
260
|
-
cy.get(`[data-row=3] > .slick-cell.l18.r18.active`).should('contain', 'Team Meeting');
|
|
261
|
-
cy.get('[data-test="goto-prev"]').click();
|
|
262
|
-
cy.get(`[data-row=3] > .slick-cell.l16.r17.active`).should('contain', 'Conference');
|
|
263
|
-
});
|
|
264
|
-
|
|
265
|
-
it('should start at Employee 10004, type "End" and be at "Team Meeting" at 5pm, then type "Navigate Left" 3x times and expect to be back to "Development" between 2:30-3:30pm', () => {
|
|
266
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
267
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
268
|
-
cy.get('@active_cell').type('{end}');
|
|
269
|
-
cy.get(`[data-row=3] > .slick-cell.l18.r18.active`).should('contain', 'Team Meeting');
|
|
270
|
-
cy.get('[data-test="goto-prev"]').click().click().click();
|
|
271
|
-
cy.get(`[data-row=1] > .slick-cell.l13.r14.rowspan.active`).should('contain', 'Development');
|
|
272
|
-
});
|
|
273
|
-
|
|
274
|
-
it('should start at Employee 10004, type "End" and be at "Team Meeting" at 5pm, then type "Navigate Left" 4x times and expect to be back to "Lunch Break"', () => {
|
|
275
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
276
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
277
|
-
cy.get('@active_cell').type('{end}');
|
|
278
|
-
cy.get(`[data-row=3] > .slick-cell.l18.r18.active`).as('active_cell').should('contain', 'Team Meeting');
|
|
279
|
-
cy.get('[data-test="goto-prev"]').click().click().click().click();
|
|
280
|
-
cy.get(`[data-row=0] > .slick-cell.l10.r12.rowspan.active`).should('contain', 'Lunch Break');
|
|
281
|
-
});
|
|
282
|
-
|
|
283
|
-
it('should start at Employee 10004, type "End" and be at "Team Meeting" at 5pm, then type "Navigate Left" 5x times and expect to be back to "Testing" between 11:00-1:00pm', () => {
|
|
284
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0').as('active_cell').click();
|
|
285
|
-
cy.get('[data-row=3] > .slick-cell.l0.r0.active').should('contain', '10004');
|
|
286
|
-
cy.get('@active_cell').type('{end}');
|
|
287
|
-
cy.get(`[data-row=3] > .slick-cell.l18.r18.active`).as('active_cell').should('contain', 'Team Meeting');
|
|
288
|
-
cy.get('[data-test="goto-prev"]').click().click().click().click().click();
|
|
289
|
-
cy.get(`[data-row=3] > .slick-cell.l6.r9.active`).should('contain', 'Testing');
|
|
290
|
-
});
|
|
291
|
-
|
|
292
|
-
// going down
|
|
293
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key once and expect to be in "Support" between 9:30-11:00am', () => {
|
|
294
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
295
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
296
|
-
cy.get('[data-test="goto-down"]').click();
|
|
297
|
-
cy.get(`[data-row=1] > .slick-cell.l3.r5.active`).should('contain', 'Support');
|
|
298
|
-
});
|
|
299
|
-
|
|
300
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key twice and expect to be in "Check Email" between 9:00-10:30am', () => {
|
|
301
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
302
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
303
|
-
cy.get('[data-test="goto-down"]').click().click();
|
|
304
|
-
cy.get(`[data-row=2] > .slick-cell.l2.r4.active`).should('contain', 'Check Mail');
|
|
305
|
-
});
|
|
306
|
-
|
|
307
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key 3x times and expect to be in "Task Assign" between 9:00-11:00am', () => {
|
|
308
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
309
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
310
|
-
cy.get('[data-test="goto-down"]').click().click().click();
|
|
311
|
-
cy.get(`[data-row=4] > .slick-cell.l2.r5.active`).should('contain', 'Task Assign');
|
|
312
|
-
});
|
|
313
|
-
|
|
314
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key 4x times and expect to be in "Support" between 10:00-11:30am', () => {
|
|
315
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
316
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
317
|
-
cy.get('[data-test="goto-down"]').click().click().click().click();
|
|
318
|
-
cy.get(`[data-row=5] > .slick-cell.l4.r6.active`).should('contain', 'Support');
|
|
319
|
-
});
|
|
320
|
-
|
|
321
|
-
// going up from inverse
|
|
322
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key 4x times, then "ArrowUp" once and expect to be in "Task Assign" between 9:00-11:00am', () => {
|
|
323
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
324
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
325
|
-
cy.get('[data-test="goto-down"]').click().click().click().click();
|
|
326
|
-
cy.get('[data-test="goto-up"]').click();
|
|
327
|
-
cy.get(`[data-row=4] > .slick-cell.l2.r5.active`).should('contain', 'Task Assign');
|
|
328
|
-
});
|
|
329
|
-
|
|
330
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key 4x times, then "ArrowUp" 2x times and expect to be in "Task Assign" between 9:00-11:00am', () => {
|
|
331
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
332
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
333
|
-
cy.get('[data-test="goto-down"]').click().click().click().click();
|
|
334
|
-
cy.get('[data-test="goto-up"]').click().click();
|
|
335
|
-
cy.get(`[data-row=2] > .slick-cell.l2.r4.active`).should('contain', 'Check Mail');
|
|
336
|
-
});
|
|
337
|
-
|
|
338
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key 4x times, then "ArrowUp" 3x times and expect to be in "Support" between 10:00-11:30am', () => {
|
|
339
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
340
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
341
|
-
cy.get('[data-test="goto-down"]').click().click().click().click();
|
|
342
|
-
cy.get('[data-test="goto-up"]').click().click().click();
|
|
343
|
-
cy.get(`[data-row=1] > .slick-cell.l3.r5.active`).should('contain', 'Support');
|
|
344
|
-
});
|
|
345
|
-
|
|
346
|
-
it('should start at 10am "Team Meeting, then type "ArrowDown" key 4x times, then "ArrowUp" 4x times and expect to be back to same "Team Meeting"', () => {
|
|
347
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').as('active_cell').click();
|
|
348
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
349
|
-
cy.get('[data-test="goto-down"]').click().click().click().click();
|
|
350
|
-
cy.get('[data-test="goto-up"]').click().click().click().click();
|
|
351
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active').should('contain', 'Team Meeting');
|
|
352
|
-
});
|
|
353
|
-
});
|
|
354
|
-
|
|
355
|
-
describe('Grid Editing', () => {
|
|
356
|
-
it('should toggle editing', () => {
|
|
357
|
-
cy.get('#isEditable').contains('false');
|
|
358
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').click();
|
|
359
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active .editor-text').should('not.exist');
|
|
360
|
-
|
|
361
|
-
cy.get('[data-test=toggle-editing]').click();
|
|
362
|
-
cy.get('#isEditable').contains('true');
|
|
363
|
-
|
|
364
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4').click();
|
|
365
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active.editable .editor-text').should('exist');
|
|
366
|
-
cy.get('[data-row=0] > .slick-cell.l4.r4.active.editable .editor-text').type('Team Meeting.xyz{enter}');
|
|
367
|
-
});
|
|
368
|
-
|
|
369
|
-
// going down
|
|
370
|
-
it('should have changed active cell to "Support" between 9:30-11:00am', () => {
|
|
371
|
-
cy.get('[data-row=1] > .slick-cell.l3.r5.active.editable .editor-text')
|
|
372
|
-
.invoke('val')
|
|
373
|
-
.then((text) => expect(text).to.eq('Support'));
|
|
374
|
-
cy.get('[data-row=1] > .slick-cell.l3.r5.active.editable .editor-text').type('Support.xyz{enter}');
|
|
375
|
-
});
|
|
376
|
-
|
|
377
|
-
it('should have changed active cell to "Check Email" between 9:00-10:30am', () => {
|
|
378
|
-
cy.get('[data-row=2] > .slick-cell.l2.r4.active.editable .editor-text')
|
|
379
|
-
.invoke('val')
|
|
380
|
-
.then((text) => expect(text).to.eq('Check Mail'));
|
|
381
|
-
cy.get('[data-row=2] > .slick-cell.l2.r4.active.editable .editor-text').type('Check Mail.xyz{enter}');
|
|
382
|
-
});
|
|
383
|
-
|
|
384
|
-
it('should have changed active cell to "Task Assign" between 9:00-11:00am', () => {
|
|
385
|
-
cy.get('[data-row=4] > .slick-cell.l2.r5.active.editable .editor-text')
|
|
386
|
-
.invoke('val')
|
|
387
|
-
.then((text) => expect(text).to.eq('Task Assign'));
|
|
388
|
-
cy.get('[data-row=4] > .slick-cell.l2.r5.active.editable .editor-text').type('Task Assign.xyz{enter}');
|
|
389
|
-
});
|
|
390
|
-
|
|
391
|
-
it('should have changed active cell to "Support" between 10:00-11:30am', () => {
|
|
392
|
-
cy.get('[data-row=5] > .slick-cell.l4.r6.active.editable .editor-text')
|
|
393
|
-
.invoke('val')
|
|
394
|
-
.then((text) => expect(text).to.eq('Support'));
|
|
395
|
-
cy.get('[data-row=5] > .slick-cell.l4.r6.active.editable .editor-text').type('Support.xyz{enter}');
|
|
396
|
-
});
|
|
397
|
-
|
|
398
|
-
it('should have changed active cell to "Testing" and cancel editing when typing "Escape" key', () => {
|
|
399
|
-
cy.get('[data-row=6] > .slick-cell.l4.r4.active.editable .editor-text')
|
|
400
|
-
.invoke('val')
|
|
401
|
-
.then((text) => expect(text).to.eq('Testing'));
|
|
402
|
-
cy.get('[data-row=6] > .slick-cell.l4.r4.active.editable .editor-text').type('{esc}');
|
|
403
|
-
cy.get('[data-row=6] > .slick-cell.l4.r4.active.editable .editor-text').should('not.exist');
|
|
404
|
-
});
|
|
405
|
-
});
|
|
406
|
-
|
|
407
|
-
describe('Rowspan Remapping', () => {
|
|
408
|
-
describe('hide EmployeeID', () => {
|
|
409
|
-
it('should hide EmployeeID', () => {
|
|
410
|
-
cy.get('[data-test="toggle-employee-id"]').click();
|
|
411
|
-
});
|
|
412
|
-
|
|
413
|
-
it('should expect EmployeeID to follow columns at index 0 column index', () => {
|
|
414
|
-
cy.get(`[data-row=0] > .slick-cell.l0.r0.rowspan`).should('contain', 'Davolio');
|
|
415
|
-
cy.get(`[data-row=0] > .slick-cell.l0.r0.rowspan`).should(($el) =>
|
|
416
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 2)
|
|
417
|
-
);
|
|
418
|
-
|
|
419
|
-
cy.get(`[data-row=2] > .slick-cell.l1.r3.rowspan`).should('contain', 'Check Mail');
|
|
420
|
-
cy.get(`[data-row=2] > .slick-cell.l1.r3.rowspan`).should(($el) =>
|
|
421
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 2)
|
|
422
|
-
);
|
|
423
|
-
|
|
424
|
-
cy.get(`[data-row=8] > .slick-cell.l6.r8.rowspan`).should('contain', 'Development');
|
|
425
|
-
cy.get(`[data-row=8] > .slick-cell.l6.r8.rowspan`).should(($el) =>
|
|
426
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 2)
|
|
427
|
-
);
|
|
428
|
-
});
|
|
429
|
-
|
|
430
|
-
it('should expect "Lunch Break" to be moved to the left by 1 index less', () => {
|
|
431
|
-
cy.get(`[data-row=0] > .slick-cell.l9.r11.rowspan`).should('contain', 'Lunch Break');
|
|
432
|
-
cy.get(`[data-row=0] > .slick-cell.l9.r11.rowspan`).should(($el) =>
|
|
433
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 10)
|
|
434
|
-
);
|
|
435
|
-
});
|
|
436
|
-
|
|
437
|
-
it('should expect "Development" to be moved to the left by 1 index less', () => {
|
|
438
|
-
cy.get(`[data-row=1] > .slick-cell.l12.r13.rowspan`).should('contain', 'Development');
|
|
439
|
-
cy.get(`[data-row=1] > .slick-cell.l12.r13.rowspan`).should(($el) =>
|
|
440
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 5)
|
|
441
|
-
);
|
|
442
|
-
});
|
|
443
|
-
});
|
|
444
|
-
|
|
445
|
-
describe('show EmployeeID', () => {
|
|
446
|
-
it('should show EmployeeID', () => {
|
|
447
|
-
cy.get('[data-test="toggle-employee-id"]').click();
|
|
448
|
-
});
|
|
449
|
-
|
|
450
|
-
it('should expect EmployeeID to follow columns at index 1 column index', () => {
|
|
451
|
-
cy.get(`[data-row=0] > .slick-cell.l1.r1.rowspan`).should('contain', 'Davolio');
|
|
452
|
-
cy.get(`[data-row=0] > .slick-cell.l1.r1.rowspan`).should(($el) =>
|
|
453
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 2)
|
|
454
|
-
);
|
|
455
|
-
|
|
456
|
-
cy.get(`[data-row=2] > .slick-cell.l2.r4.rowspan`).should('contain', 'Check Mail');
|
|
457
|
-
cy.get(`[data-row=2] > .slick-cell.l2.r4.rowspan`).should(($el) =>
|
|
458
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 2)
|
|
459
|
-
);
|
|
460
|
-
|
|
461
|
-
cy.get(`[data-row=8] > .slick-cell.l7.r9.rowspan`).should('contain', 'Development');
|
|
462
|
-
cy.get(`[data-row=8] > .slick-cell.l7.r9.rowspan`).should(($el) =>
|
|
463
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 2)
|
|
464
|
-
);
|
|
465
|
-
});
|
|
466
|
-
|
|
467
|
-
it('should expect "Lunch Break" to be moved to the right by 1 index less', () => {
|
|
468
|
-
cy.get(`[data-row=0] > .slick-cell.l10.r12.rowspan`).should('contain', 'Lunch Break');
|
|
469
|
-
cy.get(`[data-row=0] > .slick-cell.l10.r12.rowspan`).should(($el) =>
|
|
470
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 10)
|
|
471
|
-
);
|
|
472
|
-
});
|
|
473
|
-
|
|
474
|
-
it('should expect "Development" to be moved to the right by 1 index less and a large "Development" section that spans over multiple columns & rows in the afternoon', () => {
|
|
475
|
-
cy.get(`[data-row=1] > .slick-cell.l13.r14.rowspan`).should('contain', 'Development');
|
|
476
|
-
cy.get(`[data-row=1] > .slick-cell.l13.r14.rowspan`).should(($el) =>
|
|
477
|
-
expect(parseInt(`${$el.outerHeight()}`, 10)).to.eq(GRID_ROW_HEIGHT * 5)
|
|
478
|
-
);
|
|
479
|
-
});
|
|
480
|
-
});
|
|
481
|
-
});
|
|
482
|
-
});
|