Skip to content

Commit

Permalink
test: added new case (#38308)
Browse files Browse the repository at this point in the history
## Description
Added new test case for the template module.


Fixes [Issue
URL](https://app.zenhub.com/workspaces/stability-pod-6690c4814e31602e25cab7fd/issues/gh/appsmithorg/appsmith/38309)

## Automation

/ok-to-test tags="@tag.Templates"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12463337741>
> Commit: d7d11f8
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12463337741&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Templates`
> Spec:
> <hr>Mon, 23 Dec 2024 08:19:52 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a new test suite for validating template functionality in
the client-side application.
- Added comprehensive test cases to verify data bindings and button
actions within templates.

- **Tests**
- Enhanced the testing framework with checks for data source connections
and user interactions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
  • Loading branch information
sagar-qa007 authored Dec 23, 2024
1 parent 2eac193 commit c5238ff
Showing 1 changed file with 76 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
import template from "../../../../locators/TemplatesLocators.json";
import {
agHelper,
assertHelper,
dataSources,
debuggerHelper,
locators,
} from "../../../../support/Objects/ObjectsCore";
import EditorNavigation, {
EntityType,
PageLeftPane,
} from "../../../../support/Pages/EditorNavigation";
import PageList from "../../../../support/Pages/PageList";

describe(
"Fork a template to the current app",
{
tags: ["@tag.Templates", "@tag.excludeForAirgap"],
},
() => {
it("1. Verify that all data bindings in the template are correctly connected to the corresponding data sources (e.g., APIs, databases) No errors should be seen", () => {
PageList.AddNewPage("Add page from template");
agHelper.AssertElementVisibility(template.templateDialogBox);
agHelper.ContainsNClick("Vehicle Maintenance App");
agHelper.FailIfErrorToast("INTERNAL_SERVER_ERROR");
agHelper.GetNClick(template.templateViewForkButton);
agHelper.WaitUntilToastDisappear("template added successfully");
assertHelper.AssertNetworkStatus("updateLayout");
agHelper.WaitUntilAllToastsDisappear();
EditorNavigation.SelectEntityByName("Home page", EntityType.Page);
EditorNavigation.SelectEntityByName(
"Container2CopyCopy",
EntityType.Widget,
);
debuggerHelper.OpenDebugger();
debuggerHelper.ClickLogsTab();
debuggerHelper.AssertVisibleErrorMessagesCount(0);
});

it("2. Verify button actions, such as submitting forms, navigating to other pages, or calling APIs, and verify the responses", () => {
PageList.AddNewPage("Add page from template");
agHelper.AssertElementVisibility(template.templateDialogBox);
agHelper.ContainsNClick("Vehicle Maintenance App");
agHelper.FailIfErrorToast("INTERNAL_SERVER_ERROR");
agHelper.GetNClick(template.templateViewForkButton);
agHelper.WaitUntilToastDisappear("template added successfully");
assertHelper.AssertNetworkStatus("updateLayout");

agHelper.WaitUntilAllToastsDisappear();
agHelper.RefreshPage();
EditorNavigation.SelectEntityByName("Container5", EntityType.Widget);
PageLeftPane.expandCollapseItem("Container1");
agHelper.ClickButton("Open Menu");
agHelper.AssertText(locators._menuItem, "text", "Home page", 0);
agHelper.AssertText(locators._menuItem, "text", "New vehicle", 1);
agHelper.GetNClick(locators._menuItem, 1);
agHelper.AssertContains("New vehicle registration");
EditorNavigation.SelectEntityByName("Home page", EntityType.Page);
EditorNavigation.SelectEntityByName(
"Container2CopyCopy",
EntityType.Widget,
);
PageLeftPane.expandCollapseItem("Container2CopyCopy");
agHelper.ClickButton("Register service");
agHelper.AssertElementVisibility(locators._modalWrapper);
debuggerHelper.OpenDebugger();
debuggerHelper.ClickLogsTab();
debuggerHelper.AssertVisibleErrorMessagesCount(0);

EditorNavigation.SelectEntityByName("select_cars", EntityType.Query);
dataSources.RunQuery();
dataSources.AssertQueryResponseHeaders(["vin"]);
dataSources.AssertQueryResponseHeaders(["make"]);
});
},
);

0 comments on commit c5238ff

Please sign in to comment.