Skip to content

Feature/expanable settings#170

Merged
tmseidel merged 2 commits into
developfrom
feature/expanable-settings
May 24, 2026
Merged

Feature/expanable settings#170
tmseidel merged 2 commits into
developfrom
feature/expanable-settings

Conversation

@tmseidel

Copy link
Copy Markdown
Owner
  • Expandable sections on system-settings
  • State is persisted in localStore

@clicki-mc-testface

Copy link
Copy Markdown
Collaborator

E2E Test Run for PR #170

🤖 Starting end-to-end test run — this typically takes several minutes.

  • Framework: playwright
  • Suite lifecycle: offer-as-pr

I'll deploy a preview environment, generate the test suite and post the results here when the run finishes. Use @bot rerun-tests to re-execute or @bot regenerate-tests <feedback> to re-plan the suite.

@clicki-mc-testface

Copy link
Copy Markdown
Collaborator

add-button-not-triggering-collapse — error context (11.5 KiB)

# Instructions

- Following Playwright test failed.
- Explain why, be concise, respect Playwright best practices.
- Provide a snippet of code with the fix, if possible.

# Test info

- Name: add-button-not-triggering-collapse.spec.ts >> Add button in section header navigates without toggling collapse
- Location: tests/add-button-not-triggering-collapse.spec.ts:3:1

# Error details

Test timeout of 30000ms exceeded.


Error: page.waitForURL: Test timeout of 30000ms exceeded.
=========================== logs ===========================
waiting for navigation until "load"


# Page snapshot

