11import React , { useState , useRef } from 'react' ;
2- import {
3- CreateProjectWorkspaceDialog ,
4- OnCreatePayload ,
5- } from './CreateProjectWorkspaceDialog' ;
2+ import { CreateProjectWorkspaceDialog , OnCreatePayload } from './CreateProjectWorkspaceDialog' ;
63import { MemberRoles } from '../../lib/api/types/shared/members' ;
74import { ErrorDialogHandle } from '../Shared/ErrorMessageBox' ;
85
@@ -25,24 +22,19 @@ export const CreateProjectWorkspaceDialogWrapper: React.FC<{
2522 setValue,
2623 formState : { errors } ,
2724 watch,
25+ getValues,
2826 } = useForm < CreateDialogProps > ( {
2927 resolver : zodResolver ( validationSchemaProjectWorkspace ) ,
3028 defaultValues : {
3129 name : '' ,
3230 displayName : '' ,
3331 chargingTarget : '' ,
34- members : [
35- { name :
'[email protected] ' , roles :
[ MemberRoles . admin ] , kind :
'User' } , 36- ] ,
32+ members :
[ { name :
'[email protected] ' , roles :
[ MemberRoles . admin ] , kind :
'User' } ] , 33+ chargingTargetType : 'btp' ,
3734 } ,
3835 } ) ;
3936
40- const handleCreate = async ( {
41- name,
42- displayName,
43- chargingTarget,
44- members,
45- } : OnCreatePayload ) => {
37+ const handleCreate = async ( { name, displayName, chargingTarget, members } : OnCreatePayload ) => {
4638 const payload : OnCreatePayload = {
4739 name : name ,
4840 displayName : displayName ,
@@ -55,6 +47,7 @@ export const CreateProjectWorkspaceDialogWrapper: React.FC<{
5547 } ;
5648 return (
5749 < CreateProjectWorkspaceDialog
50+ getValues = { getValues }
5851 type = { 'workspace' }
5952 isOpen = { isOpen }
6053 setIsOpen = { setIsOpen }
@@ -76,16 +69,12 @@ describe('CreateProjectWorkspaceDialog', () => {
76697770 . should ( 'be.visible' ) ;
7871 cy . get ( 'ui5-button[icon="delete"]' ) . find ( 'button' ) . click ( { force : true } ) ;
79- cy . get ( 'span[id="members-error"]' )
80- . contains ( 'You need to have at least one member assigned.' )
81- . should ( 'be.visible' ) ;
72+ cy . get ( 'span[id="members-error"]' ) . contains ( 'You need to have at least one member assigned.' ) . should ( 'be.visible' ) ;
8273 } ) ;
8374
8475 it ( 'should add a new member and display it in the table' , ( ) => {
8576 cy . mount ( < CreateProjectWorkspaceDialogWrapper /> , { } ) ;
86- cy . get ( 'ui5-input[id*="member-email-input"]' )
87- . find ( 'input[id*="inner"]' )
88- . type ( '[email protected] ' , { force :
true } ) ; 77+ cy . get ( 'ui5-input[id*="member-email-input"]' ) . find ( 'input[id*="inner"]' ) . type ( '[email protected] ' , { force :
true } ) ; 8978 cy . get ( 'ui5-button:contains("Add")' ) . click ( { force : true } ) ;
9079 cy . get ( 'div[data-component-name="AnalyticalTableContainerWithScrollbar"]' )
9180@@ -96,25 +85,21 @@ describe('CreateProjectWorkspaceDialog', () => {
9685 const stubFn = cy . stub ( ) . as ( 'stubFn' ) ;
9786 cy . mount ( < CreateProjectWorkspaceDialogWrapper spyFormBody = { stubFn } /> , { } ) ;
9887
99- cy . get ( 'ui5-input[id*="name"]' )
100- . find ( 'input[id*="inner"]' )
101- . type ( 'brand--01' , { force : true } ) ;
88+ cy . get ( 'ui5-input[id*="name"]' ) . find ( 'input[id*="inner"]' ) . type ( 'brand--01' , { force : true } ) ;
10289 cy . get ( 'ui5-input[id*="displayName"]' )
10390 . find ( 'input[id*="inner"]' )
10491 . type ( 'Brand new workspace number one' , { force : true } ) ;
10592 cy . get ( 'ui5-input[id*="chargingTarget"]' )
10693 . find ( 'input[id*="inner"]' )
107- . type ( 'Charging target 1000' , { force : true } ) ;
108- cy . get ( 'ui5-input[id*="email"]' )
109- . find ( 'input[id*="inner"]' )
110- . type ( '[email protected] ' , { force :
true } ) ; 94+ . type ( 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa' , { force : true } ) ;
95+ cy . get ( 'ui5-input[id*="email"]' ) . find ( 'input[id*="inner"]' ) . type ( '[email protected] ' , { force :
true } ) ; 11196 cy . get ( 'ui5-button:contains("Add")' ) . click ( { force : true } ) ;
11297 cy . get ( 'ui5-button:contains("Create")' ) . click ( { force : true } ) ;
11398
11499 cy . get ( '@stubFn' ) . should ( 'have.been.calledWith' , {
115100 name : 'brand--01' ,
116101 displayName : 'Brand new workspace number one' ,
117- chargingTarget : 'Charging target 1000 ' ,
102+ chargingTarget : 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa ' ,
118103 members : [
119104 {
120105@@ -143,9 +128,7 @@ describe('CreateProjectWorkspaceDialog', () => {
143128 } ) ;
144129
145130 newMembers . forEach ( ( email ) => {
146- cy . get ( 'div[data-component-name="AnalyticalTableContainerWithScrollbar"]' )
147- . contains ( email )
148- . should ( 'be.visible' ) ;
131+ cy . get ( 'div[data-component-name="AnalyticalTableContainerWithScrollbar"]' ) . contains ( email ) . should ( 'be.visible' ) ;
149132 } ) ;
150133 } ) ;
151134
0 commit comments