Commit Graph

391 Commits

Author SHA1 Message Date
Liam DeBeasi
4826a3d9f5 test(config): introduce legacy and modern playwright projects (#27228)
Issue number: N/A

---------

<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

This is the first PR to introduce the infrastructure required to add
test generators to the Ionic Framework project. This PR introduces the
file name changes necessary to support two playwright configs, so I
recommend reviewing the PR by commit:


1e5012cea1

- Created a `playwright.config-legacy.ts` file and updates
`package.json`.
- Running `npm run test.e2e` will run the generator tests, and running
`npm run test.e2e.legacy` will run the legacy tests.


4fe8de7df7

- Updates the GitHub Action scripts to run both the modern and legacy
E2E tests. I added command modifiers to avoid collisions with output
directories.


e8bcfaf926

- Updates `*.e2e.ts` files to have the legacy format name:
`*.e2e-legacy.ts`. This naming scheme is required for the two Playwright
configs to pull in the correct files. When migrating tests to
generators, team members will rename the file to remove the `-legacy`
part.


5bf196c36d
(warning: lots of files!)

- Updates the `*.e2e.ts-snapshots` directories to have the legacy format
name: `*.e2e-legacy.ts-snapshots`. The screenshot directory in
Playwright is generated based on the test file name which is why we are
updating the screenshot directory. When migrating tests to generators,
team members will rename the directory to remove the `-legacy` part.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-04-26 18:27:17 +00:00
Liam DeBeasi
ad02058ef3 test(datetime): skip flaky tests (#27256)
Issue number: N/A

---------

These tests are flaky on CI:
https://github.com/ionic-team/ionic-framework/actions/runs/4757321510/jobs/8454046190?pr=27247

Looks like we are not waiting long enough for scrolling to finish.
2023-04-20 18:45:11 +00:00
Liam DeBeasi
c0aea33576 refactor(): update directories to use kebab case (#27230)
Issue number: N/A

---------

<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

The team decided on some new processes for adding tests. One of those
processes is that test directories should use kebab case.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Updates test directories to use kebab case

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-04-18 20:10:56 +00:00
Amanda Johnston
0385c0862c fix(datetime): clamp date between min and max when using month picker (#27185)
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

When using the dropdown month picker, the value is updated when the
month is changed, to follow native behavior. However, because only the
month is updated (the day remains the same), it's possible for the newly
chosen date to fall outside the min/max bounds of the datetime.

For example, if you have a datetime with `min="2021-01-15"
value="2021-02-01"`, then use the month picker to switch to January, the
new value will be `2021-01-01` which is earlier than the `min`.

<!-- Issues are required for both bug fixes and features. -->
Issue URL: Resolves #27027


## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

When updating the `activeParts` in any scenario, the date to set is now
clamped between the max and min.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-04-18 17:31:47 +00:00
Liam DeBeasi
f750c8756f chore(): sync with main 2023-03-29 09:17:21 -04:00
Liam DeBeasi
f68644065c test(datetime): display tests wait for class (#27017) 2023-03-27 09:47:28 -04:00
Liam DeBeasi
4349f1c2c8 test(datetime): update timezone test for v7 2023-03-24 19:13:12 +00:00
Liam DeBeasi
eb10a2e5f6 chore(): sync with main 2023-03-24 14:37:39 -04:00
Shawn Taylor
739f5706db test(datetime): add tests for parseDate (#27015) 2023-03-24 11:57:55 -04:00
dependabot[bot]
53af005122 chore(deps-dev): bump @playwright/test from 1.31.2 to 1.32.0 in /core (#27003) 2023-03-23 12:44:59 -04:00
Liam DeBeasi
77b9e11c2b chore(): sync with main 2023-03-08 09:35:37 -05:00
Liam DeBeasi
48c45afdb6 fix(datetime): resolve import error in stencil apps (#26909)
resolves #26908
2023-03-06 12:04:07 -05:00
Liam DeBeasi
3f888c0928 chore(): sync with main 2023-03-03 12:00:21 -05:00
Liam DeBeasi
d1b885d5be test(many): migrate tests to toHaveScreenshot (#26899) 2023-03-03 11:21:39 -05:00
Sean Perkins
89a465c9ea chore(playwright): update to v1.31.1 (#26869) 2023-03-02 13:43:29 -05:00
Liam DeBeasi
f54fc18884 fix(datetime-button): time-only values are parsed (#26852)
resolves #26851
2023-03-02 09:09:01 -05:00
Liam DeBeasi
708ccbf808 chore(): sync with main 2023-03-01 11:22:56 -05:00
Liam DeBeasi
70246d5182 chore(): sync with main 2023-03-01 09:03:59 -05:00
Sean Perkins
67578f6246 chore: format string values in comments with double quotes (#26857) 2023-02-28 21:16:15 -05:00
Sean Perkins
ac66215399 fix(datetime): aria-label for show/hide year picker (#26848) 2023-02-28 17:42:08 -05:00
Liam DeBeasi
db6eb35463 test(datetime): fix flaky test (#26874) 2023-02-28 15:15:48 -05:00
Liam DeBeasi
df3735765a fix(button): update for ios spec (#26864)
BREAKING CHANGE:

Button is updated to align with the design specification for iOS.

**Design tokens**

| Token                              | Previous Value | New Value |
| ---------------------------------- | -------------- | --------- |
| `$button-ios-letter-spacing`       | `-0.03em`      | `0`       |
| `$button-ios-clear-letter-spacing` | `0`            | Removed   |
| `$button-ios-height`               | `2.8em`        | `3.1em`   |
| `$button-ios-border-radius`        | `10px`         | `14px`    |
| `$button-ios-large-height`         | `2.8em`        | `3.1em`   |
| `$button-ios-large-border-radius`  | `12px`         | `16px`    |
2023-02-28 11:36:44 -05:00
Amanda Johnston
2a761afd5a feat(datetime): add ability to specify custom colors for specific dates (#26775) 2023-02-22 09:01:33 -06:00
Liam DeBeasi
799871e95d chore(): sync with main 2023-02-22 10:00:56 -05:00
Liam DeBeasi
1a346b6206 fix(datetime): days of week and spacing buttons are not announced by screen readers (#26813)
resolves #26811
2023-02-16 15:05:35 -05:00
Liam DeBeasi
804e54e5ca test(many): migrate to new toHaveScreenshot API (#26797) 2023-02-16 11:37:29 -05:00
Liam DeBeasi
8f80ec765d chore(): remove old screenshots 2023-02-08 09:45:28 -05:00
Liam DeBeasi
c85b5308a1 chore(): sync with main 2023-02-08 09:44:42 -05:00
Liam DeBeasi
7553cc7b0d test(many): resolve more flaky tests (#26731) 2023-02-03 13:21:38 -05:00
Liam DeBeasi
1a8bd6d8c6 chore(deps): update to stencil v3 (#26663) 2023-01-31 18:07:22 -05:00
Liam DeBeasi
b78b454e08 revert(): revert base components feature (#26692)
The Ionic Framework team would like to re-evaluate our approach to improving customization options when building mobile applications. We are looking at other solutions that a) make customizing an app UI easier and b) are applicable to a broader set of developers.
2023-01-30 11:52:36 -05:00
Liam DeBeasi
18f109c7da feat(base-components): add ability to remove ios and md theme (#26669) 2023-01-24 16:18:35 -05:00
Liam DeBeasi
e8fb9e7328 chore(): sync with main 2023-01-23 13:38:16 -05:00
Liam DeBeasi
c01600191e chore(): sync with main 2023-01-18 09:36:43 -05:00
Amanda Johnston
7b947b5d58 fix(datetime): allow header to render in all wheel picker presentations (#26616) 2023-01-17 15:15:43 -06:00
Amanda Johnston
c2e1ad385d chore(many): replace any types and add tech debt tickets (#26293)
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2023-01-06 09:34:55 -06:00
Liam DeBeasi
4515f03656 Merge remote-tracking branch 'origin/main' into sync-7-1-4-23 2023-01-04 10:20:44 -05:00
Liam DeBeasi
1917c71235 test(datetime): resolve flaky tests as year changes (#26561) 2023-01-04 09:28:28 -05:00
Liam DeBeasi
59140a810a chore(): revert datetime screenshot diff 2022-12-20 11:43:01 -05:00
ionitron
20829f54cd chore(): add updated snapshots 2022-12-20 16:03:24 +00:00
Liam DeBeasi
d54b9dfdc0 chore(): sync with main 2022-12-20 10:44:26 -05:00
Liam DeBeasi
bd05fccf58 test(config): update to playwright 1.29.0 (#26388) 2022-12-20 09:26:51 -05:00
ionitron
ca066163a0 chore(): add updated snapshots 2022-12-14 22:42:27 +00:00
Liam DeBeasi
ea22046e45 test(datetime): remove unneeded test 2022-12-14 22:24:18 +00:00
Liam DeBeasi
c833423dc9 chore(): run lint on datetime test files 2022-12-14 21:55:11 +00:00
Liam DeBeasi
f9c681331c chore(): sync with main 2022-12-14 16:49:32 -05:00
Liam DeBeasi
385232334e test(datetime): improve e2e test perf (#26462) 2022-12-12 14:18:37 -05:00
Sean Perkins
e8581289d7 Merge remote-tracking branch 'origin/main' into sync-7-12-09 2022-12-09 13:38:17 -05:00
Sean Perkins
c5ebc9155c test(datetime, picker-internal): skip flaky tests (#26459) 2022-12-09 13:36:03 -05:00
Liam DeBeasi
d3b0ab67d0 test(datetime): fix flaky assertion 2022-12-09 17:55:39 +00:00