{"id":29142477,"url":"https://github.com/mohamedsci/cypress-enterprise-commands","last_synced_at":"2026-04-16T14:04:47.540Z","repository":{"id":300236606,"uuid":"1005628273","full_name":"MohamedSci/cypress-enterprise-commands","owner":"MohamedSci","description":"Reusable Cypress custom commands for enterprise web applications","archived":false,"fork":false,"pushed_at":"2025-06-20T18:39:18.000Z","size":112,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-20T19:50:55.572Z","etag":null,"topics":["angular","commands","custom","custom-commands","cypress","cypress-io","e2e","e2e-testing","front-end","ui"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/cypress-enterprise-commands","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MohamedSci.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-20T14:35:59.000Z","updated_at":"2025-06-20T18:46:44.000Z","dependencies_parsed_at":"2025-06-20T15:52:56.940Z","dependency_job_id":null,"html_url":"https://github.com/MohamedSci/cypress-enterprise-commands","commit_stats":null,"previous_names":["mohamedsci/cypress-angular-commands","mohamedsci/cypress-enterprise-commands"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MohamedSci/cypress-enterprise-commands","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedSci%2Fcypress-enterprise-commands","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedSci%2Fcypress-enterprise-commands/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedSci%2Fcypress-enterprise-commands/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedSci%2Fcypress-enterprise-commands/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MohamedSci","download_url":"https://codeload.github.com/MohamedSci/cypress-enterprise-commands/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedSci%2Fcypress-enterprise-commands/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262839806,"owners_count":23372790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","commands","custom","custom-commands","cypress","cypress-io","e2e","e2e-testing","front-end","ui"],"created_at":"2025-06-30T19:37:45.461Z","updated_at":"2026-04-16T14:04:47.505Z","avatar_url":"https://github.com/MohamedSci.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Cypress Enterprise Commands\n\n![npm](https://img.shields.io/npm/v/cypress-enterprise-commands)  \n![Cypress](https://img.shields.io/badge/Cypress-Tested-brightgreen)  \n![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue)\n\n\u003e ✅ **A complete, production-ready library of reusable Cypress custom commands for enterprise web applications** — ideal for Angular, PrimeNG, React, Laravel, and complex UI frameworks.\n\n---\n\n## 🎯 Purpose\n\n**`cypress-enterprise-commands`** is a comprehensive utility toolkit that helps Cypress testers write clear, stable, and efficient tests for modern frontend-heavy applications — particularly **enterprise and ERP systems**.\n\nIt provides 80+ powerful custom commands for:\n\n- Tables, filters, labels, dialogs, dropdowns, inputs, and more.\n- Handling edge cases, async rendering, UI validation, and interaction.\n- Reducing boilerplate and making tests scalable and DRY.\n\n---\n\n## 📦 Installation\n\n```bash\nnpm install cypress-enterprise-commands\n```\n\nThen run the install command to copy reusable commands to your Cypress project:\n\n```bash\nnpm run install:commands\n```\n\n\u003e ✅ This will copy commands into `cypress/support/enterprise-commands/` and automatically import them into your `cypress/support/index.ts`.\n\n---\n\n## 📂 Directory Structure (After Installation)\n\n```bash\ncypress/\n├── support/\n│   ├── enterprise-commands/\n│   │   ├── 1.Search_Filter_Verifications.ts\n│   │   ├── 2.Element_Visibility_StateChecks.ts\n│   │   ├── ...\n│   └── index.ts  \u003c-- Automatically updated to import all commands\n```\n\n---\n\n## ⚙️ Setup in `package.json` (Optional)\n\nIf not already added, you can include this script for future reinstalls:\n\n```json\n\"scripts\": {\n  \"install:commands\": \"node ./node_modules/cypress-enterprise-commands/scripts/install-commands.js\"\n}\n```\n\n---\n\n## ✅ What’s Included?\n\n\u003e 🧩 80+ fully typed custom commands, organized in 14 modules:\n\n| 📁 File                                          | 🔎 Purpose                                         |\n| ------------------------------------------------ | -------------------------------------------------- |\n| `1.Search_Filter_Verifications.ts`               | Table search field testing \u0026 filtering validations |\n| `2.Element_Visibility_StateChecks.ts`            | Assert visibility, enablement, and element state   |\n| `3.TableVerifications.ts`                        | Validate rows, columns, headers, pagination        |\n| `4.Label_Text_Placeholder_ValueVerifications.ts` | Check form labels, values, placeholders            |\n| `5.Button_Dialog_Interactions.ts`                | Handle modals, confirms, alerts, and buttons       |\n| `6.List_View_Assertions.ts`                      | Smart list view interactions                       |\n| `7.PageAndNavigation.ts`                         | Utilities for reloads, waits, and page control     |\n| `8.Table_Interaction_CellRetrieval.ts`           | Read and interact with specific cell values        |\n| `9.Multi-select_Dropdown.ts`                     | Select, deselect, and validate dropdowns           |\n| `10.Generic_Helpers.ts`                          | Scrolling, stabilization, retry helpers            |\n| `11.Input_TextHandling.ts`                       | Smart typing and clearing strategies               |\n| `12.Validation_Assertions.ts`                    | Required fields, error messages, form errors       |\n| `13.login.ts`                                    | Login workflows and protected area access          |\n| `14.Specialized_Modules_Scenarios.ts`            | ERP and enterprise-specific UI logic               |\n\n---\n\n## 🧪 Example Usages\n\n```ts\n// Search a table by a value in multiple columns\ncy.verifySearchFunctionality('[data-test=\"search-box\"]', [1, 2]);\n\n// Conditionally get a cell value from a row\ncy.getCellValueWhenCondition(3, 0, \"Confirmed\").then((val) =\u003e {\n  expect(val).to.include(\"Invoice\");\n});\n\n// Validate form elements\ncy.verifyLabelText('[data-test=\"email-label\"]', \"Email\");\ncy.verifyPlaceholder('[data-test=\"email-input\"]', \"Enter your email\");\n\n// Interact with PrimeNG-style dropdown\ncy.selectAllStatusExceptPostFilter(\"status-dropdown\", 3);\n```\n\n---\n\n## 💼 Best Fit For:\n\n- ERP systems (Sales, HR, Finance, Inventory, etc.)\n- Angular, React, Laravel Blade UI, or any table/form-heavy apps\n- Projects using PrimeNG, Material UI, or Bootstrap\n\n---\n\n## 💡 Pro Tips \u0026 Best Practices\n\n- All commands use safe timeouts, retry logic, and stability checks.\n- Use alongside Cypress fixtures, aliases, and intercepts for max power.\n- Works in JavaScript and TypeScript Cypress setups.\n- Zero conflicts: placed under `support/enterprise-commands/` and won't override your custom files.\n\n---\n\n## 🌍 SEO Keywords (for discoverability)\n\n- Cypress reusable custom commands\n- Cypress PrimeNG dropdown/table helpers\n- Cypress ERP test automation library\n- Angular UI Cypress commands\n- Cypress enterprise testing toolkit\n- Cypress component interaction helpers\n\n---\n\n## 🤝 Contributing\n\nWe welcome your ideas, fixes, and new commands!\n\n1. Fork the repo\n2. Add your features or fixes\n3. Submit a pull request with description\n\n---\n\n## 🛡 License\n\nApache-2.0 — Free for commercial and personal use.\n\n---\n\n## 👨‍💻 Author\n\n**Mohamed Said**\nQA Automation Architect | Cypress Mentor\n🔗 [LinkedIn](https://www.linkedin.com/in/mohamedsaidibrahim)\n🔗 [GitHub](https://github.com/MohamedSci)\n🔗 [Medium](https://medium.com/@mohamedsaidibrahim)\n\n---\n\n\u003e ⭐ If this package helped you, give it a star and share with your team!\n\n---\n\n**Test smarter. Automate faster. Scale confidently — with `cypress-enterprise-commands`.**\n\n```\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohamedsci%2Fcypress-enterprise-commands","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohamedsci%2Fcypress-enterprise-commands","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohamedsci%2Fcypress-enterprise-commands/lists"}