diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-08-20 18:42:06 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-08-20 18:42:06 +0000 |
commit | 6e4e1050d9dba2b7b2523fdd1768823ab85feef4 (patch) | |
tree | 78be5963ec075d80116a932011d695dd33910b4e /app/assets/javascripts/jobs/components | |
parent | 1ce776de4ae122aba3f349c02c17cebeaa8ecf07 (diff) | |
download | gitlab-ce-6e4e1050d9dba2b7b2523fdd1768823ab85feef4.tar.gz |
Add latest changes from gitlab-org/gitlab@13-3-stable-ee
Diffstat (limited to 'app/assets/javascripts/jobs/components')
8 files changed, 69 insertions, 52 deletions
diff --git a/app/assets/javascripts/jobs/components/artifacts_block.vue b/app/assets/javascripts/jobs/components/artifacts_block.vue index b2f9bf2a348..6183779acd4 100644 --- a/app/assets/javascripts/jobs/components/artifacts_block.vue +++ b/app/assets/javascripts/jobs/components/artifacts_block.vue @@ -48,7 +48,7 @@ export default { ) }}</span> </p> - <div class="btn-group d-flex prepend-top-10" role="group"> + <div class="btn-group d-flex gl-mt-3" role="group"> <gl-link v-if="artifact.keep_path" :href="artifact.keep_path" diff --git a/app/assets/javascripts/jobs/components/empty_state.vue b/app/assets/javascripts/jobs/components/empty_state.vue index e2bc413e3ce..0ee8cd6c5ad 100644 --- a/app/assets/javascripts/jobs/components/empty_state.vue +++ b/app/assets/javascripts/jobs/components/empty_state.vue @@ -71,9 +71,9 @@ export default { <div class="col-12"> <div class="text-content"> - <h4 class="js-job-empty-state-title text-center">{{ title }}</h4> + <h4 class="text-center" data-testid="job-empty-state-title">{{ title }}</h4> - <p v-if="content" class="js-job-empty-state-content">{{ content }}</p> + <p v-if="content" data-testid="job-empty-state-content">{{ content }}</p> </div> <manual-variables-form v-if="shouldRenderManualVariables" @@ -85,7 +85,8 @@ export default { <gl-link :href="action.path" :data-method="action.method" - class="js-job-empty-state-action btn btn-primary" + class="btn btn-primary" + data-testid="job-empty-state-action" >{{ action.button_title }}</gl-link > </div> diff --git a/app/assets/javascripts/jobs/components/environments_block.vue b/app/assets/javascripts/jobs/components/environments_block.vue index 9166c13a4fb..ec7868d9235 100644 --- a/app/assets/javascripts/jobs/components/environments_block.vue +++ b/app/assets/javascripts/jobs/components/environments_block.vue @@ -1,8 +1,8 @@ <script> import { isEmpty } from 'lodash'; +import { GlSprintf, GlLink } from '@gitlab/ui'; import CiIcon from '~/vue_shared/components/ci_icon.vue'; import { __ } from '../../locale'; -import { GlSprintf, GlLink } from '@gitlab/ui'; export default { creatingEnvironment: 'creating', diff --git a/app/assets/javascripts/jobs/components/job_app.vue b/app/assets/javascripts/jobs/components/job_app.vue index f43a058b5f8..e760706c97e 100644 --- a/app/assets/javascripts/jobs/components/job_app.vue +++ b/app/assets/javascripts/jobs/components/job_app.vue @@ -198,17 +198,13 @@ export default { </script> <template> <div> - <gl-loading-icon - v-if="isLoading" - size="lg" - class="js-job-loading qa-loading-animation prepend-top-20" - /> + <gl-loading-icon v-if="isLoading" size="lg" class="qa-loading-animation prepend-top-20" /> <template v-else-if="shouldRenderContent"> - <div class="js-job-content build-page"> + <div class="build-page" data-testid="job-content"> <!-- Header Section --> <header> - <div class="js-build-header build-header top-area"> + <div class="build-header top-area"> <ci-header :status="job.status" :item-id="job.id" @@ -230,7 +226,6 @@ export default { <!-- Body Section --> <stuck-block v-if="job.stuck" - class="js-job-stuck" :has-no-runners-for-project="hasRunnersForProject" :tags="job.tags" :runners-path="runnerSettingsUrl" @@ -238,13 +233,11 @@ export default { <unmet-prerequisites-block v-if="hasUnmetPrerequisitesFailure" - class="js-job-failed" :help-path="deploymentHelpUrl" /> <shared-runner v-if="shouldRenderSharedRunnerLimitWarning" - class="js-shared-runner-limit" :quota-used="job.runners.quota.used" :quota-limit="job.runners.quota.limit" :runners-path="runnerHelpUrl" @@ -254,7 +247,6 @@ export default { <environments-block v-if="hasEnvironment" - class="js-job-environment" :deployment-status="job.deployment_status" :deployment-cluster="job.deployment_cluster" :icon-status="job.status" @@ -262,7 +254,7 @@ export default { <erased-block v-if="job.erased_at" - class="js-job-erased-block" + data-testid="job-erased-block" :user="job.erased_by" :erased-at="job.erased_at" /> @@ -270,8 +262,9 @@ export default { <div v-if="job.archived" ref="sticky" - class="js-archived-job gl-mt-3 archived-job" + class="gl-mt-3 archived-job" :class="{ 'sticky-top border-bottom-0': hasTrace }" + data-testid="archived-job" > <icon name="lock" class="align-text-bottom" /> {{ __('This job is archived. Only the complete pipeline can be retried.') }} @@ -305,7 +298,6 @@ export default { <!-- empty state --> <empty-state v-if="!hasTrace" - class="js-job-empty-state" :illustration-path="emptyStateIllustration.image" :illustration-size-class="emptyStateIllustration.size" :title="emptyStateTitle" @@ -323,12 +315,12 @@ export default { <sidebar v-if="shouldRenderContent" - class="js-job-sidebar" :class="{ 'right-sidebar-expanded': isSidebarOpen, 'right-sidebar-collapsed': !isSidebarOpen, }" :runner-help-url="runnerHelpUrl" + data-testid="job-sidebar" /> </div> </template> diff --git a/app/assets/javascripts/jobs/components/job_log_controllers.vue b/app/assets/javascripts/jobs/components/job_log_controllers.vue index a68174d8e1d..4d314eaa106 100644 --- a/app/assets/javascripts/jobs/components/job_log_controllers.vue +++ b/app/assets/javascripts/jobs/components/job_log_controllers.vue @@ -71,13 +71,14 @@ export default { <template> <div class="top-bar"> <!-- truncate information --> - <div class="js-truncated-info truncated-info d-none d-sm-block float-left"> + <div class="truncated-info d-none d-sm-block float-left" data-testid="log-truncated-info"> <template v-if="isTraceSizeVisible"> {{ jobLogSize }} <gl-link v-if="rawPath" :href="rawPath" - class="js-raw-link text-plain text-underline gl-ml-2" + class="text-plain text-underline gl-ml-2" + data-testid="raw-link" >{{ s__('Job|Complete Raw') }}</gl-link > </template> @@ -91,7 +92,8 @@ export default { v-gl-tooltip.body :title="s__('Job|Show complete raw')" :href="rawPath" - class="js-raw-link-controller controllers-buttons" + class="controllers-buttons" + data-testid="job-raw-link-controller" > <icon name="doc-text" /> </gl-link> @@ -102,7 +104,8 @@ export default { :title="s__('Job|Erase job log')" :href="erasePath" :data-confirm="__('Are you sure you want to erase this build?')" - class="js-erase-link controllers-buttons" + class="controllers-buttons" + data-testid="job-log-erase-link" data-method="post" > <icon name="remove" /> @@ -114,7 +117,8 @@ export default { <gl-deprecated-button :disabled="isScrollTopDisabled" type="button" - class="js-scroll-top btn-scroll btn-transparent btn-blank" + class="btn-scroll btn-transparent btn-blank" + data-testid="job-controller-scroll-top" @click="handleScrollToTop" > <icon name="scroll_up" /> @@ -126,6 +130,7 @@ export default { :disabled="isScrollBottomDisabled" class="js-scroll-bottom btn-scroll btn-transparent btn-blank" :class="{ animate: isScrollingDown }" + data-testid="job-controller-scroll-bottom" @click="handleScrollToBottom" v-html="$options.scrollDown" /> diff --git a/app/assets/javascripts/jobs/components/manual_variables_form.vue b/app/assets/javascripts/jobs/components/manual_variables_form.vue index d83c598dd48..9236624a191 100644 --- a/app/assets/javascripts/jobs/components/manual_variables_form.vue +++ b/app/assets/javascripts/jobs/components/manual_variables_form.vue @@ -100,7 +100,7 @@ export default { }; </script> <template> - <div class="js-manual-vars-form col-12"> + <div class="col-12" data-testid="manual-vars-form"> <label>{{ s__('CiVariables|Variables') }}</label> <div class="ci-table"> diff --git a/app/assets/javascripts/jobs/components/sidebar.vue b/app/assets/javascripts/jobs/components/sidebar.vue index 83ba528cfa2..517da16dcf8 100644 --- a/app/assets/javascripts/jobs/components/sidebar.vue +++ b/app/assets/javascripts/jobs/components/sidebar.vue @@ -147,7 +147,8 @@ export default { <gl-link v-if="job.new_issue_path" :href="job.new_issue_path" - class="js-new-issue btn btn-success btn-inverted float-left mr-2" + class="btn btn-success btn-inverted float-left mr-2" + data-testid="job-new-issue" >{{ __('New issue') }}</gl-link > <gl-link diff --git a/app/assets/javascripts/jobs/components/stuck_block.vue b/app/assets/javascripts/jobs/components/stuck_block.vue index b69e6f9686f..8e8202246a2 100644 --- a/app/assets/javascripts/jobs/components/stuck_block.vue +++ b/app/assets/javascripts/jobs/components/stuck_block.vue @@ -1,10 +1,13 @@ <script> -import { GlLink } from '@gitlab/ui'; +import { GlAlert, GlBadge, GlLink } from '@gitlab/ui'; +import { s__ } from '../../locale'; /** * Renders Stuck Runners block for job's view. */ export default { components: { + GlAlert, + GlBadge, GlLink, }, props: { @@ -22,35 +25,50 @@ export default { required: true, }, }, + computed: { + hasNoRunnersWithCorrespondingTags() { + return this.tags.length > 0; + }, + stuckData() { + if (this.hasNoRunnersWithCorrespondingTags) { + return { + text: s__(`Job|This job is stuck because you don't have + any active runners online or available with any of these tags assigned to them:`), + dataTestId: 'job-stuck-with-tags', + showTags: true, + }; + } else if (this.hasNoRunnersForProject) { + return { + text: s__(`Job|This job is stuck because the project + doesn't have any runners online assigned to it.`), + dataTestId: 'job-stuck-no-runners', + showTags: false, + }; + } + + return { + text: s__(`Job|This job is stuck because you don't + have any active runners that can run this job.`), + dataTestId: 'job-stuck-no-active-runners', + showTags: false, + }; + }, + }, }; </script> <template> - <div class="bs-callout bs-callout-warning"> - <p v-if="tags.length" class="js-stuck-with-tags gl-mb-0"> - {{ - s__(`This job is stuck because you don't have - any active runners online or available with any of these tags assigned to them:`) - }} - <span v-for="(tag, index) in tags" :key="index" class="badge badge-primary gl-mr-2"> - {{ tag }} - </span> + <gl-alert variant="warning" :dismissible="false"> + <p class="gl-mb-0" :data-testid="stuckData.dataTestId"> + {{ stuckData.text }} + <template v-if="stuckData.showTags"> + <gl-badge v-for="tag in tags" :key="tag" variant="info"> + {{ tag }} + </gl-badge> + </template> </p> - <p v-else-if="hasNoRunnersForProject" class="js-stuck-no-runners gl-mb-0"> - {{ - s__(`Job|This job is stuck because the project - doesn't have any runners online assigned to it.`) - }} - </p> - <p v-else class="js-stuck-no-active-runner gl-mb-0"> - {{ - s__(`This job is stuck because you don't - have any active runners that can run this job.`) - }} - </p> - {{ __('Go to project') }} - <gl-link v-if="runnersPath" :href="runnersPath" class="js-runners-path"> + <gl-link v-if="runnersPath" :href="runnersPath"> {{ __('CI settings') }} </gl-link> - </div> + </gl-alert> </template> |