@fluxo-dev/shell 0.0.8 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.esm.css +115 -0
- package/index.esm.d.ts +1 -0
- package/index.esm.js +68195 -0
- package/package.json +13 -2
- package/src/index.d.ts +1 -0
- package/src/lib/app.d.ts +16 -0
- package/src/lib/components/error-page/404.d.ts +1 -0
- package/src/lib/components/routes/main-routes.d.ts +6 -0
- package/src/lib/layouts/blank/blank-layout.d.ts +2 -0
- package/src/lib/layouts/main/app-bar.d.ts +9 -0
- package/src/lib/layouts/main/app-layout.d.ts +5 -0
- package/src/lib/layouts/main/content.d.ts +2 -0
- package/src/lib/layouts/main/footer-bar.d.ts +5 -0
- package/src/lib/layouts/main/navbar-item.d.ts +12 -0
- package/src/lib/layouts/main/navbar.d.ts +1 -0
- package/src/lib/layouts/main/search-bar.d.ts +5 -0
- package/src/lib/layouts/main/shell-spotlight.d.ts +2 -0
- package/src/lib/models/app-jit.d.ts +5 -0
- package/src/lib/pages/general/fluxo-plugin-loader.d.ts +7 -0
- package/src/lib/pages/login/account-confirmation.d.ts +2 -0
- package/src/lib/pages/login/change-password.d.ts +2 -0
- package/src/lib/pages/login/forgot-password.d.ts +2 -0
- package/src/lib/pages/login/login-page.d.ts +2 -0
- package/src/lib/pages/login/reset-password.d.ts +2 -0
- package/src/lib/pages/settings/apps/add-jit-app.d.ts +5 -0
- package/src/lib/pages/settings/apps/app-item.d.ts +10 -0
- package/src/lib/pages/settings/apps/app-jit-item.d.ts +8 -0
- package/src/lib/pages/settings/apps/apps-list.d.ts +6 -0
- package/src/lib/pages/settings/apps/embedded-module-item.d.ts +10 -0
- package/src/lib/pages/settings/apps/install-or-upgrade-app.d.ts +6 -0
- package/src/lib/pages/settings/menu-designer/custom-node.d.ts +14 -0
- package/src/lib/pages/settings/menu-designer/menu-create-form.d.ts +5 -0
- package/src/lib/pages/settings/menu-designer/menu-designer.d.ts +1 -0
- package/src/lib/pages/settings/menu-designer/menu-item-edit.d.ts +8 -0
- package/src/lib/pages/settings/menu-designer/placeholder.d.ts +8 -0
- package/src/lib/pages/settings/security/components/domani-role/domain-role-form.d.ts +6 -0
- package/src/lib/pages/settings/security/components/domani-role/domain-role-grid.d.ts +1 -0
- package/src/lib/pages/settings/security/components/permission/create-custom-permission-form.d.ts +7 -0
- package/src/lib/pages/settings/security/components/permission/create-scope-form.d.ts +7 -0
- package/src/lib/pages/settings/security/components/permission/permission-grid.d.ts +1 -0
- package/src/lib/pages/settings/security/components/permission/permission-navigator.d.ts +8 -0
- package/src/lib/pages/settings/security/components/permission/update-permission.d.ts +5 -0
- package/src/lib/pages/settings/security/components/route-rule/route-rule-create-form.d.ts +7 -0
- package/src/lib/pages/settings/security/components/route-rule/route-rule-grid.d.ts +1 -0
- package/src/lib/pages/settings/security/components/user/user-form.d.ts +7 -0
- package/src/lib/pages/settings/security/components/user/users-grid.d.ts +1 -0
- package/src/lib/pages/settings/settings.d.ts +6 -0
- package/src/lib/pages/settings/token/token-row.d.ts +7 -0
- package/src/lib/pages/settings/token/tokens.d.ts +2 -0
- package/src/lib/pages/settings/ui/ui.d.ts +1 -0
- package/src/lib/services/app-jit-manager.d.ts +10 -0
- package/src/lib/services/app-menu.service.d.ts +5 -0
- package/src/lib/utils/icon-factory.d.ts +9 -0
- package/src/lib/utils/security/only-not-logged-route.d.ts +2 -0
- package/src/lib/utils/security/protected-route.d.ts +2 -0
- package/.babelrc +0 -12
- package/.eslintrc.json +0 -18
- package/jest.config.ts +0 -11
- package/project.json +0 -43
- package/src/index.ts +0 -1
- package/src/lib/app.module.css +0 -1
- package/src/lib/app.spec.tsx +0 -17
- package/src/lib/app.tsx +0 -374
- package/src/lib/components/error-page/404.tsx +0 -16
- package/src/lib/components/routes/main-routes.tsx +0 -26
- package/src/lib/layouts/blank/blank-layout.tsx +0 -10
- package/src/lib/layouts/main/app-bar.tsx +0 -192
- package/src/lib/layouts/main/app-layout.tsx +0 -52
- package/src/lib/layouts/main/content.tsx +0 -10
- package/src/lib/layouts/main/footer-bar.tsx +0 -76
- package/src/lib/layouts/main/navbar-item.module.css +0 -49
- package/src/lib/layouts/main/navbar-item.tsx +0 -129
- package/src/lib/layouts/main/navbar.tsx +0 -38
- package/src/lib/layouts/main/search-bar.tsx +0 -44
- package/src/lib/layouts/main/shell-spotlight.tsx +0 -58
- package/src/lib/models/app-jit.ts +0 -6
- package/src/lib/pages/general/fluxo-plugin-loader.tsx +0 -22
- package/src/lib/pages/login/account-confirmation.tsx +0 -86
- package/src/lib/pages/login/change-password.tsx +0 -58
- package/src/lib/pages/login/forgot-password.tsx +0 -53
- package/src/lib/pages/login/login-page.tsx +0 -70
- package/src/lib/pages/login/reset-password.tsx +0 -91
- package/src/lib/pages/settings/apps/add-jit-app.tsx +0 -79
- package/src/lib/pages/settings/apps/app-item.tsx +0 -157
- package/src/lib/pages/settings/apps/app-jit-item.tsx +0 -105
- package/src/lib/pages/settings/apps/apps-list.tsx +0 -171
- package/src/lib/pages/settings/apps/embedded-module-item.tsx +0 -66
- package/src/lib/pages/settings/apps/install-or-upgrade-app.tsx +0 -105
- package/src/lib/pages/settings/menu-designer/custom-node.module.css +0 -34
- package/src/lib/pages/settings/menu-designer/custom-node.tsx +0 -160
- package/src/lib/pages/settings/menu-designer/menu-create-form.tsx +0 -109
- package/src/lib/pages/settings/menu-designer/menu-designer.module.css +0 -19
- package/src/lib/pages/settings/menu-designer/menu-designer.tsx +0 -463
- package/src/lib/pages/settings/menu-designer/menu-item-edit.tsx +0 -115
- package/src/lib/pages/settings/menu-designer/placeholder.module.css +0 -8
- package/src/lib/pages/settings/menu-designer/placeholder.tsx +0 -13
- package/src/lib/pages/settings/security/components/domani-role/domain-role-form.tsx +0 -67
- package/src/lib/pages/settings/security/components/domani-role/domain-role-grid.tsx +0 -139
- package/src/lib/pages/settings/security/components/permission/create-custom-permission-form.tsx +0 -64
- package/src/lib/pages/settings/security/components/permission/create-scope-form.tsx +0 -158
- package/src/lib/pages/settings/security/components/permission/permission-grid.tsx +0 -304
- package/src/lib/pages/settings/security/components/permission/permission-navigator.tsx +0 -320
- package/src/lib/pages/settings/security/components/permission/update-permission.tsx +0 -54
- package/src/lib/pages/settings/security/components/route-rule/route-rule-create-form.tsx +0 -59
- package/src/lib/pages/settings/security/components/route-rule/route-rule-grid.tsx +0 -229
- package/src/lib/pages/settings/security/components/user/user-form.tsx +0 -123
- package/src/lib/pages/settings/security/components/user/users-grid.tsx +0 -127
- package/src/lib/pages/settings/settings.tsx +0 -298
- package/src/lib/pages/settings/token/token-row.tsx +0 -69
- package/src/lib/pages/settings/token/tokens.tsx +0 -73
- package/src/lib/pages/settings/ui/ui.tsx +0 -149
- package/src/lib/services/app-jit-manager.ts +0 -92
- package/src/lib/services/app-menu.service.ts +0 -35
- package/src/lib/utils/icon-factory.tsx +0 -25
- package/src/lib/utils/security/only-not-logged-route.tsx +0 -17
- package/src/lib/utils/security/protected-route.tsx +0 -47
- package/tsconfig.json +0 -20
- package/tsconfig.lib.json +0 -24
- package/tsconfig.spec.json +0 -20
package/package.json
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluxo-dev/shell",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
|
|
3
|
+
"version": "0.0.12",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@fluxo-dev/shell-hub": "0.0.12",
|
|
6
|
+
"@fluxo-dev/shell-korebi": "0.0.12",
|
|
7
|
+
"@fluxo-dev/shell-mfe": "0.0.12",
|
|
8
|
+
"@fluxo-dev/shell-printing": "0.0.12",
|
|
9
|
+
"@fluxo-dev/shell-reporting": "0.0.12",
|
|
10
|
+
"@fluxo-dev/shell-workflow": "0.0.12"
|
|
11
|
+
},
|
|
12
|
+
"module": "./index.esm.js",
|
|
13
|
+
"type": "module",
|
|
14
|
+
"main": "./index.esm.js"
|
|
15
|
+
}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FluxoShell, FluxoShellProps } from './lib/app';
|
package/src/lib/app.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { EmbeddedModule } from "@fluxo-dev/api-client-base";
|
|
3
|
+
import './app.module.css';
|
|
4
|
+
import 'dayjs/locale/it';
|
|
5
|
+
export interface FluxoShellProps {
|
|
6
|
+
pluginEndpoint: string;
|
|
7
|
+
appVersion: string;
|
|
8
|
+
dashboardComponent: React.ReactNode;
|
|
9
|
+
modules: EmbeddedModule[];
|
|
10
|
+
}
|
|
11
|
+
export declare function FluxoShell(props: FluxoShellProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export default FluxoShell;
|
|
13
|
+
export interface AppInnerProps {
|
|
14
|
+
router: any;
|
|
15
|
+
}
|
|
16
|
+
export declare function AppInner(props: AppInnerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function ErrorPage(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AppMenuItem } from "@fluxo-dev/api-client-base";
|
|
3
|
+
interface NavBarItemProps {
|
|
4
|
+
icon: JSX.Element;
|
|
5
|
+
label: string;
|
|
6
|
+
routerLink?: string;
|
|
7
|
+
initiallyOpened?: boolean;
|
|
8
|
+
links?: AppMenuItem[];
|
|
9
|
+
level: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function NavBarItem({ icon: Icon, label, routerLink, initiallyOpened, links, level }: NavBarItemProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function Navbar(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FluxoApp } from "@fluxo-dev/api-client-base";
|
|
2
|
+
export interface AppItemProps {
|
|
3
|
+
app: FluxoApp;
|
|
4
|
+
onUninstall?: (app: FluxoApp) => void;
|
|
5
|
+
onDeactivate?: (app: FluxoApp) => void;
|
|
6
|
+
onActivate?: (app: FluxoApp) => void;
|
|
7
|
+
onUpgrade?: (app: FluxoApp) => void;
|
|
8
|
+
pluginEndpoint: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function AppItem(props: AppItemProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AppJit } from "../../../models/app-jit";
|
|
2
|
+
export interface AppItemProps {
|
|
3
|
+
app: AppJit;
|
|
4
|
+
onDeactivate?: (app: AppJit) => void;
|
|
5
|
+
onActivate?: (app: AppJit) => void;
|
|
6
|
+
onRemove?: (app: AppJit) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function AppJitItem(props: AppItemProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EmbeddedModule } from "@fluxo-dev/api-client-base";
|
|
2
|
+
export interface EmbeddedModuleItemProps {
|
|
3
|
+
app: EmbeddedModule;
|
|
4
|
+
onUpgrade?: (app: EmbeddedModule) => void;
|
|
5
|
+
upgradable: {
|
|
6
|
+
state: 'uptodate' | 'upgradable' | 'installable';
|
|
7
|
+
version: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export declare function EmbeddedModuleItem(props: EmbeddedModuleItemProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { NodeModel } from "@minoru/react-dnd-treeview";
|
|
3
|
+
import { AppMenuItem } from "@fluxo-dev/api-client-base";
|
|
4
|
+
type Props = {
|
|
5
|
+
nodes: NodeModel<AppMenuItem>[];
|
|
6
|
+
node: NodeModel<AppMenuItem>;
|
|
7
|
+
depth: number;
|
|
8
|
+
isOpen: boolean;
|
|
9
|
+
onToggle: (id: NodeModel["id"]) => void;
|
|
10
|
+
onEditButtonClick: (item: AppMenuItem) => void;
|
|
11
|
+
onDeleteButtonClick: (nodeId: string | number) => void;
|
|
12
|
+
};
|
|
13
|
+
export declare const CustomNode: React.FC<Props>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function MenuDesigner(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AppMenuItem } from "@fluxo-dev/api-client-base";
|
|
2
|
+
export interface MenuItemEditProps {
|
|
3
|
+
nodeId: string | number;
|
|
4
|
+
menuItem: AppMenuItem;
|
|
5
|
+
onCancelClick: () => void;
|
|
6
|
+
onSaveClick: (nodeId: string | number, item: AppMenuItem) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function MenuItemEdit(props: MenuItemEditProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DomainRole } from "@fluxo-dev/api-client-base";
|
|
2
|
+
export interface DomainRoleFormProps {
|
|
3
|
+
domainRole: DomainRole | undefined;
|
|
4
|
+
onCreate: () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function DomainRoleForm(props: DomainRoleFormProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function DomainRoleGrid(): import("react/jsx-runtime").JSX.Element;
|
package/src/lib/pages/settings/security/components/permission/create-custom-permission-form.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PermissionScope } from "@fluxo-dev/api-client-base";
|
|
2
|
+
export interface CreateCustomPermissionFormProps {
|
|
3
|
+
permissionScope: PermissionScope;
|
|
4
|
+
onCanceled: () => void;
|
|
5
|
+
onCreated: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function CreateCustomPermissionForm(props: CreateCustomPermissionFormProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PermissionScope } from "@fluxo-dev/api-client-base";
|
|
2
|
+
export interface CreateScopeFormProps {
|
|
3
|
+
permissionScopes: PermissionScope[];
|
|
4
|
+
onCreated: () => void;
|
|
5
|
+
onCanceled: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function CreateScopeForm(props: CreateScopeFormProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function PermissionGrid(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface PermissionNavigatorProps {
|
|
2
|
+
context: {
|
|
3
|
+
type: 'domainRole' | 'menu' | 'route-rule';
|
|
4
|
+
id: string;
|
|
5
|
+
};
|
|
6
|
+
onUpdate: (currentPermissionCount: number) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function PermissionNavigator(props: PermissionNavigatorProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function RouteRuleGrid(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function UsersGrid(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function Ui(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AppJit } from "../models/app-jit";
|
|
2
|
+
import { FluxoFrontendAppConfiguration } from "@fluxo-dev/api-client-base";
|
|
3
|
+
export declare class AppJitManager {
|
|
4
|
+
loadAppConfigurations(): AppJit[];
|
|
5
|
+
refreshApp(app: AppJit): Promise<boolean>;
|
|
6
|
+
checkIfAppExists(app: AppJit): boolean;
|
|
7
|
+
addAppConfiguration(app: FluxoFrontendAppConfiguration, devUrl: string, devRoute: string): void;
|
|
8
|
+
setAppEnabled(appScope: string, appName: string, enabled: boolean): void;
|
|
9
|
+
removeAppConfiguration(appScope: string, appName: string): void;
|
|
10
|
+
}
|
package/.babelrc
DELETED
package/.eslintrc.json
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": ["plugin:@nx/react", "../../../.eslintrc.json"],
|
|
3
|
-
"ignorePatterns": ["!**/*"],
|
|
4
|
-
"overrides": [
|
|
5
|
-
{
|
|
6
|
-
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
|
|
7
|
-
"rules": {}
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"files": ["*.ts", "*.tsx"],
|
|
11
|
-
"rules": {}
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"files": ["*.js", "*.jsx"],
|
|
15
|
-
"rules": {}
|
|
16
|
-
}
|
|
17
|
-
]
|
|
18
|
-
}
|
package/jest.config.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
export default {
|
|
3
|
-
displayName: 'libs/shell/shell',
|
|
4
|
-
preset: '../../../jest.preset.js',
|
|
5
|
-
transform: {
|
|
6
|
-
'^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nx/react/plugins/jest',
|
|
7
|
-
'^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nx/react/babel'] }],
|
|
8
|
-
},
|
|
9
|
-
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
|
|
10
|
-
coverageDirectory: '../../../coverage/libs/shell/shell',
|
|
11
|
-
};
|
package/project.json
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "libs/shell/shell",
|
|
3
|
-
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
|
|
4
|
-
"sourceRoot": "libs/shell/shell/src",
|
|
5
|
-
"projectType": "library",
|
|
6
|
-
"tags": [],
|
|
7
|
-
"targets": {
|
|
8
|
-
"lint": {
|
|
9
|
-
"executor": "@nx/eslint:lint",
|
|
10
|
-
"outputs": ["{options.outputFile}"],
|
|
11
|
-
"options": {
|
|
12
|
-
"lintFilePatterns": ["libs/shell/shell/**/*.{ts,tsx,js,jsx}"]
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
"build": {
|
|
16
|
-
"executor": "@nx/rollup:rollup",
|
|
17
|
-
"outputs": ["{options.outputPath}"],
|
|
18
|
-
"options": {
|
|
19
|
-
"outputPath": "dist/libs/shell/shell",
|
|
20
|
-
"tsConfig": "libs/shell/shell/tsconfig.lib.json",
|
|
21
|
-
"project": "libs/shell/shell/package.json",
|
|
22
|
-
"entryFile": "libs/shell/shell/src/index.ts",
|
|
23
|
-
"external": ["react", "react-dom", "react/jsx-runtime"],
|
|
24
|
-
"rollupConfig": "@nx/react/plugins/bundle-rollup",
|
|
25
|
-
"compiler": "babel",
|
|
26
|
-
"assets": [
|
|
27
|
-
{
|
|
28
|
-
"glob": "libs/shell/shell/README.md",
|
|
29
|
-
"input": ".",
|
|
30
|
-
"output": "."
|
|
31
|
-
}
|
|
32
|
-
]
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
"test": {
|
|
36
|
-
"executor": "@nx/jest:jest",
|
|
37
|
-
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
|
|
38
|
-
"options": {
|
|
39
|
-
"jestConfig": "libs/shell/shell/jest.config.ts"
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
package/src/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {FluxoShell, FluxoShellProps} from './lib/app';
|
package/src/lib/app.module.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/* Your styles goes here. */
|
package/src/lib/app.spec.tsx
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { render } from '@testing-library/react';
|
|
2
|
-
|
|
3
|
-
import App from './app';
|
|
4
|
-
|
|
5
|
-
describe('App', () => {
|
|
6
|
-
it('should render successfully', () => {
|
|
7
|
-
const { baseElement } = render(<App />);
|
|
8
|
-
|
|
9
|
-
expect(baseElement).toBeTruthy();
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
it('should have a greeting as the title', () => {
|
|
13
|
-
const { getByText } = render(<App />);
|
|
14
|
-
|
|
15
|
-
expect(getByText(/Welcome shell/gi)).toBeTruthy();
|
|
16
|
-
});
|
|
17
|
-
});
|