* test cases for workspace import and validation TC-969, jira: https://usebruno.atlassian.net/browse/BRU-3575
* incorporated comments, moved findWorkspaceDirByName function to helpers.ts, fixed all the comments
* modified as per comment provided , removed css locators , used playwright inbuilt methods , handled timeout
* Created file structure as per comment provided, added tc-id , resolved code-rabbit review
* incorporated comments removed commented line, removed timeouts, modified package.json added package in dev dependencies
* changed const l to locators for better readbility
* - Reorganized test helpers: split title-bar locators into title-bar.ts and
import-workspace flow into workspace/import-workspace.ts for reuse
- Replaced brittle .bruno-modal-card/CSS locators with stable role/testid/label
based locators
- Added a data-testid for the Import Workspace modal and removed the redundant one
- Cleaned up unnecessary comments
- Updated package-lock.json
* minor changes
* minor changes
* addressed comments
* addressed comments for variable naming
* minor changes
* feat(woof): add WOOF easter egg
* refactor(woof): extract WOOF response logic into a separate utility function
* refactor: rename the response function
* fix: prevent redundant workspace switch toast
- Added an early return check in the switchWorkspace Redux action.
- Prevents unnecessary state hydration and toast notifications when a user clicks on the already active workspace.
* fix: return boolean status from switchWorkspace action to handle success and error states correctly
* revert: changes made for the switchWorkspace to check if user switchedto the already active workspace
* refactor: prevent unnecessary workspace switches and success notification logic
* Remove async from handleWorkspaceSwitch function
The 'websocket requests are visible' test calls
expect(page.locator(...)).toBeVisible() without awaiting it. A Playwright
web-first matcher returns a Promise that polls and retries until the
element matches or the timeout elapses. When the expect is not awaited the
Promise is created and immediately discarded, so the assertion never runs
and the test passes whether or not the request is visible in the sidebar.
This is the sole assertion in that test, so the test gave no real coverage.
The six other expect calls in the same file are already awaited, so this
brings the line in line with the file's own idiom.
Signed-off-by: YONGJAE LEE <dev.yongjaelee@gmail.com>
* Fix (oauth2): Postman import: OAuth2 tokenPlacement not set correctly, Header Prefix field hidden and value lost
* Add assert to persistes values
* id name change
* replace hardcoded timeout
* grant type fix
* missing keys in process auth
* process auth
Reconcile request structure against the spec on sync while preserving the
user's values (JSON body, params, headers, auth) and {{var}} references for
fields that still exist. A "Preserve values" toggle (default on) on the Spec
Updates review controls it; turning it off lets spec values overwrite. The diff
preview's EXPECTED column shows the post-merge result so unchanged values do not
render as changes.
- field-level merge for JSON body (by key path), form fields and params/headers
(by name, duplicate names paired positionally), preserving value + enabled
- {{var}} masking so interpolated bodies parse, merge and restore safely,
using a private-use sentinel that never collides with body text
- auth merged by mode: same mode keeps the user's values and adds spec-introduced
fields; a mode change takes the spec. compareRequestFields compares auth by
mode only, so preserved auth values no longer mark the collection out of sync
- preserveValues threaded through apply and diff-preview IPC handlers
- reset path left unchanged; scripts/tests/assertions preserved in sync and reset
- 67 unit tests covering the merge helpers and masking edge cases