From 5ad3cacefd3b714b12f3769356d382a4b51b4c0c Mon Sep 17 00:00:00 2001 From: testA113 <83188384+testA113@users.noreply.github.com> Date: Fri, 24 Sep 2021 13:00:55 +1200 Subject: [PATCH] Xt 321 automate k8s smoke test data cy attributes (#5734) * added data-cy attributes for robust ui test automation --- .../containerGroupsDatatable.html | 2 +- .../configs-datatable/configsDatatable.html | 2 +- .../containerNetworksDatatable.html | 2 +- .../containerProcessesDatatable.html | 2 +- .../containersDatatable.html | 2 +- .../events-datatable/eventsDatatable.html | 2 +- .../images-datatable/imagesDatatable.html | 2 +- .../macvlanNodesDatatable.html | 2 +- .../networks-datatable/networksDatatable.html | 2 +- .../nodeTasksDatatable.html | 2 +- .../nodes-datatable/nodesDatatable.html | 2 +- .../secrets-datatable/secretsDatatable.html | 2 +- .../services-datatable/servicesDatatable.html | 2 +- .../tasks-datatable/tasksDatatable.html | 2 +- .../volumes-datatable/volumesDatatable.html | 2 +- .../imageRegistry/por-image-registry.html | 1 + .../associatedEndpointsDatatable.html | 2 +- .../edgeJobResultsDatatable.html | 2 +- .../edgeJobsDatatable.html | 2 +- .../edgeStackEndpointsDatatable.html | 2 +- .../edgeStacksDatatable.html | 2 +- .../groups-datatable/groupsDatatable.html | 2 +- .../storidgeClusterEventsDatatable.html | 2 +- .../storidgeDrivesDatatable.html | 2 +- .../storidgeNodesDatatable.html | 2 +- .../storidgeProfilesDatatable.html | 2 +- .../storidgeSnapshotsDatatable.html | 2 +- .../containersDatatable.html | 2 +- .../applicationsDatatable.html | 2 +- .../applicationsPortsDatatable.html | 2 +- .../applicationsStacksDatatable.html | 2 +- .../integratedApplicationsDatatable.html | 2 +- .../nodeApplicationsDatatable.html | 2 +- .../nodes-datatable/nodesDatatable.html | 2 +- .../resourcePoolApplicationsDatatable.html | 2 +- .../resourcePoolsDatatable.html | 2 +- .../volumes-datatable/volumesDatatable.html | 2 +- .../create/createApplication.html | 190 +++++++++++++++--- .../views/applications/edit/application.html | 69 ++++--- .../placements-datatable/template.html | 2 +- app/kubernetes/views/configure/configure.html | 34 +++- .../create/createResourcePool.html | 57 +++++- .../ingresses-datatable/template.html | 2 +- .../volumes-storages-datatable/template.html | 2 +- app/kubernetes/views/volumes/edit/volume.html | 35 +++- .../access-datatable/accessDatatable.html | 2 +- .../endpointsDatatable.html | 2 +- .../groups-datatable/groupsDatatable.html | 2 +- .../registriesDatatable.html | 2 +- .../stacks-datatable/stacksDatatable.html | 2 +- .../tags-datatable/tagsDatatable.html | 2 +- .../teams-datatable/teamsDatatable.html | 2 +- .../users-datatable/usersDatatable.html | 2 +- .../gitlabProjectsDatatable.html | 2 +- 54 files changed, 349 insertions(+), 133 deletions(-) diff --git a/app/azure/components/datatables/containergroups-datatable/containerGroupsDatatable.html b/app/azure/components/datatables/containergroups-datatable/containerGroupsDatatable.html index 62fa95acf..bea19d1fc 100644 --- a/app/azure/components/datatables/containergroups-datatable/containerGroupsDatatable.html +++ b/app/azure/components/datatables/containergroups-datatable/containerGroupsDatatable.html @@ -101,7 +101,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/configs-datatable/configsDatatable.html b/app/docker/components/datatables/configs-datatable/configsDatatable.html index 8939b44be..4e252481a 100644 --- a/app/docker/components/datatables/configs-datatable/configsDatatable.html +++ b/app/docker/components/datatables/configs-datatable/configsDatatable.html @@ -136,7 +136,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/container-networks-datatable/containerNetworksDatatable.html b/app/docker/components/datatables/container-networks-datatable/containerNetworksDatatable.html index f1a81acaf..7727fbc77 100644 --- a/app/docker/components/datatables/container-networks-datatable/containerNetworksDatatable.html +++ b/app/docker/components/datatables/container-networks-datatable/containerNetworksDatatable.html @@ -102,7 +102,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/container-processes-datatable/containerProcessesDatatable.html b/app/docker/components/datatables/container-processes-datatable/containerProcessesDatatable.html index 326deef73..737148685 100644 --- a/app/docker/components/datatables/container-processes-datatable/containerProcessesDatatable.html +++ b/app/docker/components/datatables/container-processes-datatable/containerProcessesDatatable.html @@ -37,7 +37,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/containers-datatable/containersDatatable.html b/app/docker/components/datatables/containers-datatable/containersDatatable.html index 5cd726759..4e0394cb5 100644 --- a/app/docker/components/datatables/containers-datatable/containersDatatable.html +++ b/app/docker/components/datatables/containers-datatable/containersDatatable.html @@ -295,7 +295,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/events-datatable/eventsDatatable.html b/app/docker/components/datatables/events-datatable/eventsDatatable.html index 4b6d8bb4b..00d17230b 100644 --- a/app/docker/components/datatables/events-datatable/eventsDatatable.html +++ b/app/docker/components/datatables/events-datatable/eventsDatatable.html @@ -68,7 +68,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/images-datatable/imagesDatatable.html b/app/docker/components/datatables/images-datatable/imagesDatatable.html index 1f9e5874a..8d70bdc4e 100644 --- a/app/docker/components/datatables/images-datatable/imagesDatatable.html +++ b/app/docker/components/datatables/images-datatable/imagesDatatable.html @@ -204,7 +204,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/macvlan-nodes-datatable/macvlanNodesDatatable.html b/app/docker/components/datatables/macvlan-nodes-datatable/macvlanNodesDatatable.html index b56f0395f..0ab44f74d 100644 --- a/app/docker/components/datatables/macvlan-nodes-datatable/macvlanNodesDatatable.html +++ b/app/docker/components/datatables/macvlan-nodes-datatable/macvlanNodesDatatable.html @@ -97,7 +97,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/networks-datatable/networksDatatable.html b/app/docker/components/datatables/networks-datatable/networksDatatable.html index 22aeb605f..1d63c2d7e 100644 --- a/app/docker/components/datatables/networks-datatable/networksDatatable.html +++ b/app/docker/components/datatables/networks-datatable/networksDatatable.html @@ -189,7 +189,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/node-tasks-datatable/nodeTasksDatatable.html b/app/docker/components/datatables/node-tasks-datatable/nodeTasksDatatable.html index 5332e6d99..dc92c09d2 100644 --- a/app/docker/components/datatables/node-tasks-datatable/nodeTasksDatatable.html +++ b/app/docker/components/datatables/node-tasks-datatable/nodeTasksDatatable.html @@ -88,7 +88,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/nodes-datatable/nodesDatatable.html b/app/docker/components/datatables/nodes-datatable/nodesDatatable.html index 4e94614fd..a95b48f03 100644 --- a/app/docker/components/datatables/nodes-datatable/nodesDatatable.html +++ b/app/docker/components/datatables/nodes-datatable/nodesDatatable.html @@ -153,7 +153,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/secrets-datatable/secretsDatatable.html b/app/docker/components/datatables/secrets-datatable/secretsDatatable.html index f7d9b0c6e..3bd5d8c7d 100644 --- a/app/docker/components/datatables/secrets-datatable/secretsDatatable.html +++ b/app/docker/components/datatables/secrets-datatable/secretsDatatable.html @@ -136,7 +136,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/services-datatable/servicesDatatable.html b/app/docker/components/datatables/services-datatable/servicesDatatable.html index cd7bb808e..b28081383 100644 --- a/app/docker/components/datatables/services-datatable/servicesDatatable.html +++ b/app/docker/components/datatables/services-datatable/servicesDatatable.html @@ -219,7 +219,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/tasks-datatable/tasksDatatable.html b/app/docker/components/datatables/tasks-datatable/tasksDatatable.html index 8520d0e7f..aeba33c37 100644 --- a/app/docker/components/datatables/tasks-datatable/tasksDatatable.html +++ b/app/docker/components/datatables/tasks-datatable/tasksDatatable.html @@ -109,7 +109,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/datatables/volumes-datatable/volumesDatatable.html b/app/docker/components/datatables/volumes-datatable/volumesDatatable.html index bd2c4e6b7..a7c5e485e 100644 --- a/app/docker/components/datatables/volumes-datatable/volumesDatatable.html +++ b/app/docker/components/datatables/volumes-datatable/volumesDatatable.html @@ -201,7 +201,7 @@ Items per page - + All 10 25 diff --git a/app/docker/components/imageRegistry/por-image-registry.html b/app/docker/components/imageRegistry/por-image-registry.html index e3197f678..375582a66 100644 --- a/app/docker/components/imageRegistry/por-image-registry.html +++ b/app/docker/components/imageRegistry/por-image-registry.html @@ -10,6 +10,7 @@ ng-model="$ctrl.model.Registry" id="image_registry" class="form-control" + data-cy="component-registrySelect" > Image diff --git a/app/edge/components/associated-endpoints-datatable/associatedEndpointsDatatable.html b/app/edge/components/associated-endpoints-datatable/associatedEndpointsDatatable.html index f5da826c8..d7c681ff6 100644 --- a/app/edge/components/associated-endpoints-datatable/associatedEndpointsDatatable.html +++ b/app/edge/components/associated-endpoints-datatable/associatedEndpointsDatatable.html @@ -65,7 +65,7 @@ Items per page - + All 10 25 diff --git a/app/edge/components/edge-job-results-datatable/edgeJobResultsDatatable.html b/app/edge/components/edge-job-results-datatable/edgeJobResultsDatatable.html index 76e3c3f85..57c0fdc71 100644 --- a/app/edge/components/edge-job-results-datatable/edgeJobResultsDatatable.html +++ b/app/edge/components/edge-job-results-datatable/edgeJobResultsDatatable.html @@ -65,7 +65,7 @@ Items per page - + All 10 25 diff --git a/app/edge/components/edge-jobs-datatable/edgeJobsDatatable.html b/app/edge/components/edge-jobs-datatable/edgeJobsDatatable.html index 02b32c42b..977300063 100644 --- a/app/edge/components/edge-jobs-datatable/edgeJobsDatatable.html +++ b/app/edge/components/edge-jobs-datatable/edgeJobsDatatable.html @@ -79,7 +79,7 @@ Items per page - + All 10 25 diff --git a/app/edge/components/edge-stack-endpoints-datatable/edgeStackEndpointsDatatable.html b/app/edge/components/edge-stack-endpoints-datatable/edgeStackEndpointsDatatable.html index 2cb16bc40..819d65a8a 100644 --- a/app/edge/components/edge-stack-endpoints-datatable/edgeStackEndpointsDatatable.html +++ b/app/edge/components/edge-stack-endpoints-datatable/edgeStackEndpointsDatatable.html @@ -70,7 +70,7 @@ Items per page - + All 10 25 diff --git a/app/edge/components/edge-stacks-datatable/edgeStacksDatatable.html b/app/edge/components/edge-stacks-datatable/edgeStacksDatatable.html index 76c74c4e8..5442f42a1 100644 --- a/app/edge/components/edge-stacks-datatable/edgeStacksDatatable.html +++ b/app/edge/components/edge-stacks-datatable/edgeStacksDatatable.html @@ -142,7 +142,7 @@ Items per page - + All 10 25 diff --git a/app/edge/components/groups-datatable/groupsDatatable.html b/app/edge/components/groups-datatable/groupsDatatable.html index dfe70d0fa..a40c217fb 100644 --- a/app/edge/components/groups-datatable/groupsDatatable.html +++ b/app/edge/components/groups-datatable/groupsDatatable.html @@ -94,7 +94,7 @@ Items per page - + All 10 25 diff --git a/app/integrations/storidge/components/cluster-events-datatable/storidgeClusterEventsDatatable.html b/app/integrations/storidge/components/cluster-events-datatable/storidgeClusterEventsDatatable.html index 8180928f8..55754f8e5 100644 --- a/app/integrations/storidge/components/cluster-events-datatable/storidgeClusterEventsDatatable.html +++ b/app/integrations/storidge/components/cluster-events-datatable/storidgeClusterEventsDatatable.html @@ -76,7 +76,7 @@ Items per page - + All 10 25 diff --git a/app/integrations/storidge/components/drives-datatable/storidgeDrivesDatatable.html b/app/integrations/storidge/components/drives-datatable/storidgeDrivesDatatable.html index 54cdc3b62..042b1bab0 100644 --- a/app/integrations/storidge/components/drives-datatable/storidgeDrivesDatatable.html +++ b/app/integrations/storidge/components/drives-datatable/storidgeDrivesDatatable.html @@ -124,7 +124,7 @@ Items per page - + All 10 25 diff --git a/app/integrations/storidge/components/nodes-datatable/storidgeNodesDatatable.html b/app/integrations/storidge/components/nodes-datatable/storidgeNodesDatatable.html index 2ca646831..2a2115ccc 100644 --- a/app/integrations/storidge/components/nodes-datatable/storidgeNodesDatatable.html +++ b/app/integrations/storidge/components/nodes-datatable/storidgeNodesDatatable.html @@ -98,7 +98,7 @@ Items per page - + All 10 25 diff --git a/app/integrations/storidge/components/profiles-datatable/storidgeProfilesDatatable.html b/app/integrations/storidge/components/profiles-datatable/storidgeProfilesDatatable.html index 54bec5d01..885a6cab7 100644 --- a/app/integrations/storidge/components/profiles-datatable/storidgeProfilesDatatable.html +++ b/app/integrations/storidge/components/profiles-datatable/storidgeProfilesDatatable.html @@ -68,7 +68,7 @@ Items per page - + All 10 25 diff --git a/app/integrations/storidge/components/snapshots-datatable/storidgeSnapshotsDatatable.html b/app/integrations/storidge/components/snapshots-datatable/storidgeSnapshotsDatatable.html index 1b5391dd9..10e1df84c 100644 --- a/app/integrations/storidge/components/snapshots-datatable/storidgeSnapshotsDatatable.html +++ b/app/integrations/storidge/components/snapshots-datatable/storidgeSnapshotsDatatable.html @@ -83,7 +83,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/components/datatables/application/containers-datatable/containersDatatable.html b/app/kubernetes/components/datatables/application/containers-datatable/containersDatatable.html index 303b1de84..23f932074 100644 --- a/app/kubernetes/components/datatables/application/containers-datatable/containersDatatable.html +++ b/app/kubernetes/components/datatables/application/containers-datatable/containersDatatable.html @@ -169,7 +169,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/components/datatables/applications-datatable/applicationsDatatable.html b/app/kubernetes/components/datatables/applications-datatable/applicationsDatatable.html index e495e37ce..d13ae7e3c 100644 --- a/app/kubernetes/components/datatables/applications-datatable/applicationsDatatable.html +++ b/app/kubernetes/components/datatables/applications-datatable/applicationsDatatable.html @@ -269,7 +269,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/components/datatables/applications-ports-datatable/applicationsPortsDatatable.html b/app/kubernetes/components/datatables/applications-ports-datatable/applicationsPortsDatatable.html index ec593a0a0..8e8b09e05 100644 --- a/app/kubernetes/components/datatables/applications-ports-datatable/applicationsPortsDatatable.html +++ b/app/kubernetes/components/datatables/applications-ports-datatable/applicationsPortsDatatable.html @@ -243,7 +243,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/components/datatables/applications-stacks-datatable/applicationsStacksDatatable.html b/app/kubernetes/components/datatables/applications-stacks-datatable/applicationsStacksDatatable.html index 324a75644..078a0f6bf 100644 --- a/app/kubernetes/components/datatables/applications-stacks-datatable/applicationsStacksDatatable.html +++ b/app/kubernetes/components/datatables/applications-stacks-datatable/applicationsStacksDatatable.html @@ -171,7 +171,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/components/datatables/integrated-applications-datatable/integratedApplicationsDatatable.html b/app/kubernetes/components/datatables/integrated-applications-datatable/integratedApplicationsDatatable.html index caa2d5a5a..884302532 100644 --- a/app/kubernetes/components/datatables/integrated-applications-datatable/integratedApplicationsDatatable.html +++ b/app/kubernetes/components/datatables/integrated-applications-datatable/integratedApplicationsDatatable.html @@ -110,7 +110,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/components/datatables/node-applications-datatable/nodeApplicationsDatatable.html b/app/kubernetes/components/datatables/node-applications-datatable/nodeApplicationsDatatable.html index 488ac5a6d..bc23fdef0 100644 --- a/app/kubernetes/components/datatables/node-applications-datatable/nodeApplicationsDatatable.html +++ b/app/kubernetes/components/datatables/node-applications-datatable/nodeApplicationsDatatable.html @@ -141,7 +141,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/components/datatables/nodes-datatable/nodesDatatable.html b/app/kubernetes/components/datatables/nodes-datatable/nodesDatatable.html index b5f84a99e..837bad408 100644 --- a/app/kubernetes/components/datatables/nodes-datatable/nodesDatatable.html +++ b/app/kubernetes/components/datatables/nodes-datatable/nodesDatatable.html @@ -152,7 +152,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/components/datatables/resource-pool-applications-datatable/resourcePoolApplicationsDatatable.html b/app/kubernetes/components/datatables/resource-pool-applications-datatable/resourcePoolApplicationsDatatable.html index bda29ee58..7c970f309 100644 --- a/app/kubernetes/components/datatables/resource-pool-applications-datatable/resourcePoolApplicationsDatatable.html +++ b/app/kubernetes/components/datatables/resource-pool-applications-datatable/resourcePoolApplicationsDatatable.html @@ -130,7 +130,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/components/datatables/resource-pools-datatable/resourcePoolsDatatable.html b/app/kubernetes/components/datatables/resource-pools-datatable/resourcePoolsDatatable.html index 0b0d95060..4efc7ebf8 100644 --- a/app/kubernetes/components/datatables/resource-pools-datatable/resourcePoolsDatatable.html +++ b/app/kubernetes/components/datatables/resource-pools-datatable/resourcePoolsDatatable.html @@ -163,7 +163,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/components/datatables/volumes-datatable/volumesDatatable.html b/app/kubernetes/components/datatables/volumes-datatable/volumesDatatable.html index 1f67c26b5..3d7c134f6 100644 --- a/app/kubernetes/components/datatables/volumes-datatable/volumesDatatable.html +++ b/app/kubernetes/components/datatables/volumes-datatable/volumesDatatable.html @@ -179,7 +179,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/views/applications/create/createApplication.html b/app/kubernetes/views/applications/create/createApplication.html index a058b7f8e..b30fbb25f 100644 --- a/app/kubernetes/views/applications/create/createApplication.html +++ b/app/kubernetes/views/applications/create/createApplication.html @@ -36,6 +36,7 @@ ng-options="resourcePool.Namespace.Name for resourcePool in ctrl.resourcePools" ng-change="ctrl.onResourcePoolSelectionChange()" ng-disabled="ctrl.state.isEdit" + data-cy="k8sAppCreate-nsSelect" > @@ -178,6 +179,7 @@ uib-typeahead="stack for stack in ctrl.stacks | filter:$viewValue | limitTo:7" typeahead-show-hint="true" typeahead-min-length="0" + data-cy="k8sAppCreate-stackName" /> @@ -190,7 +192,13 @@ Environment variables - + add environment variable @@ -210,6 +218,7 @@ ng-pattern="/^[-._a-zA-Z][-._a-zA-Z0-9]*$/" placeholder="foo" ng-disabled="ctrl.formValues.Containers.length > 1" + data-cy="k8sAppCreate-envVarName_{{ $index }}" required /> @@ -224,6 +233,7 @@ ng-model="envVar.Value" placeholder="bar" ng-disabled="ctrl.formValues.Containers.length > 1" + data-cy="k8sAppCreate-envVarValue_{{ $index }}" /> @@ -231,7 +241,13 @@ - + @@ -277,14 +293,20 @@ Configurations - + add configuration - Portainer will automatically expose all the keys of a configuration as environment variables. This behavior can be overriden to filesystem mounts for each key via - the override button. + Portainer will automatically expose all the keys of a configuration as environment variables. This behavior can be overriden to filesystem mounts for each key + via the override button. @@ -298,6 +320,7 @@ ng-options="c as c.Name for c in ctrl.configurations track by c.Name" ng-change="ctrl.resetConfiguration(index)" ng-disabled="ctrl.formValues.Containers.length > 1" + data-cy="k8sAppCreate-addConfigSelect_{{ $index }}" > @@ -307,6 +330,7 @@ ng-if="!config.Overriden" ng-click="ctrl.overrideConfiguration(index)" ng-disabled="!config.SelectedConfiguration || ctrl.formValues.Containers.length > 1" + data-cy="k8sAppCreate-configOverrideButton_{{ $index }}" > Override @@ -316,10 +340,17 @@ ng-if="config.Overriden" ng-click="ctrl.resetConfiguration(index)" ng-disabled="ctrl.formValues.Containers.length > 1" + data-cy="k8sAppCreate-configAutoButton_{{ $index }}" > Auto - + Remove @@ -358,6 +389,7 @@ ng-disabled="ctrl.formValues.Containers.length > 1" required ng-change="ctrl.onChangeConfigurationPath()" + data-cy="k8sAppCreate-pathOnDiskInput" /> @@ -420,7 +452,13 @@ Persisted folders - + add persisted folder @@ -438,6 +476,7 @@ ng-disabled="ctrl.isEditAndExistingPersistedFolder($index) || ctrl.formValues.Containers.length > 1" placeholder="/data" required + data-cy="k8sAppCreate-containerPathInput_{{ $index }}" /> @@ -500,8 +539,16 @@ ng-model="persistedFolder.StorageClass" ng-options="storageClass as storageClass.Name for storageClass in ctrl.storageClasses" ng-disabled="ctrl.state.isEdit || ctrl.formValues.Containers.length > 1" + data-cy="k8sAppCreate-storageSelect_{{ $index }}" > - + @@ -521,10 +568,22 @@ - + - + @@ -544,7 +603,9 @@ Path is required. @@ -623,7 +684,9 @@ - A resource quota is set on this namespace, you must specify resource reservations. Resource reservations are applied per instance of the application. Maximums are - inherited from the namespace quota. + A resource quota is set on this namespace, you must specify resource reservations. Resource reservations are applied per instance of the application. Maximums + are inherited from the namespace quota. @@ -733,6 +796,7 @@ class="form-control" id="memory-limit" required + data-cy="k8sAppCreate-memoryLimit" /> @@ -798,7 +862,13 @@ - + @@ -831,6 +901,7 @@ ng-value="ctrl.ApplicationDeploymentTypes.GLOBAL" ng-model="ctrl.formValues.DeploymentType" ng-click="ctrl.unselectAutoScaler()" + data-cy="k8sAppCreate-globalDeployButton" /> @@ -862,6 +933,7 @@ ng-disabled="!ctrl.supportScalableReplicaDeployment()" ng-change="ctrl.enforceReplicaCountMinimum()" required + data-cy="k8sAppCreate-replicaCountInput" /> @@ -914,7 +986,13 @@ Enable auto scaling for this application - + @@ -957,6 +1035,7 @@ min="0" ng-max="ctrl.formValues.AutoScaler.MaxReplicas" ng-model="ctrl.formValues.AutoScaler.MinReplicas" + data-cy="k8sAppCreate-autoScaleMin" required /> @@ -991,7 +1070,16 @@ - + @@ -1044,6 +1132,7 @@ ng-options="label as (label.Key | kubernetesNodeLabelHumanReadbleText) for label in ctrl.nodesLabels" ng-change="ctrl.onChangePlacementLabel($index)" ng-disabled="ctrl.isEditAndNotNewPlacement($index)" + data-cy="k8sAppCreate-placementLabel_{{ $index }}" > @@ -1053,15 +1142,28 @@ ng-model="placement.Value" ng-options="value for value in placement.Label.Values" ng-disabled="ctrl.isEditAndNotNewPlacement($index)" + data-cy="k8sAppCreate-placementName_{{ $index }}" > - + - + @@ -1094,7 +1196,13 @@ - + @@ -1104,7 +1212,13 @@ - + @@ -1141,11 +1255,13 @@ ng-model="ctrl.formValues.PublishingType" ng-change="ctrl.onChangePublishedPorts()" ng-disabled="ctrl.isPublishingTypeEditDisabled()" + data-cy="k8sAppCreate-internalPublishButton" /> @@ -1179,11 +1295,13 @@ ng-model="ctrl.formValues.PublishingType" ng-change="ctrl.onChangePublishedPorts()" ng-disabled="ctrl.isPublishingTypeEditDisabled()" + data-cy="k8sAppCreate-clusterPublishButton" /> @@ -1216,11 +1334,13 @@ ng-model="ctrl.formValues.PublishingType" ng-change="ctrl.onChangePublishedPorts()" ng-disabled="ctrl.isPublishingTypeEditDisabled()" + data-cy="k8sAppCreate-ingressPublishButton" /> @@ -1253,6 +1373,7 @@ ng-model="ctrl.formValues.PublishingType" ng-change="ctrl.onChangePublishedPorts()" ng-disabled="ctrl.isPublishingTypeEditDisabled()" + data-cy="k8sAppCreate-lbPublichButton" /> Published ports - + publish a new port @@ -1340,6 +1461,7 @@ ng-required="!publishedPort.NeedsDeletion" ng-change="ctrl.onChangePortMappingContainerPort()" ng-disabled="ctrl.disableLoadBalancerEdit() || ctrl.isEditAndNotNewPublishedPort($index)" + data-cy="k8sAppCreate-containerPort_{{ $index }}" /> @@ -1362,7 +1484,8 @@ ng-max="32767" ng-change="ctrl.onChangePortMappingNodePort()" ng-disabled="ctrl.disableLoadBalancerEdit() || ctrl.isEditAndNotNewPublishedPort($index)" - /> + data-cy="k8sAppCreate-nodePort_{{ $index }}" + /> @@ -1406,6 +1530,7 @@ ng-required="!publishedPort.NeedsDeletion" ng-change="ctrl.onChangePortMappingIngress($index)" ng-disabled="ctrl.disableLoadBalancerEdit() || ctrl.isEditAndNotNewPublishedPort($index)" + data-cy="k8sAppCreate-ingressSelect_{{ $index }}" > Select an ingress @@ -1427,6 +1552,7 @@ ng-options="host as (host | kubernetesApplicationIngressEmptyHostname) for host in publishedPort.IngressHosts" ng-change="ctrl.onChangePublishedPorts()" ng-disabled="ctrl.disableLoadBalancerEdit() || ctrl.isEditAndNotNewPublishedPort($index)" + data-cy="k8sAppCreate-hostnameSelect_{{ $index }}" > Select a hostname @@ -1450,6 +1576,7 @@ ng-change="ctrl.onChangePortMappingIngressRoute()" ng-pattern="/^(\/?[a-zA-Z0-9]+([a-zA-Z0-9-/_]*[a-zA-Z0-9])?|[a-zA-Z0-9]+)|(\/){1}$/" ng-disabled="ctrl.disableLoadBalancerEdit() || ctrl.isEditAndNotNewPublishedPort($index)" + data-cy="k8sAppCreate-ingressRoute_{{ $index }}" /> @@ -1461,6 +1588,7 @@ uib-btn-radio="'TCP'" ng-change="ctrl.onChangePortProtocol($index)" ng-disabled="ctrl.isProtocolOptionDisabled($index, 'TCP')" + data-cy="k8sAppCreate-TCPButton_{{ $index }}" >TCP UDP @@ -1477,6 +1606,7 @@ class="btn btn-sm btn-danger" type="button" ng-click="ctrl.removePublishedPort($index)" + data-cy="k8sAppCreate-rmPortButton_{{ $index }}" > @@ -1485,6 +1615,7 @@ class="btn btn-sm btn-primary" type="button" ng-click="ctrl.restorePublishedPort($index)" + data-cy="k8sAppCreate-restorePortButton_{{ $index }}" > @@ -1564,8 +1695,8 @@ Route is required. This field must consist of alphanumeric characters or the special characters: '-', '_' or - '/'. It must start and end with an alphanumeric character (e.g. 'my-route', or 'route-123'). This field must consist of alphanumeric characters or the special characters: '-', '_' + or '/'. It must start and end with an alphanumeric character (e.g. 'my-route', or 'route-123'). @@ -1608,7 +1739,7 @@ form-values="ctrl.formValues" old-form-values="ctrl.savedFormValues" > - + @@ -1636,6 +1767,7 @@ type="button" class="btn btn-sm btn-default" ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })" + data-cy="k8sAppCreate-appCancelButton" > Cancel diff --git a/app/kubernetes/views/applications/edit/application.html b/app/kubernetes/views/applications/edit/application.html index 5ea71a2e1..a771d4285 100644 --- a/app/kubernetes/views/applications/edit/application.html +++ b/app/kubernetes/views/applications/edit/application.html @@ -26,7 +26,7 @@ Stack - {{ ctrl.application.StackName || '-' }} + {{ ctrl.application.StackName || '-' }} Namespace @@ -37,15 +37,15 @@ Application Type - + {{ ctrl.application.ApplicationType | kubernetesApplicationTypeText }} Status - Replicated - Global + Replicated + Global {{ ctrl.application.RunningPodsCount }} / {{ ctrl.application.TotalPodsCount }} @@ -59,8 +59,10 @@ per instance - CPU {{ ctrl.application.Requests.Cpu | kubernetesApplicationCPUValue }} - Memory {{ ctrl.application.Requests.Memory | humansize }} + CPU {{ ctrl.application.Requests.Cpu | kubernetesApplicationCPUValue }} + Memory {{ ctrl.application.Requests.Memory | humansize }} @@ -79,7 +81,7 @@ Note - {{ ctrl.state.expandedNote ? 'Collapse' : 'Expand' }} @@ -105,6 +107,7 @@ type="button" ng-click="ctrl.updateApplication()" ng-disabled="ctrl.formValues.Note === ctrl.application.Note" + data-cy="k8sAppDetail-saveNoteButton" >{{ ctrl.application.Note ? 'Update' : 'Save' }} note @@ -195,7 +198,14 @@ - + Edit this application Redeploy @@ -214,6 +225,7 @@ style="margin-left: 0;" ng-click="ctrl.rollbackApplication()" ng-disabled="ctrl.application.Revisions.length < 2 || ctrl.state.appType !== ctrl.KubernetesDeploymentTypes.APPLICATION_FORM" + data-cy="k8sAppDetail-rollbackButton" > Rollback to previous configuration @@ -327,7 +339,7 @@ {{ port.NodePort }} - + {{ port.Port }} access @@ -342,12 +355,12 @@ - - {{ port.TargetPort }}/{{ port.Protocol }} + {{ port.TargetPort }}/{{ port.Protocol }} - + {{ port.NodePort }} - + {{ port.Port }} pending - + {{ ctrl.buildIngressRuleURL(rule) | stripprotocol }} @@ -404,9 +417,9 @@ - {{ ctrl.application.AutoScaler.MinReplicas }} - {{ ctrl.application.AutoScaler.MaxReplicas }} - {{ ctrl.application.AutoScaler.TargetCPUUtilization }}% + {{ ctrl.application.AutoScaler.MinReplicas }} + {{ ctrl.application.AutoScaler.MaxReplicas }} + {{ ctrl.application.AutoScaler.TargetCPUUtilization }}% @@ -431,7 +444,7 @@ - + {{ container.Name }} {{ envvar.valueFrom.fieldRef.fieldPath }} () - {{ envvar.name }} + {{ envvar.name }} - {{ envvar.value }} - {{ envvar.valueFrom.configMapKeyRef.key }} - {{ envvar.valueFrom.secretKeyRef.key }} - {{ envvar.value }} + {{ envvar.valueFrom.configMapKeyRef.key }} + {{ envvar.valueFrom.secretKeyRef.key }} + {{ envvar.valueFrom.fieldRef.fieldPath }} ( - - {{ envvar.valueFrom.configMapKeyRef.name }} - {{ envvar.valueFrom.secretKeyRef.name }} - + {{ volume.MountPath }} - {{ volume.PersistentVolumeClaimName }} diff --git a/app/kubernetes/views/applications/edit/components/placements-datatable/template.html b/app/kubernetes/views/applications/edit/components/placements-datatable/template.html index 9622f2225..80a7dbf97 100644 --- a/app/kubernetes/views/applications/edit/components/placements-datatable/template.html +++ b/app/kubernetes/views/applications/edit/components/placements-datatable/template.html @@ -179,7 +179,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/views/configure/configure.html b/app/kubernetes/views/configure/configure.html index 4f9dc6d70..0a02767d4 100644 --- a/app/kubernetes/views/configure/configure.html +++ b/app/kubernetes/views/configure/configure.html @@ -27,7 +27,9 @@ Allow users to use external load balancer - + + + @@ -43,7 +45,7 @@ Ingress controller - + configure ingress controller @@ -61,6 +63,7 @@ ng-pattern="/^[a-z]([-a-z0-9]*[a-z0-9])?$/" ng-change="ctrl.onChangeIngressClassName($index)" required + data-cy="kubeSetup-ingressClassName" /> @@ -71,12 +74,19 @@ ng-model="ingressClass.Type" ng-options="value as value for (key, value) in ctrl.IngressClassTypes" required + data-cy="kubeSetup-ingressType" > Select a type - + @@ -145,7 +155,9 @@ Restrict access to the default namespace - + + + @@ -169,7 +181,7 @@ Allow resource over-commit - + This feature is available in Portainer Business Edition. @@ -193,7 +205,7 @@ Enable features using the metrics API - + @@ -252,7 +264,9 @@ - + + + {{ class.Name }} @@ -267,12 +281,15 @@ directive-id="{{ class.Name }}" helper-elements="" translation="{nothingSelected: 'Not configured'}" + data-cy="kubeSetup-storageAccessSelect{{ class.Name }}" > - + + @@ -304,6 +321,7 @@ analytics-category="kubernetes" analytics-event="kubernetes-configure" analytics-properties="{ metadata: { restrictAccessToDefaultNamespace: ctrl.formValues.RestrictDefaultNamespace } }" + data-cy="kubeSetup-saveConfigurationButton" > Save configuration Saving configuration... diff --git a/app/kubernetes/views/resource-pools/create/createResourcePool.html b/app/kubernetes/views/resource-pools/create/createResourcePool.html index 8529a0395..82728d8d2 100644 --- a/app/kubernetes/views/resource-pools/create/createResourcePool.html +++ b/app/kubernetes/views/resource-pools/create/createResourcePool.html @@ -213,8 +213,8 @@ The ingress feature must be enabled in the - environment configuration view to be able to register ingresses inside this - namespace. + environment configuration view to be able to register ingresses inside + this namespace. @@ -238,7 +238,9 @@ Allow users to use this ingress - + + + @@ -253,7 +255,12 @@ > - + add hostname @@ -270,6 +277,7 @@ ng-change="$ctrl.onChangeIngressHostname()" placeholder="foo" required + data-cy="namespaceCreate-hostnameInput{{ ic.IngressClass.Name }}_{{ $index }}" /> @@ -306,17 +314,19 @@ > - + + + - + Advanced configuration - + Hide configuration @@ -331,7 +341,12 @@ Annotations - + add annotation @@ -340,14 +355,33 @@ Key - + Value - + - + @@ -392,6 +426,7 @@ helper-elements="filter" search-property="Name" translation="{nothingSelected: 'Select one or more registry', search: 'Search...'}" + data-cy="namespaceCreate-registrySelect" > diff --git a/app/kubernetes/views/resource-pools/edit/components/ingresses-datatable/template.html b/app/kubernetes/views/resource-pools/edit/components/ingresses-datatable/template.html index 27a359130..3a1e4fbc5 100644 --- a/app/kubernetes/views/resource-pools/edit/components/ingresses-datatable/template.html +++ b/app/kubernetes/views/resource-pools/edit/components/ingresses-datatable/template.html @@ -117,7 +117,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/views/volumes/components/volumes-storages-datatable/template.html b/app/kubernetes/views/volumes/components/volumes-storages-datatable/template.html index b912d3f41..424f69350 100644 --- a/app/kubernetes/views/volumes/components/volumes-storages-datatable/template.html +++ b/app/kubernetes/views/volumes/components/volumes-storages-datatable/template.html @@ -127,7 +127,7 @@ Items per page - + All 10 25 diff --git a/app/kubernetes/views/volumes/edit/volume.html b/app/kubernetes/views/volumes/edit/volume.html index c3bc9331f..64d8e8e73 100644 --- a/app/kubernetes/views/volumes/edit/volume.html +++ b/app/kubernetes/views/volumes/edit/volume.html @@ -13,14 +13,14 @@ - Volume + Volume Name - + {{ ctrl.volume.PersistentVolumeClaim.Name }} external unused @@ -29,17 +29,19 @@ Namespace - {{ ctrl.volume.ResourcePool.Namespace.Name }} + {{ + ctrl.volume.ResourcePool.Namespace.Name + }} system Storage - {{ ctrl.volume.PersistentVolumeClaim.StorageClass.Name }} + {{ ctrl.volume.PersistentVolumeClaim.StorageClass.Name }} Shared Access Policy - {{ ctrl.state.volumeSharedAccessPolicy }} Provisioner - {{ ctrl.volume.PersistentVolumeClaim.StorageClass.Provisioner ? ctrl.volume.PersistentVolumeClaim.StorageClass.Provisioner : '-' }} + {{ + ctrl.volume.PersistentVolumeClaim.StorageClass.Provisioner ? ctrl.volume.PersistentVolumeClaim.StorageClass.Provisioner : '-' + }} Creation date - {{ ctrl.volume.PersistentVolumeClaim.CreationDate | getisodate }} + {{ ctrl.volume.PersistentVolumeClaim.CreationDate | getisodate }} Size @@ -65,6 +69,7 @@ class="btn btn-sm btn-primary" ng-click="ctrl.state.increaseSize = true" ng-if="ctrl.volume.PersistentVolumeClaim.StorageClass.AllowVolumeExpansion" + data-cy="k8sVolDetail-increaseSizeButton" >Increase size @@ -82,6 +87,7 @@ min="0" ng-change="ctrl.onChangeSize()" required + data-cy="k8sVolDetail-increaseSizeInput" /> - + Update size - + Cancel @@ -119,7 +132,7 @@ - + Events @@ -140,7 +153,7 @@ - YAML + YAML diff --git a/app/portainer/components/access-datatable/accessDatatable.html b/app/portainer/components/access-datatable/accessDatatable.html index 52c323103..525218d8e 100644 --- a/app/portainer/components/access-datatable/accessDatatable.html +++ b/app/portainer/components/access-datatable/accessDatatable.html @@ -81,7 +81,7 @@ Items per page - + All 10 25 diff --git a/app/portainer/components/datatables/endpoints-datatable/endpointsDatatable.html b/app/portainer/components/datatables/endpoints-datatable/endpointsDatatable.html index 54023c703..2d7fc923f 100644 --- a/app/portainer/components/datatables/endpoints-datatable/endpointsDatatable.html +++ b/app/portainer/components/datatables/endpoints-datatable/endpointsDatatable.html @@ -115,7 +115,7 @@ Items per page - + All 10 25 diff --git a/app/portainer/components/datatables/groups-datatable/groupsDatatable.html b/app/portainer/components/datatables/groups-datatable/groupsDatatable.html index a485f7b5b..22d8b2785 100644 --- a/app/portainer/components/datatables/groups-datatable/groupsDatatable.html +++ b/app/portainer/components/datatables/groups-datatable/groupsDatatable.html @@ -82,7 +82,7 @@ Items per page - + All 10 25 diff --git a/app/portainer/components/datatables/registries-datatable/registriesDatatable.html b/app/portainer/components/datatables/registries-datatable/registriesDatatable.html index 223d817f8..d9e66e588 100644 --- a/app/portainer/components/datatables/registries-datatable/registriesDatatable.html +++ b/app/portainer/components/datatables/registries-datatable/registriesDatatable.html @@ -116,7 +116,7 @@ Items per page - + All 10 25 diff --git a/app/portainer/components/datatables/stacks-datatable/stacksDatatable.html b/app/portainer/components/datatables/stacks-datatable/stacksDatatable.html index 552b0ee23..cd34b3b4f 100644 --- a/app/portainer/components/datatables/stacks-datatable/stacksDatatable.html +++ b/app/portainer/components/datatables/stacks-datatable/stacksDatatable.html @@ -231,7 +231,7 @@ Items per page - + All 10 25 diff --git a/app/portainer/components/datatables/tags-datatable/tagsDatatable.html b/app/portainer/components/datatables/tags-datatable/tagsDatatable.html index 4e64b2b38..ecca372e5 100644 --- a/app/portainer/components/datatables/tags-datatable/tagsDatatable.html +++ b/app/portainer/components/datatables/tags-datatable/tagsDatatable.html @@ -67,7 +67,7 @@ Items per page - + All 10 25 diff --git a/app/portainer/components/datatables/teams-datatable/teamsDatatable.html b/app/portainer/components/datatables/teams-datatable/teamsDatatable.html index 5c45a26bb..4dae710de 100644 --- a/app/portainer/components/datatables/teams-datatable/teamsDatatable.html +++ b/app/portainer/components/datatables/teams-datatable/teamsDatatable.html @@ -67,7 +67,7 @@ Items per page - + All 10 25 diff --git a/app/portainer/components/datatables/users-datatable/usersDatatable.html b/app/portainer/components/datatables/users-datatable/usersDatatable.html index f4bc973f0..f8c3b8aee 100644 --- a/app/portainer/components/datatables/users-datatable/usersDatatable.html +++ b/app/portainer/components/datatables/users-datatable/usersDatatable.html @@ -100,7 +100,7 @@ Items per page - + All 10 25 diff --git a/app/portainer/components/forms/registry-form-gitlab/gitlab-projects-datatable/gitlabProjectsDatatable.html b/app/portainer/components/forms/registry-form-gitlab/gitlab-projects-datatable/gitlabProjectsDatatable.html index 61db99a51..918c195f8 100644 --- a/app/portainer/components/forms/registry-form-gitlab/gitlab-projects-datatable/gitlabProjectsDatatable.html +++ b/app/portainer/components/forms/registry-form-gitlab/gitlab-projects-datatable/gitlabProjectsDatatable.html @@ -76,7 +76,7 @@ Items per page - + All 10 25
Path is required.
Route is required.
This field must consist of alphanumeric characters or the special characters: '-', '_' or - '/'. It must start and end with an alphanumeric character (e.g. 'my-route', or 'route-123').
@@ -1608,7 +1739,7 @@ form-values="ctrl.formValues" old-form-values="ctrl.savedFormValues" > -
{{ ctrl.application.RunningPodsCount }}
{{ ctrl.application.TotalPodsCount }}
- + Advanced configuration - + Hide configuration