From 34daf3a7f5c2dd5597fede5118c171917ba6d1c2 Mon Sep 17 00:00:00 2001 From: Artyom Savchenko <armisav@gmail.com> Date: Fri, 6 Dec 2024 18:00:47 +0700 Subject: [PATCH] UBERF-8628: Disable run button if there is nothing to run (#7277) Signed-off-by: Artem Savchenko <armisav@gmail.com> --- .../src/components/test-case/RunButton.svelte | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/plugins/test-management-resources/src/components/test-case/RunButton.svelte b/plugins/test-management-resources/src/components/test-case/RunButton.svelte index 5ca698510a..c7a52159f1 100644 --- a/plugins/test-management-resources/src/components/test-case/RunButton.svelte +++ b/plugins/test-management-resources/src/components/test-case/RunButton.svelte @@ -13,10 +13,11 @@ // limitations under the License. --> <script lang="ts"> - import { Doc, DocumentQuery, Ref, Space } from '@hcengineering/core' + import { Doc, DocumentQuery, Ref, Space, mergeQueries } from '@hcengineering/core' import { Button } from '@hcengineering/ui' import { selectionStore } from '@hcengineering/view-resources' import type { TestCase, TestProject } from '@hcengineering/test-management' + import { createQuery } from '@hcengineering/presentation' import testManagement from '../../plugin' import { showCreateTestRunPopup } from '../../utils' @@ -24,6 +25,19 @@ export let query: DocumentQuery<Doc> = {} export let space: Ref<Space> + const docQuery = createQuery() + let haveTestCases = false + + $: resultQuery = mergeQueries(query, { space }) + $: docQuery.query( + testManagement.class.TestCase, + resultQuery, + (res) => { + haveTestCases = res.length > 0 + }, + { limit: 1 } + ) + const project: Ref<TestProject> = space as any const handleRun = async (): Promise<void> => { @@ -42,5 +56,6 @@ justify={'left'} kind={'primary'} label={testManagement.string.RunTestCases} + disabled={!haveTestCases} on:click={handleRun} />