mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-14 11:21:30 +00:00
* style: enhance button layout and input styles across multiple components for improved UI consistency * style: update RequestsNotLoaded component with new warning styles and enhance theme color definitions for status indicators * refactor: update theme usage across components for consistency - Changed color references from theme.brand to theme.primary.text in various StyledWrapper components. - Added hover effects to enhance UI interactivity in CollectionSettings and FolderSettings. - Removed unnecessary margin and padding adjustments in several components for cleaner layout. - Improved accessibility by ensuring aria attributes are correctly set in MenuDropdown. - Standardized styling for method indicators in RequestPane components. These changes aim to create a more cohesive look and feel across the application while adhering to the updated theme guidelines. * refactor: clean up method selector styling in NewRequest component * chore: temp playwright test fixes * refactor: update modal sizes across various components for consistency - Changed modal size from "sm" to "md" in RenameWorkspace, CreateApiSpec, CloneCollection, DeleteCollectionItem, and RenameCollection components. - Improved styling in HttpMethodSelector by adding padding for better layout. - Updated theme color references in multiple theme files to use a new palette structure for consistency and maintainability. * refactor: enhance styling and theme integration in TimelineItem components - Updated HttpMethodSelector to clarify padding calculation in comments. - Integrated theme colors for OAuth2 indicator and timestamp in TimelineItem for better visual consistency. - Adjusted Method component to use uppercase styling for method display. - Modified RelativeTime component to apply muted text color for improved readability. - Updated INFO color in dark and light themes for better contrast and accessibility. * refactor: remove duplicate import statements in theme files - Cleaned up import statements in vscode.js and light-pastel.js by removing redundant lines for improved code clarity and maintainability. * refactor: improve styling and theme integration in various components - Added accent color and cursor style for checkbox inputs in Modal's StyledWrapper. - Updated border-radius values in HttpMethodSelector and NewRequest StyledWrapper components to use theme variables for consistency. - Introduced a new textbox class in NewRequest StyledWrapper for better styling control. - Changed modal size from "sm" to "md" in CreateEnvironment for improved layout. --------- Co-authored-by: Bijin A B <bijin@usebruno.com>
79 lines
2.9 KiB
TypeScript
79 lines
2.9 KiB
TypeScript
import { test, expect } from '../../../playwright';
|
|
import { closeAllCollections, createCollection, createRequest } from '../../utils/page';
|
|
|
|
test.describe('Code Generation URL Encoding', () => {
|
|
test.afterEach(async ({ page }) => {
|
|
try {
|
|
const modalCloseButton = page.getByTestId('modal-close-button');
|
|
if (await modalCloseButton.isVisible()) {
|
|
await modalCloseButton.click();
|
|
await modalCloseButton.waitFor({ state: 'hidden' });
|
|
}
|
|
} catch (e) {}
|
|
|
|
await closeAllCollections(page);
|
|
});
|
|
|
|
test('Should generate code with proper URL encoding for unencoded input', async ({
|
|
page,
|
|
createTmpDir
|
|
}) => {
|
|
const collectionName = 'unencoded-test-collection';
|
|
const requestName = 'curl-encoding-unencoded';
|
|
|
|
// Create collection and request
|
|
await createCollection(page, collectionName, await createTmpDir(collectionName));
|
|
await createRequest(page, requestName, collectionName, { url: 'http://base.source?name=John Doe' });
|
|
|
|
// Click the request in the sidebar
|
|
await page.locator('.collection-item-name').filter({ hasText: requestName }).first().click();
|
|
|
|
await page.locator('#send-request .infotip').first().click();
|
|
|
|
await expect(page.getByRole('dialog')).toBeVisible();
|
|
await expect(page.getByRole('dialog').locator('.bruno-modal-header-title')).toContainText('Generate Code');
|
|
|
|
const codeEditor = page.locator('.editor-content .CodeMirror').first();
|
|
await expect(codeEditor).toBeVisible();
|
|
|
|
const generatedCode = await codeEditor.textContent();
|
|
|
|
expect(generatedCode).toContain('http://base.source/?name=John%20Doe');
|
|
|
|
await page.getByTestId('modal-close-button').click();
|
|
|
|
await page.getByTestId('modal-close-button').waitFor({ state: 'hidden' });
|
|
});
|
|
|
|
test('Should generate code with proper URL encoding for encoded input', async ({
|
|
page,
|
|
createTmpDir
|
|
}) => {
|
|
const collectionName = 'encoded-test-collection';
|
|
const requestName = 'curl-encoding-encoded';
|
|
|
|
// Create collection and request
|
|
await createCollection(page, collectionName, await createTmpDir(collectionName));
|
|
await createRequest(page, requestName, collectionName, { url: 'http://base.source?name=John%20Doe' });
|
|
|
|
// Click the request in the sidebar
|
|
await page.locator('.collection-item-name').filter({ hasText: requestName }).first().click();
|
|
|
|
await page.locator('#send-request .infotip').first().click();
|
|
|
|
await expect(page.getByRole('dialog')).toBeVisible();
|
|
await expect(page.getByRole('dialog').locator('.bruno-modal-header-title')).toContainText('Generate Code');
|
|
|
|
const codeEditor = page.locator('.editor-content .CodeMirror').first();
|
|
await expect(codeEditor).toBeVisible();
|
|
|
|
const generatedCode = await codeEditor.textContent();
|
|
|
|
expect(generatedCode).toContain('http://base.source/?name=John%20Doe');
|
|
|
|
await page.getByTestId('modal-close-button').click();
|
|
|
|
await page.getByTestId('modal-close-button').waitFor({ state: 'hidden' });
|
|
});
|
|
});
|