From 0a2d743ea2cf697cb7eab5670a7c5968b27b772d Mon Sep 17 00:00:00 2001 From: Zhihe Li Date: Wed, 16 Jul 2025 13:27:13 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20Fix=20removing=20worker?= =?UTF-8?q?=20tag=20(#2928)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/worker/create-worker-led/index.js | 2 +- .../form/worker/create-worker-led-test.js | 36 ++++++++++++++++++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/ui/admin/app/components/form/worker/create-worker-led/index.js b/ui/admin/app/components/form/worker/create-worker-led/index.js index c37182940..46558c3de 100644 --- a/ui/admin/app/components/form/worker/create-worker-led/index.js +++ b/ui/admin/app/components/form/worker/create-worker-led/index.js @@ -184,7 +184,7 @@ unzip *.zip ;\\ @action removeWorkerTagByIndex(index) { - this.workerTags.removeAt(index); + this.workerTags.splice(index, 1); } @action diff --git a/ui/admin/tests/integration/components/form/worker/create-worker-led-test.js b/ui/admin/tests/integration/components/form/worker/create-worker-led-test.js index fdaca3b83..9cdf78d52 100644 --- a/ui/admin/tests/integration/components/form/worker/create-worker-led-test.js +++ b/ui/admin/tests/integration/components/form/worker/create-worker-led-test.js @@ -5,7 +5,7 @@ import { module, test } from 'qunit'; import { setupRenderingTest } from 'ember-qunit'; -import { render } from '@ember/test-helpers'; +import { click, fillIn, render } from '@ember/test-helpers'; import { hbs } from 'ember-cli-htmlbars'; import { v4 as uuidv4 } from 'uuid'; import { setupIntl } from 'ember-intl/test-support'; @@ -85,5 +85,39 @@ module( assert.dom('[name="cluster_id"]').hasNoValue(); }); + + test('it adds and removes worker tags', async function (assert) { + this.model = {}; + this.submit = () => {}; + this.cancel = () => {}; + + const KEY_VALUE_INPUT_SELECTOR = (row, column) => + `[name="worker_tags"] tbody :nth-child(${row}) td:nth-child(${column}) input`; + const KEY_VALUE_BUTTON_SELECTOR = (row) => + `[name="worker_tags"] tbody :nth-child(${row}) button`; + const KEY_VALUE_ROW = '[name="worker_tags"] tbody tr'; + + await render( + hbs``, + ); + + assert.dom(KEY_VALUE_ROW).exists({ count: 1 }); + + // Test adding a worker tag + await fillIn(KEY_VALUE_INPUT_SELECTOR(1, 1), 'environment'); + await fillIn(KEY_VALUE_INPUT_SELECTOR(1, 2), 'dev'); + await click(KEY_VALUE_BUTTON_SELECTOR(1)); + + await fillIn(KEY_VALUE_INPUT_SELECTOR(2, 1), 'environment'); + await fillIn(KEY_VALUE_INPUT_SELECTOR(2, 2), 'test'); + await click(KEY_VALUE_BUTTON_SELECTOR(2)); + + assert.dom(KEY_VALUE_ROW).exists({ count: 3 }); + + // Remove the worker tag + await click(KEY_VALUE_BUTTON_SELECTOR(1)); + + assert.dom(KEY_VALUE_ROW).exists({ count: 2 }); + }); }, );