PromucFlow_constructor/app/client/test/factories/PageFactory.ts
Hetu Nandu 723ad29d7a
chore: Cleanup Redux Actions file (#35720)
## Description

Cleans out and reorganises the Redux Actions Constants file

Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

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

### 🔍 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/10489649733>
> Commit: 9fa7003f7c2d1b43a6c693cb1d34ba5cc2c11832
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10489649733&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 21 Aug 2024 13:45:56 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **New Features**
- Introduced new interfaces for enhanced structured data handling
related to page management and property pane visibility.
- Added functionality to control widget panel visibility with a new
action.

- **Bug Fixes**
- Improved flexibility in closing property panes by adding an optional
parameter to the related function.

- **Refactor**
- Streamlined import statements for various types to improve
organization and maintainability.
- Removed unused functions and action handlers to simplify user and data
source management.
	- Updated action type constants for consistency across the application.
- Removed sagas related to URL redirection and history management,
simplifying navigation handling.

- **Chores**
- Cleaned up unused imports to reduce code clutter and improve
readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-22 09:49:30 +05:30

27 lines
696 B
TypeScript

import type { Page } from "entities/Page";
import * as Factory from "factory.ts";
function generateRandomHexId() {
const hexChars = "0123456789abcdef";
let id = "";
for (let i = 0; i < 24; i++) {
id += hexChars[Math.floor(Math.random() * 16)];
}
return id;
}
export const PageFactory = Factory.Sync.makeFactory<Page>({
pageName: Factory.each((i) => `Page${i + 1}`),
pageId: Factory.each(() => generateRandomHexId()),
basePageId: Factory.each(() => generateRandomHexId()),
isDefault: false,
isHidden: false,
slug: Factory.each((i) => `pageSlug${i + 1}`),
userPermissions: [
"read:pages",
"manage:pages",
"create:pageActions",
"delete:pages",
],
});