```yaml
- generic [ref=e2]:
  - navigation [ref=e3]:
    - generic [ref=e4]:
      - link "AI Git Bot logo AI Git Bot" [ref=e5] [cursor=pointer]:
        - /url: /dashboard
        - img "AI Git Bot logo" [ref=e6]
        - text: AI Git Bot
      - generic [ref=e7]:
        - list [ref=e8]:
          - listitem [ref=e9]:
            - link " Dashboard" [ref=e10] [cursor=pointer]:
              - /url: /dashboard
              - generic [ref=e11]: 
              - text: Dashboard
          - listitem [ref=e12]:
            - link " Bots" [ref=e13] [cursor=pointer]:
              - /url: /bots
              - generic [ref=e14]: 
              - text: Bots
          - listitem [ref=e15]:
            - link " AI Integrations" [ref=e16] [cursor=pointer]:
              - /url: /ai-integrations
              - generic [ref=e17]: 
              - text: AI Integrations
          - listitem [ref=e18]:
            - link " Git Integrations" [ref=e19] [cursor=pointer]:
              - /url: /git-integrations
              - generic [ref=e20]: 
              - text: Git Integrations
          - listitem [ref=e21]:
            - link " System settings" [ref=e22] [cursor=pointer]:
              - /url: /system-settings
              - generic [ref=e23]: 
              - text: System settings
        - list [ref=e24]:
          - listitem [ref=e25]:
            - button "Toggle color theme" [ref=e26] [cursor=pointer]:
              - generic [ref=e27]: 
          - listitem [ref=e28]:
            - button " Logout" [ref=e30] [cursor=pointer]:
              - generic [ref=e31]: 
              - text: Logout
  - main [ref=e32]:
    - generic [ref=e33]:
      - generic [ref=e34]:
        - heading " System settings" [level=2] [ref=e35]:
          - generic [ref=e36]: 
          - text: System settings
        - generic [ref=e37]:
          - button " Expand all" [ref=e38] [cursor=pointer]:
            - generic [ref=e39]: 
            - text: Expand all
          - button " Collapse all" [ref=e40] [cursor=pointer]:
            - generic [ref=e41]: 
            - text: Collapse all
      - generic [ref=e42]:
        - generic [ref=e44]:
          - button " System prompts Prompt sets available to bot configurations.  Add" [ref=e45] [cursor=pointer]:
            - generic [ref=e46]:
              - generic [ref=e47]: 
              - generic [ref=e48]:
                - heading "System prompts" [level=5] [ref=e49]
                - text: Prompt sets available to bot configurations.
            - link " Add" [active] [ref=e50]:
              - /url: /system-settings/system-prompts/new
              - generic [ref=e51]: 
              - text: Add
          - text:  
        - generic [ref=e53]:
          - button " MCP configurations Remote MCP server configurations assignable to bots.  Add" [expanded] [ref=e54] [cursor=pointer]:
            - generic [ref=e55]:
              - generic [ref=e56]: 
              - generic [ref=e57]:
                - heading "MCP configurations" [level=5] [ref=e58]
                - text: Remote MCP server configurations assignable to bots.
            - link " Add" [ref=e59]:
              - /url: /system-settings/mcp-configurations/new
              - generic [ref=e60]: 
              - text: Add
          - generic [ref=e63]:
            - generic [ref=e64]: 
            - paragraph [ref=e65]: No MCP configurations configured yet.
        - generic [ref=e67]:
          - button " Tool configurations Whitelists of built-in agent tools (file, context, validation, repository) assignable to bots.  Add" [expanded] [ref=e68] [cursor=pointer]:
            - generic [ref=e69]:
              - generic [ref=e70]: 
              - generic [ref=e71]:
                - heading "Tool configurations" [level=5] [ref=e72]
                - text: Whitelists of built-in agent tools (file, context, validation, repository) assignable to bots.
            - link " Add" [ref=e73]:
              - /url: /system-settings/bot-tools/new
              - generic [ref=e74]: 
              - text: Add
          - table [ref=e78]:
            - rowgroup [ref=e79]:
              - row "Name Default Updated Actions" [ref=e80]:
                - columnheader "Name" [ref=e81]
                - columnheader "Default" [ref=e82]
                - columnheader "Updated" [ref=e83]
                - columnheader "Actions" [ref=e84]
            - rowgroup [ref=e85]:
              - row "Default Default 2026-05-24 20:23  Tools  Clone  Edit" [ref=e86]:
                - cell "Default" [ref=e87]
                - cell "Default" [ref=e88]:
                  - generic [ref=e89]: Default
                - cell "2026-05-24 20:23" [ref=e90]
                - cell " Tools  Clone  Edit" [ref=e91]:
                  - generic [ref=e92]:
                    - link " Tools" [ref=e93] [cursor=pointer]:
                      - /url: /system-settings/bot-tools/1/tools
                      - generic [ref=e94]: 
                      - text: Tools
                    - link " Clone" [ref=e95] [cursor=pointer]:
                      - /url: /system-settings/bot-tools/1/clone
                      - generic [ref=e96]: 
                      - text: Clone
                    - link " Edit" [ref=e97] [cursor=pointer]:
                      - /url: /system-settings/bot-tools/1/edit
                      - generic [ref=e98]: 
                      - text: Edit
        - generic [ref=e100]:
          - button " Workflow configurations Named whitelists of PR workflows (review, tests, …) assignable to bots.  Add" [expanded] [ref=e101] [cursor=pointer]:
            - generic [ref=e102]:
              - generic [ref=e103]: 
              - generic [ref=e104]:
                - heading "Workflow configurations" [level=5] [ref=e105]
                - text: Named whitelists of PR workflows (review, tests, …) assignable to bots.
            - link " Add" [ref=e106]:
              - /url: /system-settings/workflow-configurations/new
              - generic [ref=e107]: 
              - text: Add
          - table [ref=e111]:
            - rowgroup [ref=e112]:
              - row "Name Default Updated Actions" [ref=e113]:
                - columnheader "Name" [ref=e114]
                - columnheader "Default" [ref=e115]
                - columnheader "Updated" [ref=e116]
                - columnheader "Actions" [ref=e117]
            - rowgroup [ref=e118]:
              - row "Default Default 2026-05-24 20:23  Workflows  Clone  Edit" [ref=e119]:
                - cell "Default" [ref=e120]
                - cell "Default" [ref=e121]:
                  - generic [ref=e122]: Default
                - cell "2026-05-24 20:23" [ref=e123]
                - cell " Workflows  Clone  Edit" [ref=e124]:
                  - generic [ref=e125]:
                    - link " Workflows" [ref=e126] [cursor=pointer]:
                      - /url: /system-settings/workflow-configurations/1/workflows
                      - generic [ref=e127]: 
                      - text: Workflows
                    - link " Clone" [ref=e128] [cursor=pointer]:
                      - /url: /system-settings/workflow-configurations/1/clone
                      - generic [ref=e129]: 
                      - text: Clone
                    - link " Edit" [ref=e130] [cursor=pointer]:
                      - /url: /system-settings/workflow-configurations/1/edit
                      - generic [ref=e131]: 
                      - text: Edit
              - row "Full-stack QA 2026-05-24 20:23  Workflows  Clone  Edit  Delete" [ref=e132]:
                - cell "Full-stack QA" [ref=e133]
                - cell [ref=e134]
                - cell "2026-05-24 20:23" [ref=e135]
                - cell " Workflows  Clone  Edit  Delete" [ref=e136]:
                  - generic [ref=e137]:
                    - link " Workflows" [ref=e138] [cursor=pointer]:
                      - /url: /system-settings/workflow-configurations/2/workflows
                      - generic [ref=e139]: 
                      - text: Workflows
                    - link " Clone" [ref=e140] [cursor=pointer]:
                      - /url: /system-settings/workflow-configurations/2/clone
                      - generic [ref=e141]: 
                      - text: Clone
                    - link " Edit" [ref=e142] [cursor=pointer]:
                      - /url: /system-settings/workflow-configurations/2/edit
                      - generic [ref=e143]: 
                      - text: Edit
                    - button " Delete" [ref=e145] [cursor=pointer]:
                      - generic [ref=e146]: 
                      - text: Delete
        - generic [ref=e148]:
          - button " Deployment targets Per-PR preview environments used by workflows that need a live deployment (E2E tests, smoke checks).  Add" [expanded] [ref=e149] [cursor=pointer]:
            - generic [ref=e150]:
              - generic [ref=e151]: 
              - generic [ref=e152]:
                - heading "Deployment targets" [level=5] [ref=e153]
                - text: Per-PR preview environments used by workflows that need a live deployment (E2E tests, smoke checks).
            - link " Add" [ref=e154]:
              - /url: /system-settings/deployment-targets/new
              - generic [ref=e155]: 
              - text: Add
          - generic [ref=e158]:
            - generic [ref=e159]: 
            - paragraph [ref=e160]: No deployment targets configured. Workflows needing a preview environment will be skipped on bots without a target.

Test source

  1  | import { test, expect } from '@playwright/test';
  2  | 
  3  | test('Add button in section header navigates without toggling collapse', async ({ page }) => {
  4  |   await page.goto('/system-settings');
  5  | 
  6  |   const section = page.locator('#section-system-prompts');
  7  |   await expect(section).toBeVisible();
  8  | 
  9  |   // Find the System prompts card and click its Add button
  10 |   const header = page.locator('[data-bs-target="#section-system-prompts"], [aria-controls="section-system-prompts"]').first();
  11 |   const card = header.locator('xpath=ancestor::*[contains(@class,"card")][1]');
  12 |   const addButton = card.getByRole('link', { name: /add/i }).first();
  13 | 
  14 |   await Promise.all([
> 15 |     page.waitForURL(/\/system-settings\/system-prompts\/new/),
     |          ^ Error: page.waitForURL: Test timeout of 30000ms exceeded.
  16 |     addButton.click(),
  17 |   ]);
  18 | 
  19 |   expect(page.url()).toContain('/system-settings/system-prompts/new');
  20 | 
  21 |   // Idempotency: navigate back and clear any persisted state
  22 |   await page.goto('/system-settings');
  23 |   await page.evaluate(() => {
  24 |     try { window.localStorage.clear(); } catch {}
  25 |   });
  26 | });
  27 | 

@clicki-mc-testface

Copy link
Copy Markdown
Collaborator

E2E Test Run for PR #170

Framework: playwright
Preview environment: http://46.225.226.81:20026
Source SHA: 385f1411
Outcome: ❌ FAILED (7/8 passed)

Test Status Duration
tests/add-button-not-triggering-collapse.spec.ts
Clicking the section Add button navigates without toggling the section
❌ FAILED 30.09s
tests/chevron-rotates-on-collapse.spec.ts
Header chevron reflects collapsed state via 'collapsed' class
✅ PASSED 1.34s
tests/collapse-all-button.spec.ts
Collapse all button hides every section
✅ PASSED 1.36s
tests/collapse-single-section.spec.ts
Clicking a section header collapses that section
✅ PASSED 1.23s
tests/collapsed-state-persists-on-reload.spec.ts
Collapsed section state persists across page reloads via localStorage
✅ PASSED 1.52s
tests/expand-all-button.spec.ts
Expand all button shows every section after collapsing
✅ PASSED 1.31s
tests/expand-collapsed-section.spec.ts
Clicking a collapsed section header expands it again
✅ PASSED 1.23s
tests/system-settings-page-loads.spec.ts
System settings page loads with all sections expanded by default
✅ PASSED 323 ms

1/8 failed

@clicki-mc-testface

Copy link
Copy Markdown
Collaborator

Suite promotion (offer-as-pr)

✅ Opened follow-up PR #171 on branch ai-tests/pr-170 with 8 generated test file(s).

@tmseidel tmseidel merged commit 3dcf64a into develop May 24, 2026
10 checks passed
@tmseidel tmseidel deleted the feature/expanable-settings branch May 24, 2026 20:26
tmseidel added a commit that referenced this pull request Jul 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants