1- import React , { useState , useRef } from 'react' ;
2- import { CreateProjectWorkspaceDialog , OnCreatePayload } from './CreateProjectWorkspaceDialog' ;
3- import { MemberRoles } from '../../lib/api/types/shared/members' ;
4- import { ErrorDialogHandle } from '../Shared/ErrorMessageBox' ;
5-
6- import { useForm } from "react-hook-form" ;
7- import { zodResolver } from "@hookform/resolvers/zod" ;
8- import { validationSchemaProjectWorkspace } from "../../lib/api/validations/schemas.ts" ;
9- import { CreateDialogProps } from "./CreateWorkspaceDialogContainer.tsx" ;
10-
11-
12-
13-
14- export const CreateProjectWorkspaceDialogWrapper : React . FC < { spyFormBody ?: ( data : any ) => { } } > = ( { spyFormBody} ) => {
1+ import React , { useState , useRef } from 'react' ;
2+ import {
3+ CreateProjectWorkspaceDialog ,
4+ OnCreatePayload ,
5+ } from './CreateProjectWorkspaceDialog' ;
6+ import { MemberRoles } from '../../lib/api/types/shared/members' ;
7+ import { ErrorDialogHandle } from '../Shared/ErrorMessageBox' ;
8+
9+ import { useForm } from 'react-hook-form' ;
10+ import { zodResolver } from '@hookform/resolvers/zod' ;
11+ import { validationSchemaProjectWorkspace } from '../../lib/api/validations/schemas.ts' ;
12+ import { CreateDialogProps } from './CreateWorkspaceDialogContainer.tsx' ;
13+
14+ export const CreateProjectWorkspaceDialogWrapper : React . FC < {
15+ spyFormBody ?: ( data : any ) => { } ;
16+ } > = ( { spyFormBody } ) => {
1517 const [ isOpen , setIsOpen ] = useState ( true ) ;
1618
1719 const errorDialogRef = useRef < ErrorDialogHandle > ( null ) ;
@@ -21,53 +23,51 @@ export const CreateProjectWorkspaceDialogWrapper: React.FC<{ spyFormBody?: (data
2123 handleSubmit,
2224 setValue,
2325 formState : { errors } ,
24- watch
26+ watch,
2527 } = useForm < CreateDialogProps > ( {
2628 resolver : zodResolver ( validationSchemaProjectWorkspace ) ,
2729 defaultValues : {
28- name : "" ,
29- displayName : "" ,
30- chargingTarget : "" ,
31- members :
[ { name :
'[email protected] ' , roles :
[ MemberRoles . admin ] , kind :
"User" } ] , 32- }
30+ name : '' ,
31+ displayName : '' ,
32+ chargingTarget : '' ,
33+ members : [
34+ { name :
'[email protected] ' , roles :
[ MemberRoles . admin ] , kind :
'User' } , 35+ ] ,
36+ } ,
3337 } ) ;
3438
3539 const handleCreate = async ( {
36- name,
37- displayName,
38- chargingTarget,
39- members,
40- } : OnCreatePayload ) => {
40+ name,
41+ displayName,
42+ chargingTarget,
43+ members,
44+ } : OnCreatePayload ) => {
4145 const payload : OnCreatePayload = {
4246 name : name ,
4347 displayName : displayName ,
4448 chargingTarget : chargingTarget ,
45- members : members
49+ members : members ,
4650 } ;
4751
48- spyFormBody ?.( payload )
52+ spyFormBody ?.( payload ) ;
4953 setIsOpen ( false ) ;
50-
51- } ; return (
54+ } ;
55+ return (
5256 < CreateProjectWorkspaceDialog
5357 isOpen = { isOpen }
5458 setIsOpen = { setIsOpen }
5559 titleText = "Create Workspace"
56- onCreate = { handleSubmit ( handleCreate ) }
5760 errorDialogRef = { errorDialogRef }
5861 members = { watch ( 'members' ) }
5962 register = { register }
6063 errors = { errors }
6164 setValue = { setValue }
65+ onCreate = { handleSubmit ( handleCreate ) }
6266 />
6367 ) ;
6468} ;
6569
66-
67-
68-
6970describe ( 'CreateProjectWorkspaceDialog' , ( ) => {
70-
7171 it ( 'checks if there is existing member and delete it' , ( ) => {
7272 cy . mount ( < CreateProjectWorkspaceDialogWrapper /> , { } ) ;
7373 cy . get ( 'div[data-component-name="AnalyticalTableContainerWithScrollbar"]' )
@@ -81,10 +81,10 @@ describe('CreateProjectWorkspaceDialog', () => {
8181
8282 it ( 'should add a new member and display it in the table' , ( ) => {
8383 cy . mount ( < CreateProjectWorkspaceDialogWrapper /> , { } ) ;
84- cy . get ( 'ui5-input[id*="member-email-input"]' ) . find ( 'input[id*="inner"]' )
84+ cy . get ( 'ui5-input[id*="member-email-input"]' )
85+ . find ( 'input[id*="inner"]' )
8586 . type ( '[email protected] ' , { force :
true } ) ; 86- cy . get ( 'ui5-button:contains("Add")' )
87- . click ( { force : true } ) ;
87+ cy . get ( 'ui5-button:contains("Add")' ) . click ( { force : true } ) ;
8888 cy . get ( 'div[data-component-name="AnalyticalTableContainerWithScrollbar"]' )
89899090 . should ( 'be.visible' ) ;
@@ -94,18 +94,20 @@ describe('CreateProjectWorkspaceDialog', () => {
9494 const stubFn = cy . stub ( ) . as ( 'stubFn' ) ;
9595 cy . mount ( < CreateProjectWorkspaceDialogWrapper spyFormBody = { stubFn } /> , { } ) ;
9696
97- cy . get ( 'ui5-input[id*="name"]' ) . find ( 'input[id*="inner"]' )
97+ cy . get ( 'ui5-input[id*="name"]' )
98+ . find ( 'input[id*="inner"]' )
9899 . type ( 'brand--01' , { force : true } ) ;
99- cy . get ( 'ui5-input[id*="displayName"]' ) . find ( 'input[id*="inner"]' )
100+ cy . get ( 'ui5-input[id*="displayName"]' )
101+ . find ( 'input[id*="inner"]' )
100102 . type ( 'Brand new workspace number one' , { force : true } ) ;
101- cy . get ( 'ui5-input[id*="chargingTarget"]' ) . find ( 'input[id*="inner"]' )
103+ cy . get ( 'ui5-input[id*="chargingTarget"]' )
104+ . find ( 'input[id*="inner"]' )
102105 . type ( 'Charging target 1000' , { force : true } ) ;
103- cy . get ( 'ui5-input[id*="email"]' ) . find ( 'input[id*="inner"]' )
106+ cy . get ( 'ui5-input[id*="email"]' )
107+ . find ( 'input[id*="inner"]' )
104108 . type ( '[email protected] ' , { force :
true } ) ; 105- cy . get ( 'ui5-button:contains("Add")' )
106- . click ( { force : true } ) ;
107- cy . get ( 'ui5-button:contains("Create")' )
108- . click ( { force : true } ) ;
109+ cy . get ( 'ui5-button:contains("Add")' ) . click ( { force : true } ) ;
110+ cy . get ( 'ui5-button:contains("Create")' ) . click ( { force : true } ) ;
109111
110112 cy . get ( '@stubFn' ) . should ( 'have.been.calledWith' , {
111113 name : 'brand--01' ,
@@ -115,30 +117,30 @@ describe('CreateProjectWorkspaceDialog', () => {
115117 {
116118117119 roles : [ MemberRoles . admin ] ,
118- kind : 'User'
120+ kind : 'User' ,
119121 } ,
120122 {
121123122124 roles : [ MemberRoles . viewer ] ,
123- kind : 'User'
124- }
125- ]
125+ kind : 'User' ,
126+ } ,
127+ ] ,
126128 } ) ;
127129 } ) ;
128-
129130
130131 it ( 'should handle multiple member additions' , ( ) => {
131132 cy . mount ( < CreateProjectWorkspaceDialogWrapper /> , { } ) ;
132133
133134134- newMembers . forEach ( email => {
135- cy . get ( 'ui5-input[id*="member-email-input"]' ) . find ( 'input[id*="inner"]' )
135+ newMembers . forEach ( ( email ) => {
136+ cy . get ( 'ui5-input[id*="member-email-input"]' )
137+ . find ( 'input[id*="inner"]' )
136138 . clear ( { force : true } )
137139 . type ( email , { force : true } ) ;
138140 cy . get ( 'ui5-button:contains("Add")' ) . click ( { force : true } ) ;
139141 } ) ;
140142
141- newMembers . forEach ( email => {
143+ newMembers . forEach ( ( email ) => {
142144 cy . get ( 'div[data-component-name="AnalyticalTableContainerWithScrollbar"]' )
143145 . contains ( email )
144146 . should ( 'be.visible' ) ;
@@ -152,5 +154,4 @@ describe('CreateProjectWorkspaceDialog', () => {
152154 cy . get ( 'ui5-button:contains("Cancel")' ) . click ( { force : true } ) ;
153155 cy . get ( 'ui5-dialog' ) . should ( 'not.be.visible' ) ;
154156 } ) ;
155-
156- } ) ;
157+ } ) ;
0 commit comments