This is an automated email from the ASF dual-hosted git repository.

vatsrahul1001 pushed a commit to branch v3-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/v3-3-test by this push:
     new 95657864a78 Fix Configuration page e2e test failing when the first 
option has no value (#72724) (#72778)
95657864a78 is described below

commit 95657864a7873981af552b92e9bab4d182b91855
Author: Rahul Vats <[email protected]>
AuthorDate: Wed Sep 9 19:08:22 2026 +0530

    Fix Configuration page e2e test failing when the first option has no value 
(#72724) (#72778)
    
    The test asserted that the first row of the Config table has a non-empty
    value. Which option comes first depends on the provider fallback defaults,
    and since those were regenerated from provider.yaml the first row is now
    hive/default_hive_mapred_queue, whose value is legitimately empty. That
    broke the Chromium, Firefox and WebKit e2e jobs on every main-based PR.
    
    Check the value on core/dags_folder instead, which always has one, and
    locate cells by their test ids rather than column position.
    
    Claude-Session: https://claude.ai/code/session_01LPR1qQYC6BGWc4JoHRgWV3
    
    
    (cherry picked from commit 2d717899a98af84103a4212bb298bf8195a92c1d)
    
    Co-authored-by: Jonathan Brown 
<[email protected]>
    Co-authored-by: Claude Fable 5.1 <[email protected]>
---
 .../src/airflow/ui/tests/e2e/pages/ConfigurationPage.ts      |  6 ++++++
 .../src/airflow/ui/tests/e2e/specs/configuration.spec.ts     | 12 +++++++++---
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/airflow-core/src/airflow/ui/tests/e2e/pages/ConfigurationPage.ts 
b/airflow-core/src/airflow/ui/tests/e2e/pages/ConfigurationPage.ts
index 3683ce7e093..65e80729336 100644
--- a/airflow-core/src/airflow/ui/tests/e2e/pages/ConfigurationPage.ts
+++ b/airflow-core/src/airflow/ui/tests/e2e/pages/ConfigurationPage.ts
@@ -38,6 +38,12 @@ export class ConfigurationPage extends BasePage {
     });
   }
 
+  public getRowByKey(key: string): Locator {
+    return this.rows.filter({
+      has: this.page.getByTestId("table-cell-key").filter({ hasText: new 
RegExp(`^${key}$`) }),
+    });
+  }
+
   public async navigate(): Promise<void> {
     await expect(async () => {
       await this.navigateTo("/configs");
diff --git a/airflow-core/src/airflow/ui/tests/e2e/specs/configuration.spec.ts 
b/airflow-core/src/airflow/ui/tests/e2e/specs/configuration.spec.ts
index fd35506aac0..58d35ac392b 100644
--- a/airflow-core/src/airflow/ui/tests/e2e/specs/configuration.spec.ts
+++ b/airflow-core/src/airflow/ui/tests/e2e/specs/configuration.spec.ts
@@ -31,8 +31,14 @@ test.describe("Configuration Page", () => {
 
     const firstRow = configurationPage.rows.nth(0);
 
-    await expect(firstRow.locator("td").nth(0)).not.toBeEmpty();
-    await expect(firstRow.locator("td").nth(1)).not.toBeEmpty();
-    await expect(firstRow.locator("td").nth(2)).not.toBeEmpty();
+    await expect(firstRow.getByTestId("table-cell-section")).not.toBeEmpty();
+    await expect(firstRow.getByTestId("table-cell-key")).not.toBeEmpty();
+
+    // Many options legitimately have an empty value, so check a row that 
always has one.
+    const dagsFolderRow = configurationPage.getRowByKey("dags_folder");
+
+    await expect(dagsFolderRow).toHaveCount(1);
+    await 
expect(dagsFolderRow.getByTestId("table-cell-section")).toHaveText("core");
+    await 
expect(dagsFolderRow.getByTestId("table-cell-value")).not.toBeEmpty();
   });
 });

Reply via email to