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();
});
});