From c80cc6e26869ac93773517de753145ac65745d9e Mon Sep 17 00:00:00 2001 From: Ali <83188384+testA113@users.noreply.github.com> Date: Thu, 30 Jan 2025 15:42:32 +1300 Subject: [PATCH] chore(automation): give unique selectors [r8s-168] (#345) Co-authored-by: JamesPlayer --- app/react/components/TagSelector/TagSelector.tsx | 1 + app/react/components/UsersSelector/UsersSelector.tsx | 1 + app/react/components/form-components/Input/Select.tsx | 1 + app/react/components/form-components/PortainerSelect.tsx | 2 ++ app/react/components/form-components/ReactSelect.tsx | 1 + .../CreateView/ResourcesTab/GpuFieldset/GpuFieldset.tsx | 2 ++ .../containers/CreateView/VolumesTab/VolumeSelector.tsx | 1 + .../AssignmentDialog/Selectors/CreatableSelector.tsx | 1 + .../Datatable/AssignmentDialog/Selectors/GroupSelector.tsx | 1 + .../CreateView/TemplateFieldset/TemplateSelector.tsx | 1 + app/react/edge/edge-stacks/components/EdgeGroupsSelector.tsx | 1 + .../edge/edge-stacks/components/PrivateRegistryFieldset.tsx | 1 + .../application-services/ingress/AppIngressPathForm.tsx | 1 + .../ConfigurationsFormSection/ConfigurationItem.tsx | 1 + .../PersistedFoldersFormSection/PersistedFolderItem.tsx | 3 +++ .../components/PlacementFormSection/PlacementItem.tsx | 2 ++ .../ConfigureView/ConfigureForm/StorageAccessModeSelector.tsx | 1 + .../cluster/RegistryAccessView/NamespacesSelector.tsx | 1 + .../kubernetes/ingresses/CreateIngressView/IngressForm.tsx | 3 +++ .../namespaces/AccessView/NamespaceAccessUsersSelector.tsx | 1 + .../RegistriesFormSection/RegistriesSelector.tsx | 1 + .../AccessManagement/PorAccessManagementUsersSelector.tsx | 1 + app/react/portainer/access-control/EditDetails/TeamsField.tsx | 4 ++-- app/react/portainer/access-control/EditDetails/UsersField.tsx | 4 ++-- .../access-control/PorAccessControlForm/TeamsSelector.tsx | 1 + .../access-control/PorAccessControlForm/UsersSelector.tsx | 1 + .../common/TimeWindowPicker/TimeWindowPickerInputGroup.tsx | 1 + .../environments/update-schedules/common/EdgeGroupsField.tsx | 1 + .../portainer/gitops/AuthFieldset/CredentialSelector.tsx | 1 + 29 files changed, 38 insertions(+), 4 deletions(-) diff --git a/app/react/components/TagSelector/TagSelector.tsx b/app/react/components/TagSelector/TagSelector.tsx index 425337c64..80726e0a9 100644 --- a/app/react/components/TagSelector/TagSelector.tsx +++ b/app/react/components/TagSelector/TagSelector.tsx @@ -104,6 +104,7 @@ export function TagSelector({ onCreateOption={handleCreateOption} aria-label="Tags" data-cy="environment-tags-selector" + id="environment-tags-selector" /> diff --git a/app/react/components/UsersSelector/UsersSelector.tsx b/app/react/components/UsersSelector/UsersSelector.tsx index 88bbd6de0..99068c205 100644 --- a/app/react/components/UsersSelector/UsersSelector.tsx +++ b/app/react/components/UsersSelector/UsersSelector.tsx @@ -36,6 +36,7 @@ export function UsersSelector({ onChange(selectedUsers.map((user) => user.Id)) } data-cy={dataCy} + id={dataCy} inputId={inputId} placeholder={placeholder} isDisabled={disabled} diff --git a/app/react/components/form-components/Input/Select.tsx b/app/react/components/form-components/Input/Select.tsx index 8c9d11b7b..1ba85fadf 100644 --- a/app/react/components/form-components/Input/Select.tsx +++ b/app/react/components/form-components/Input/Select.tsx @@ -18,6 +18,7 @@ export function Select({ options, className, 'data-cy': dataCy, + id, ...props }: Props & SelectHTMLAttributes) { return ( diff --git a/app/react/components/form-components/PortainerSelect.tsx b/app/react/components/form-components/PortainerSelect.tsx index 04f9517a9..9ddf234da 100644 --- a/app/react/components/form-components/PortainerSelect.tsx +++ b/app/react/components/form-components/PortainerSelect.tsx @@ -111,6 +111,7 @@ export function SingleSelect({ onChange={(option) => onChange(option ? option.value : null)} isOptionDisabled={(option) => !!option.disabled} data-cy={dataCy} + id={dataCy} inputId={inputId} placeholder={placeholder} isDisabled={disabled} @@ -177,6 +178,7 @@ export function MultiSelect({ closeMenuOnSelect={false} onChange={(newValue) => onChange(newValue.map((option) => option.value))} data-cy={dataCy} + id={dataCy} inputId={inputId} placeholder={placeholder} isDisabled={disabled} diff --git a/app/react/components/form-components/ReactSelect.tsx b/app/react/components/form-components/ReactSelect.tsx index 3ec4429b9..a9f4e6282 100644 --- a/app/react/components/form-components/ReactSelect.tsx +++ b/app/react/components/form-components/ReactSelect.tsx @@ -65,6 +65,7 @@ export function Select< }: Props & AutomationTestingProps & { isItemVisible?: (item: Option, search: string) => boolean; + id: string; }) { const Component = isCreatable ? ReactSelectCreatable : ReactSelect; const { options } = props; diff --git a/app/react/docker/containers/CreateView/ResourcesTab/GpuFieldset/GpuFieldset.tsx b/app/react/docker/containers/CreateView/ResourcesTab/GpuFieldset/GpuFieldset.tsx index 09d1fada8..7d1a3ae31 100644 --- a/app/react/docker/containers/CreateView/ResourcesTab/GpuFieldset/GpuFieldset.tsx +++ b/app/react/docker/containers/CreateView/ResourcesTab/GpuFieldset/GpuFieldset.tsx @@ -152,6 +152,7 @@ export function GpuFieldset({ options={options} components={{ MultiValueRemove }} data-cy="docker-containers-gpu-select" + id="docker-containers-gpu-select" /> )} @@ -173,6 +174,7 @@ export function GpuFieldset({ components={{ Option }} onChange={onChangeSelectedCaps} data-cy="docker-containers-gpu-capabilities-select" + id="docker-containers-gpu-capabilities-select" /> diff --git a/app/react/docker/containers/CreateView/VolumesTab/VolumeSelector.tsx b/app/react/docker/containers/CreateView/VolumesTab/VolumeSelector.tsx index 22bf9df52..9cf8a2783 100644 --- a/app/react/docker/containers/CreateView/VolumesTab/VolumeSelector.tsx +++ b/app/react/docker/containers/CreateView/VolumesTab/VolumeSelector.tsx @@ -44,6 +44,7 @@ export function VolumeSelector({ onChange={(vol) => onChange(vol?.Name)} inputId={inputId} data-cy="docker-containers-volume-selector" + id="docker-containers-volume-selector" size="sm" /> ); diff --git a/app/react/edge/edge-devices/WaitingRoomView/Datatable/AssignmentDialog/Selectors/CreatableSelector.tsx b/app/react/edge/edge-devices/WaitingRoomView/Datatable/AssignmentDialog/Selectors/CreatableSelector.tsx index 5666b0260..ecb379086 100644 --- a/app/react/edge/edge-devices/WaitingRoomView/Datatable/AssignmentDialog/Selectors/CreatableSelector.tsx +++ b/app/react/edge/edge-devices/WaitingRoomView/Datatable/AssignmentDialog/Selectors/CreatableSelector.tsx @@ -43,6 +43,7 @@ export function CreatableSelector({ isDisabled={isLoading} closeMenuOnSelect={false} data-cy="edge-devices-assignment-selector" + id="edge-devices-assignment-selector" /> ); diff --git a/app/react/edge/edge-devices/WaitingRoomView/Datatable/AssignmentDialog/Selectors/GroupSelector.tsx b/app/react/edge/edge-devices/WaitingRoomView/Datatable/AssignmentDialog/Selectors/GroupSelector.tsx index d87abe1c1..79884178d 100644 --- a/app/react/edge/edge-devices/WaitingRoomView/Datatable/AssignmentDialog/Selectors/GroupSelector.tsx +++ b/app/react/edge/edge-devices/WaitingRoomView/Datatable/AssignmentDialog/Selectors/GroupSelector.tsx @@ -45,6 +45,7 @@ export function GroupSelector() { placeholder="Select a group" isClearable data-cy="edge-devices-assignment-selector" + id="edge-devices-assignment-selector" /> ); diff --git a/app/react/edge/edge-stacks/CreateView/TemplateFieldset/TemplateSelector.tsx b/app/react/edge/edge-stacks/CreateView/TemplateFieldset/TemplateSelector.tsx index 3922c840c..176921856 100644 --- a/app/react/edge/edge-stacks/CreateView/TemplateFieldset/TemplateSelector.tsx +++ b/app/react/edge/edge-stacks/CreateView/TemplateFieldset/TemplateSelector.tsx @@ -50,6 +50,7 @@ export function TemplateSelector({ onChange(getTemplate({ type, id: templateId }), type); }} data-cy="edge-stacks-create-template-selector" + id="edge-stacks-create-template-selector" /> {isLoadingValues && ( Loading template values... diff --git a/app/react/edge/edge-stacks/components/EdgeGroupsSelector.tsx b/app/react/edge/edge-stacks/components/EdgeGroupsSelector.tsx index 914274882..9bbcb0e3c 100644 --- a/app/react/edge/edge-stacks/components/EdgeGroupsSelector.tsx +++ b/app/react/edge/edge-stacks/components/EdgeGroupsSelector.tsx @@ -97,6 +97,7 @@ function InnerSelector({ placeholder="Select one or multiple group(s)" closeMenuOnSelect={false} data-cy="edge-stacks-groups-selector" + id="edge-stacks-groups-selector" inputId={inputId} /> ) : ( diff --git a/app/react/edge/edge-stacks/components/PrivateRegistryFieldset.tsx b/app/react/edge/edge-stacks/components/PrivateRegistryFieldset.tsx index f6d952201..7a1703ffc 100644 --- a/app/react/edge/edge-stacks/components/PrivateRegistryFieldset.tsx +++ b/app/react/edge/edge-stacks/components/PrivateRegistryFieldset.tsx @@ -102,6 +102,7 @@ export function PrivateRegistryFieldset({ onChange={(value) => onSelect(value?.Id)} className="w-full" data-cy="private-registry-selector" + id="private-registry-selector" /> {method !== 'repository' && (