Add tests switching between fields in AmazonUploadComponent

This commit is contained in:
Aleksandar Todorov 2020-11-12 12:44:24 +02:00 committed by Alexander Todorov
parent ea459a7cb8
commit 44fecec797
3 changed files with 113 additions and 0 deletions

View file

@ -58,17 +58,20 @@ const AmazonUploadComponent = (props) => {
validated={ (props.errors['amazon-access-id'] && 'error') || 'default' }>
<TextInput value={ props.upload.options.access_key_id || '' }
type="text" aria-label="amazon access key ID" id="amazon-access-id"
data-testid="aws-access-key" isRequired
onChange={ value => props.setUploadOptions(Object.assign(props.upload.options, { access_key_id: value })) } />
</FormGroup>
<FormGroup isRequired label="Secret access key" fieldId="amazon-access-secret"
helperTextInvalid={ (props.errors['amazon-access-secret'] && props.errors['amazon-access-secret'].value) || '' }
validated={ (props.errors['amazon-access-secret'] && 'error') || 'default' }>
<TextInput value={ props.upload.options.secret_access_key || '' }
data-testid="aws-secret-access-key" isRequired
type="password" aria-label="amazon secret access key" id="amazon-access-secret"
onChange={ value => props.setUploadOptions(Object.assign(props.upload.options, { secret_access_key: value })) } />
</FormGroup>
<FormGroup isRequired label="Service" fieldId="amazon-service">
<FormSelect value={ props.upload.options.service } aria-label="Select amazon service" id="amazon-service"
data-testid="aws-service-select"
onChange={ value => props.setUploadOptions(Object.assign(props.upload.options, { service: value })) }>
{ serviceOptions.map(option => <FormSelectOption key={ option.value } value={ option.value } label={ option.label } />) }
</FormSelect>
@ -77,6 +80,7 @@ const AmazonUploadComponent = (props) => {
helperTextInvalid={ (props.errors['amazon-region'] && props.errors['amazon-region'].value) || '' }
validated={ (props.errors['amazon-region'] && 'error') || 'default' }>
<TextInput value={ props.upload.options.region } type="text" aria-label="amazon region" id="amazon-region"
data-testid="aws-region" isRequired
onChange={ value => props.setUploadOptions(Object.assign(props.upload.options, { region: value })) } />
</FormGroup>
{ props.upload.options.service === 's3' &&
@ -84,6 +88,7 @@ const AmazonUploadComponent = (props) => {
helperTextInvalid={ (props.errors['amazon-bucket'] && props.errors['amazon-bucket'].value) || '' }
validated={ (props.errors['amazon-bucket'] && 'error') || 'default' }>
<TextInput value={ props.upload.options.bucket || '' } type="text" aria-label="amazon bucket" id="amazon-bucket"
data-testid="aws-bucket" isRequired
onChange={ value => props.setUploadOptions(Object.assign(props.upload.options, { bucket: value })) } />
</FormGroup> }
</>
@ -106,6 +111,7 @@ const UploadComponent = (props) => {
<Form isHorizontal>
<FormGroup isRequired label="Destination" fieldId="upload-destination">
<FormSelect value={ props.upload.type || '' } id="upload-destination"
data-testid="upload-destination" isRequired
onChange={ value => props.setUpload({ type: value, options: null }) } aria-label="Select upload destination">
{ uploadTypes.map(type => <FormSelectOption key={ type.value } value={ type.value } label={ type.label } />) }
</FormSelect>