diff --git a/packages/bruno-app/src/components/RequestPane/GrpcBody/index.js b/packages/bruno-app/src/components/RequestPane/GrpcBody/index.js index 052694c39..47845111d 100644 --- a/packages/bruno-app/src/components/RequestPane/GrpcBody/index.js +++ b/packages/bruno-app/src/components/RequestPane/GrpcBody/index.js @@ -30,7 +30,7 @@ const MessageToolbar = ({ return (
Message {index + 1} -
+
@@ -266,6 +267,7 @@ const GrpcBody = ({ item, collection, handleRun }) => {
1 ? 'multi' : 'single'}`} > {messagesToShow.map((message, index) => ( @@ -292,6 +294,7 @@ const GrpcBody = ({ item, collection, handleRun }) => { size="sm" fullWidth icon={} + data-testid="grpc-add-message-button" > Add Message diff --git a/packages/bruno-app/src/components/TagList/StyledWrapper.js b/packages/bruno-app/src/components/TagList/StyledWrapper.js index dffbcae51..efb5daacd 100644 --- a/packages/bruno-app/src/components/TagList/StyledWrapper.js +++ b/packages/bruno-app/src/components/TagList/StyledWrapper.js @@ -27,7 +27,7 @@ const StyledWrapper = styled.div` &:has(.tag-remove:hover) { background-color: ${(props) => props.theme.background.surface2}; - border-color: ${(props) => props.theme.requestTabs.active.border || props.theme.requestTabs.bottomBorder}; + border-color: ${(props) => props.theme.requestTabs.bottomBorder}; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); transform: translateY(-1px); } diff --git a/tests/grpc/make-request/make-request.spec.ts b/tests/grpc/make-request/make-request.spec.ts index 3aa630618..23cf45d9d 100644 --- a/tests/grpc/make-request/make-request.spec.ts +++ b/tests/grpc/make-request/make-request.spec.ts @@ -88,7 +88,7 @@ test.describe('make grpc requests', () => { await test.step('verify response items are rendered', async () => { await expect(locators.response.content()).toBeVisible(); await expect(locators.response.container()).toBeVisible(); - await expect(locators.response.accordion()).toBeVisible(); + await expect(locators.response.list()).toBeVisible(); await expect(locators.response.responseItems()).toHaveCount(10); }); @@ -190,7 +190,7 @@ test.describe('make grpc requests', () => { await test.step('verify response items are rendered', async () => { await expect(locators.response.content()).toBeVisible(); await expect(locators.response.container()).toBeVisible(); - await expect(locators.response.accordion()).toBeVisible(); + await expect(locators.response.list()).toBeVisible(); await expect(locators.response.responseItems()).toHaveCount(2); }); diff --git a/tests/request/save/save.spec.ts b/tests/request/save/save.spec.ts index 57a8bf978..71f56422d 100644 --- a/tests/request/save/save.spec.ts +++ b/tests/request/save/save.spec.ts @@ -4,8 +4,8 @@ import { buildCommonLocators } from '../../utils/page/locators'; import { waitForPredicate } from '../../utils/wait'; const isRequestSaved = async (saveButton: Locator) => { - const savedColor = '#9f9f9f'; - return (await saveButton.evaluate((d) => d.querySelector('svg')?.getAttribute('stroke') ?? '#invalid')) === savedColor; + // Saved state uses the className cursor-default; unsaved uses cursor-pointer. + return await saveButton.locator('svg').evaluate((node) => (node as HTMLElement).classList.contains('cursor-default')); }; const setup = async (page: Page, createTmpDir: (tag?: string | undefined) => Promise) => { @@ -61,13 +61,13 @@ test.describe.serial('save requests', () => { await page.keyboard.insertText(replacementUrl); // check if the request is now unsaved - expect(await isRequestSaved(locators.saveButton())).toBe(false); + await expect(await isRequestSaved(locators.saveButton())).toBe(false); // trigger a save locators.saveButton().click(); // Wait for it to be saved const result = await waitForPredicate(() => isRequestSaved(locators.saveButton())); - expect(result).toBe(true); + await expect(result).toBe(true); }); }); diff --git a/tests/utils/page/locators.ts b/tests/utils/page/locators.ts index 215e9a005..4fb25b96e 100644 --- a/tests/utils/page/locators.ts +++ b/tests/utils/page/locators.ts @@ -195,7 +195,7 @@ export const buildGrpcCommonLocators = (page: Page) => ({ content: () => page.getByTestId('grpc-response-content'), container: () => page.getByTestId('grpc-responses-container'), singleResponse: () => page.getByTestId('grpc-single-response'), - accordion: () => page.getByTestId('grpc-responses-accordion'), + list: () => page.getByTestId('grpc-responses-list'), responseItem: (index: number) => page.getByTestId(`grpc-response-item-${index}`), responseItems: () => page.locator('[data-testid^="grpc-response-item-"]'), tabCount: () => page.getByTestId('tab-response-count') diff --git a/tests/websockets/persistence.spec.ts b/tests/websockets/persistence.spec.ts index 29ebabe62..e5f1c7d7c 100644 --- a/tests/websockets/persistence.spec.ts +++ b/tests/websockets/persistence.spec.ts @@ -8,8 +8,8 @@ const BRU_REQ_NAME = /^base$/; // TODO: reaper move to someplace common const isRequestSaved = async (saveButton: Locator) => { - const savedColor = '#9f9f9f'; - return (await saveButton.evaluate((d) => d.querySelector('svg')?.getAttribute('stroke') ?? '#invalid')) === savedColor; + // Saved state uses the className cursor-default; unsaved uses cursor-pointer. + return await saveButton.locator('svg').evaluate((node) => (node as HTMLElement).classList.contains('cursor-default')); }; test.describe.serial('persistence', () => { @@ -55,14 +55,14 @@ test.describe.serial('persistence', () => { await page.keyboard.insertText(replacementUrl); // check if the request is now unsaved - expect(await isRequestSaved(locators.saveButton())).toBe(false); + await expect(await isRequestSaved(locators.saveButton())).toBe(false); await locators.saveButton().click(); const result = await waitForPredicate(() => isRequestSaved(locators.saveButton())); - expect(result).toBe(true); + await expect(result).toBe(true); // check if the replacementUrl is now visually available - expect(page.locator('.input-container').filter({ hasText: replacementUrl }).first()).toBeAttached(); + await expect(page.locator('.input-container').filter({ hasText: replacementUrl }).first()).toBeAttached(); }); });