mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-11 09:51:30 +00:00
75 lines
3.3 KiB
TypeScript
75 lines
3.3 KiB
TypeScript
import { test, expect } from '../../playwright';
|
|
|
|
test.describe('Sidebar Section Auto-Expand', () => {
|
|
test('Clicking action button on collapsed section should expand it', async ({ page }) => {
|
|
// The api-specs section is collapsed by default (only collections is expanded)
|
|
// Find the api-specs section by its title
|
|
const apiSpecsSection = page.locator('.sidebar-section').filter({ hasText: 'API Specs' });
|
|
|
|
// Verify the api-specs section is initially collapsed (doesn't have 'expanded' class)
|
|
await expect(apiSpecsSection).not.toHaveClass(/expanded/);
|
|
|
|
// Verify section-content is not visible when collapsed
|
|
const sectionContent = apiSpecsSection.locator('.section-content');
|
|
await expect(sectionContent).not.toBeVisible();
|
|
|
|
// Click on the add button in the section-actions area
|
|
// This should trigger the auto-expand logic
|
|
const addButton = page.getByTestId('api-specs-header-add-menu');
|
|
await addButton.click();
|
|
|
|
// Close the dropdown by pressing Escape (we just want to test the expand, not the dropdown action)
|
|
await page.keyboard.press('Escape');
|
|
|
|
// After clicking an action, the section should be expanded
|
|
await expect(apiSpecsSection).toHaveClass(/expanded/);
|
|
|
|
// Verify section-content is now visible
|
|
await expect(sectionContent).toBeVisible();
|
|
});
|
|
|
|
test('Clicking action button on already expanded section should keep it expanded', async ({ page }) => {
|
|
// The collections section is expanded by default
|
|
const collectionsSection = page.locator('.sidebar-section').filter({ hasText: 'Collections' });
|
|
|
|
// Verify the collections section is initially expanded
|
|
await expect(collectionsSection).toHaveClass(/expanded/);
|
|
|
|
// Verify section-content is visible
|
|
const sectionContent = collectionsSection.locator('.section-content');
|
|
await expect(sectionContent).toBeVisible();
|
|
|
|
// Click on the add button in the section-actions area
|
|
const addButton = page.getByTestId('collections-header-add-menu');
|
|
await addButton.click();
|
|
|
|
// Close the dropdown
|
|
await page.keyboard.press('Escape');
|
|
|
|
// Section should still be expanded
|
|
await expect(collectionsSection).toHaveClass(/expanded/);
|
|
await expect(sectionContent).toBeVisible();
|
|
});
|
|
|
|
test('Clicking search action on collapsed collections section should expand it', async ({ page }) => {
|
|
// First, collapse the collections section by clicking on its header
|
|
const collectionsSection = page.locator('.sidebar-section').filter({ hasText: 'Collections' });
|
|
const sectionHeader = collectionsSection.locator('.section-header-left');
|
|
await sectionHeader.click();
|
|
|
|
// Verify the section is now collapsed
|
|
await expect(collectionsSection).not.toHaveClass(/expanded/);
|
|
const sectionContent = collectionsSection.locator('.section-content');
|
|
await expect(sectionContent).not.toBeVisible();
|
|
|
|
// Now click on the search action button in the collapsed section
|
|
// The search button is in section-actions with title "Search requests"
|
|
const searchButton = collectionsSection.locator('.section-actions button[title="Search requests"]');
|
|
await searchButton.click();
|
|
|
|
// The section should now be expanded
|
|
await expect(collectionsSection).toHaveClass(/expanded/);
|
|
await expect(sectionContent).toBeVisible();
|
|
});
|
|
});
|