/ok-to-test tags="@tag.Anvil"
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced theme setting and snapshot verification for various widgets
in different modes (Canvas, Preview, Deploy).
- Added a new CSS rule to enhance the styling of input elements based on
specific conditions.
- **Refactor**
- Renamed existing snapshot verification methods to more descriptive
names across multiple widget snapshot files.
- Added methods to handle theme settings and detailed snapshot matching.
- **Tests**
- Enhanced testing functionality for widgets with updated methods for
snapshot verification across different themes.
These updates ensure more detailed and theme-specific snapshot testing
for various widget states, improving test coverage and accuracy, as well
as enhancing the layout consistency of input elements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10046186626>
> Commit: a6232ae795f77bd46bff4c854f46c5671a518ff6
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10046186626&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Mon, 22 Jul 2024 18:43:52 UTC
<!-- end of auto-generated comment: Cypress test results -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
Co-authored-by: Valera Melnikov <valera@appsmith.com>
Part of #33724.
We have a lot of fixture files in our Cypress tests with DSLs of various
kinds. They are used to update the DSL using the
`/api/v1/layouts/{layoutId}/pages/{pageId}?applicationId={applicationId}`.
This API, is [in this line in
`LayoutControllerCE`](c4e5d5e6c8/app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/ce/LayoutControllerCE.java (L71)),
and the request body is parsed as [objects of `LayoutUpdateDTO`
record](71bc84fc76/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/LayoutUpdateDTO.java (L6)).
This `record`, accepts _only_ the `dsl` field, and nothing else.
List of potential files that have this problem was identified with this
command:
```sh
cd app/client/cypress
rg -Io 'AddDsl\(".+?\)' \
| cut -d\" -f2 \
| sort -u \
| while read line; do
if rg -q '"(layoutOnLoadActions|layoutOnLoadActionErrors|userPermissions|new)":' fixtures/"$line".json; then
echo $line
fi
done
```
(For reference, and to use on EE repo, after this is merged).
**/test all**
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> 🔴🔴🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9633990737>
> Commit: 9e848f1ed0c3332177d2e6c4a75e2483f045395f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9633990737&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: ``
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor3_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js
>
<li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js
</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Corrected the file path for loading DSL configuration in the nested
list widget scenario.
- **Chores**
- Streamlined multiple JSON files by removing deprecated
`layoutOnLoadActions` arrays and other obsolete fields, resulting in
cleaner and more manageable configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
/ok-to-test tags="@tag.Anvil"
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced test cases for Anvil Button Widgets, including Canvas,
Preview, and Deploy modes.
- **Bug Fixes**
- Updated CSS and HTML selectors for better element targeting and
testing reliability.
- **Style**
- Improved styling logic for buttons in the InlineButtons component.
- **Chores**
- Added `data-testid` attributes for better test targeting.
- Refactored code for string concatenations and URL constructions in
DeployModeHelper.
<!-- end of auto-generated comment: release notes by coderabbit.ai
--><!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9597157402>
> Commit: c551705fe01aace94962fcc7fa91dff253136721
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9597157402&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
<!-- end of auto-generated comment: Cypress test results -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>