diff --git a/cypress/e2e/processors/processors-list.cy.js b/cypress/e2e/processors/processors-list.cy.js
new file mode 100644
index 000000000..de54ac1b3
--- /dev/null
+++ b/cypress/e2e/processors/processors-list.cy.js
@@ -0,0 +1,20 @@
+describe.only("Processors Landing Module", () => {
+ beforeEach(() => {
+ cy.visit("http://localhost:9000/");
+ });
+ it("should successfully log in with valid credentials", () => {
+ cy.get("[data-testid=email]").type("jeeva.ramachandran+19@juspay.in");
+ cy.get("[data-testid=password]").type("Jeeva12#");
+ cy.get('button[type="submit"]').click({ force: true });
+ cy.get("[data-testid=processors]").click({ force: true });
+ cy.url().should("eq", "http://localhost:9000/connectors");
+ cy.contains("Processors").should("be.visible");
+ cy.contains(
+ "Connect and manage payment processors to enable payment acceptance",
+ ).should("be.visible");
+ cy.contains("Connect a new connector").should("be.visible");
+ cy.get("[data-testid=search-processor]")
+ .type("stripe", { force: true })
+ .should("have.value", "stripe");
+ });
+});
diff --git a/src/components/HeadlessUISelectBox.res b/src/components/HeadlessUISelectBox.res
index 3b8738960..feda2ba7b 100644
--- a/src/components/HeadlessUISelectBox.res
+++ b/src/components/HeadlessUISelectBox.res
@@ -35,22 +35,107 @@ let make = (
}
-
}
-
+ }}
+
+ }
+
+
}
diff --git a/src/genericUtils/DOMUtils.res b/src/genericUtils/DOMUtils.res
index 40fe6011a..e26641f2d 100644
--- a/src/genericUtils/DOMUtils.res
+++ b/src/genericUtils/DOMUtils.res
@@ -19,3 +19,4 @@ external event: string => event = "Event"
@send external remove: (Dom.element, unit) => unit = "remove"
@scope(("document", "body"))
external appendChild: Dom.element => unit = "appendChild"
+external domProps: {..} => JsxDOM.domProps = "%identity"
diff --git a/src/screens/HyperSwitch/Connectors/ConnectorList.res b/src/screens/HyperSwitch/Connectors/ConnectorList.res
index ff9e2fcf5..8fe83df71 100644
--- a/src/screens/HyperSwitch/Connectors/ConnectorList.res
+++ b/src/screens/HyperSwitch/Connectors/ConnectorList.res
@@ -69,14 +69,18 @@ module NewProcessorCards = {
- ReactDOM.Ref.domRef}
- type_="text"
- value=searchedConnector
- onChange=handleSearch
- placeholder="Search a processor"
- className={`rounded-md px-4 py-2 focus:outline-none w-1/3 border`}
- />
+
+ ReactDOM.Ref.domRef}
+ type_="text"
+ value=searchedConnector
+ onChange=handleSearch
+ placeholder="Search a processor"
+ className={`rounded-md px-4 py-2 focus:outline-none w-1/3 border`}
+ // dataTestid=dataTestId
+ id="search-connector"
+ />
+
ReactDOM.Ref.domRef}
type_="text"
value=searchedConnector
diff --git a/src/screens/HyperSwitch/Sidebar/Sidebar.res b/src/screens/HyperSwitch/Sidebar/Sidebar.res
index 43581b21b..bdcb312a5 100644
--- a/src/screens/HyperSwitch/Sidebar/Sidebar.res
+++ b/src/screens/HyperSwitch/Sidebar/Sidebar.res
@@ -99,17 +99,18 @@ module SidebarItem = {
| Link(tabOption) => {
let {name, icon, link, access} = tabOption
let redirectionLink = `${link}${getSearchParamByLink(link)}`
-
- ReactDOM.Ref.domRef}
- onClick={_ => isMobileView ? setIsSidebarExpanded(_ => false) : ()}
- className={`${textColor} relative overflow-hidden flex flex-row items-center rounded-lg cursor-pointer ${selectedClass} p-3 ${isExpanded
- ? "mx-2"
- : "mx-1"} hover:bg-light_white my-0.5`}>
-
-
+ String.toLowerCase)]>
+ ReactDOM.Ref.domRef}
+ onClick={_ => isMobileView ? setIsSidebarExpanded(_ => false) : ()}
+ className={`${textColor} relative overflow-hidden flex flex-row items-center rounded-lg cursor-pointer ${selectedClass} p-3 ${isExpanded
+ ? "mx-2"
+ : "mx-1"} hover:bg-light_white my-0.5`}>
+
+
+
}
@@ -197,22 +198,24 @@ module NestedSidebarItem = {
- ReactDOM.Ref.domRef}
- onClick={_ => isMobileView ? setIsSidebarExpanded(_ => false) : ()}
- className={`${textColor} relative overflow-hidden flex flex-row items-center cursor-pointer rounded-lg ${paddingClass} ${selectedClass}`}>
-
- Belt.Option.isSome && isSideBarExpanded}>
-
- Belt.Option.getWithDefault(26)}
- name={iconTag->Belt.Option.getWithDefault("")}
- className={iconStyles->Belt.Option.getWithDefault("w-26 h-26")}
- />
-
-
-
-
+ String.toLowerCase)]>
+ ReactDOM.Ref.domRef}
+ onClick={_ => isMobileView ? setIsSidebarExpanded(_ => false) : ()}
+ className={`${textColor} relative overflow-hidden flex flex-row items-center cursor-pointer rounded-lg ${paddingClass} ${selectedClass}`}>
+
+ Belt.Option.isSome && isSideBarExpanded}>
+
+ Belt.Option.getWithDefault(26)}
+ name={iconTag->Belt.Option.getWithDefault("")}
+ className={iconStyles->Belt.Option.getWithDefault("w-26 h-26")}
+ />
+
+
+
+
+
}
@@ -253,56 +256,58 @@ module NestedSectionItem = {
let sectionExpandedAnimation = `rounded-sm transition duration-[250ms] ease-in-out`
-
-
ReactDOM.Ref.domRef}
- className={`${isSideBarExpanded
- ? "mx-2"
- : "mx-1"} text-sm ${textColor} ${bgColor} relative overflow-hidden flex flex-row items-center justify-between p-3 ${cursor} ${isSectionExpanded
- ? ""
- : sectionExpandedAnimation} border-l-2 ${isAnySubItemSelected
- ? "border-white"
- : "border-transparent"} hover:bg-light_white`}
- onClick=toggleSectionExpansion>
-
- {if isSideBarExpanded {
-
-
-
- } else {
-
- }}
+
String.toLowerCase)]>
+
+
ReactDOM.Ref.domRef}
+ className={`${isSideBarExpanded
+ ? "mx-2"
+ : "mx-1"} text-sm ${textColor} ${bgColor} relative overflow-hidden flex flex-row items-center justify-between p-3 ${cursor} ${isSectionExpanded
+ ? ""
+ : sectionExpandedAnimation} border-l-2 ${isAnySubItemSelected
+ ? "border-white"
+ : "border-transparent"} hover:bg-light_white`}
+ onClick=toggleSectionExpansion>
+
+ {if isSideBarExpanded {
+
+
+
+ } else {
+
+ }}
+
+
+ {React.string(section.name)}
+
+
+
-
- {React.string(section.name)}
-
+
-
-
+
+ {section.links
+ ->Array.mapWithIndex((subLevelItem, index) => {
+ let isSelected = subLevelItem->isSubLevelItemSelected
+
+ })
+ ->React.array}
-
- {section.links
- ->Array.mapWithIndex((subLevelItem, index) => {
- let isSelected = subLevelItem->isSubLevelItemSelected
-
- })
- ->React.array}
-
-
+
}
}