Skip to content

Conversation

@iskvortsov
Copy link
Contributor

@iskvortsov iskvortsov commented Feb 10, 2026

TaskWPB-21646 [Web] Search files in Conversation

Pull Request

Summary

https://wearezeta.atlassian.net/browse/WPB-21646

  • Added clearing of search input query to handle retries in search files in a conversation test TC-8788

Security Checklist (required)

  • External inputs are validated & sanitized on client and/or server where applicable.
  • API responses are validated; unexpected shapes are handled safely (fallbacks or errors).
  • No unsafe HTML is rendered; if unavoidable, sanitization is applied and documented where it happens.
  • Injection risks (XSS/SQL/command) are prevented via safe APIs and/or escaping.

Accessibility (required)

Standards Acknowledgement (required)


Screenshots or demo (if the user interface changed)

Notes for reviewers

  • Trade-offs:
  • Follow-ups (linked issues):
  • Linked PRs (e.g. web-packages):

thisisamir98 and others added 30 commits January 6, 2026 14:59
…rsationFiles.page.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rsation.page.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rsation.page.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rsation.page.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rsation.page.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…sInGroupConversation-TC-8788.spec.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…sInGroupConversation-TC-8788.spec.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…sInGroupConversation-TC-8788.spec.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…sInGroupConversation-TC-8788.spec.ts

Co-authored-by: Mark Brockhoff <95471369+markbrockhoff@users.noreply.github.com>
iskvortsov and others added 13 commits February 2, 2026 14:24
…rsation-TC-8788.spec.ts

Co-authored-by: Mark Brockhoff <95471369+markbrockhoff@users.noreply.github.com>
…rsation-TC-8788.spec.ts

Co-authored-by: Mark Brockhoff <95471369+markbrockhoff@users.noreply.github.com>
…rsation-TC-8788.spec.ts

Co-authored-by: Mark Brockhoff <95471369+markbrockhoff@users.noreply.github.com>
…rsation-TC-8788.spec.ts

Co-authored-by: Mark Brockhoff <95471369+markbrockhoff@users.noreply.github.com>
…rsation.page.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rsation.page.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds/updates Drive-related Playwright E2E coverage to improve reliability around searching files in a Cells-enabled group conversation (WPB-21646), including support utilities/page objects to make the assertions and retries more robust.

Changes:

  • Added a new E2E spec for searching files in a group conversation (TC-8788), including clearing the search query between checks.
  • Updated Cells page objects to support file search and multipart (image/video) asset locators; adjusted existing Drive specs accordingly.
  • Minor E2E maintenance: export VideoFileName, fix fixtures import paths in Drive specs, and correct the README env-inject command path.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
apps/webapp/test/e2e_tests/utils/asset.util.ts Exports VideoFileName for reuse in specs.
apps/webapp/test/e2e_tests/specs/Drive/uploadingFileInGroupConversation-TC-8785.spec.ts Fixes fixtures import path; improves assertions/selectors and tags.
apps/webapp/test/e2e_tests/specs/Drive/searchFilesInGroupConversation-TC-8788.spec.ts New spec covering file search in group conversation + query clearing.
apps/webapp/test/e2e_tests/specs/Drive/replyingToMultipartMessage-TC-8787.spec.ts Fixes fixtures import path.
apps/webapp/test/e2e_tests/specs/Drive/editMultipartMessage-TC-8786.spec.ts Fixes fixtures import path.
apps/webapp/test/e2e_tests/pageManager/webapp/pages/conversation.page.ts Makes getImageLocator public for direct test assertions.
apps/webapp/test/e2e_tests/pageManager/webapp/cells/cellsConversationFiles.page.ts Adds search input locator + searchFile(); replaces click helper with getFile().
apps/webapp/test/e2e_tests/pageManager/webapp/cells/cellsConversation.page.ts Refines image locator strategy; adds multipart image/video locators.
apps/webapp/test/e2e_tests/README.md Updates op inject paths to match repo structure.

Comment on lines 89 to 90
await expect(userBPages.cellsConversationFiles().filesList).toHaveCount(1, {timeout: 500});
await expect(userBPages.cellsConversationFiles().getFile(VideoFileName)).toBeVisible({timeout: 500});
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Important] - The retry block uses very short per-assertion timeouts (500ms) immediately after filling the search input. In the app, file search is debounced (300ms) and requires a network request, so 500ms can be too tight and make this test flaky even when indexing is fine.

Consider removing the {timeout: 500} overrides (use default expect timeouts) or increasing them while keeping the outer .toPass({timeout: ...}) as the overall cap.

Suggested change
await expect(userBPages.cellsConversationFiles().filesList).toHaveCount(1, {timeout: 500});
await expect(userBPages.cellsConversationFiles().getFile(VideoFileName)).toBeVisible({timeout: 500});
await expect(userBPages.cellsConversationFiles().filesList).toHaveCount(1);
await expect(userBPages.cellsConversationFiles().getFile(VideoFileName)).toBeVisible();

Copilot uses AI. Check for mistakes.
export class CellsConversationFilesPage {
readonly page: Page;
readonly filesList: Locator;
filesList: Locator;
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Suggestion] - filesList was changed from readonly to mutable, but it’s never reassigned after construction.

Keeping it readonly prevents accidental reassignment and matches the rest of the Page Object pattern in this folder.

Suggested change
filesList: Locator;
readonly filesList: Locator;

Copilot uses AI. Check for mistakes.
@codecov
Copy link

codecov bot commented Feb 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 45.17%. Comparing base (508f97c) to head (25321f8).
⚠️ Report is 2 commits behind head on dev.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev   #20377   +/-   ##
=======================================
  Coverage   45.17%   45.17%           
=======================================
  Files        1633     1633           
  Lines       40241    40241           
  Branches     8324     8324           
=======================================
  Hits        18177    18177           
  Misses      20137    20137           
  Partials     1927     1927           
Flag Coverage Δ
app_webapp 43.33% <0.00%> (ø)
lib_api_client 50.17% <0.00%> (ø)
lib_core 58.86% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 10, 2026

🔗 Download Full Report Artifact

🧪 Playwright Test Summary

  • Passed: 9
  • Failed: 1
  • Skipped: 4
  • 🔁 Flaky: 0
  • 📊 Total: 14
  • Total Runtime: 90.3s (~ 1 min 30 sec)
specs/CriticalFlow/oneOnOneCall-TC-8754.spec.ts (❌ 1 failed, ⚠️ 0 flaky)
  • ❌ 1:1 Video call with device switch and screenshare (tags: TC-8754, crit-flow-web)

Copilot AI review requested due to automatic review settings February 10, 2026 14:30
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants