Skip to content

Feat/1677#188

Open
conradmugabe wants to merge 7 commits into
mainfrom
feat/1677
Open

Feat/1677#188
conradmugabe wants to merge 7 commits into
mainfrom
feat/1677

Conversation

@conradmugabe

Copy link
Copy Markdown
Contributor

Checklist

  • Tests were added/updated according to the feature/bugfix/change made
  • Version was rolled according to semver requirements
  • API endpoints openapi schema was updated if applicable

Changes

conradmugabe and others added 5 commits May 12, 2026 17:56
Adds googleDriveButton, oneDriveButton, and dropboxButton helpers on
DatasetsTab. Each takes the Add Resources modal locator and returns the
corresponding provider button via getByRole. Used by the upcoming
journey 44 cloud picker tests.

The CHANGELOG.md changes are an unavoidable side-effect of the pre-commit
prettier sweep, which normalizes Markdown bullets from `*` to `-`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Journey 44 (Dataset Cloud Pickers, 3 checkpoints) — asserts the
  Google Drive, OneDrive, and Dropbox buttons each open their auth
  popup at the expected provider domain.
- Journey 45 (Dataset Upload Types, 8 checkpoints) — uploads a real
  fixture file for each local-upload resource type (PowerPoint, DOCX,
  CSV, TXT, Audio, Video, Image, Excel) and asserts the row appears.

Bumps summary totals: 44->46 journeys, 43->45 active, 375->386 total
checkpoints, 363->374 covered.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds e2e/files/testing_folder/test-data.xlsx — same 11 rows (1 header,
10 data) as the existing test-data.csv fixture, but in .xlsx form so
the Excel upload path can be exercised by journey 45.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds journey 44 with 3 tests covering the Add Resources modal's cloud
provider buttons. Each test creates a fresh mentor, opens the Datasets
tab, opens the Add Resources modal, and clicks the provider button.

The test then waits for the third-party SDK to be loaded
(window.gapi / window.OneDrive / window.Dropbox) before clicking — the
Dropbox hook silently no-ops if its SDK isn't ready, so this guard
makes the test deterministic. After the click, page.waitForEvent('popup')
captures the popup and popup.waitForURL polls past the SDK's intermediate
redirect URL until the popup reaches the expected provider domain:

- Google Drive  -> accounts.google.com
- OneDrive      -> login.microsoftonline.com
- Dropbox       -> www.dropbox.com/chooser

If the popup never opens or never reaches the provider domain the test
fails loudly — that is exactly the regression #1677 exists to catch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds journey 45 with 8 tests, one per local-upload resource type
(PowerPoint, DOCX, CSV, TXT, Audio, Video, Image, Excel). Each test
creates a fresh mentor via createMentorPage.openAndCreate() so the
upload is made against a clean dataset list — pre-existing rows from
other tests can't mask a missing upload.

Tests reuse the existing DatasetsTab.uploadFile(filePath, resourceType)
page-object helper (the same one used by journey 20's CSV and Markdown
tests) and assert the uploaded filename appears as a row in the dataset
list within 15s. A failed upload results in no row and an immediate
hard-fail — no try/catch, no `|| true`, no soft assertions.

Per-test timeout raised to 200_000 ms to accommodate mentor creation +
the slower uploads (video, PowerPoint).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@conradmugabe conradmugabe requested a review from mamigot as a code owner May 12, 2026 16:09
@mamigot

mamigot commented May 12, 2026

Copy link
Copy Markdown
Member

Claude finished @conradmugabe's task —— View job


E2E Coverage Review ✅

Completed e2e test coverage review for this PR.

Todo List

  • Dismiss stale REQUEST_CHANGES reviews from myself
  • Identify what changed (git diff vs origin/main)
  • Run mechanical coverage check
  • Read current coverage state (coverage.json and COVERAGE.md)
  • Apply decision logic and determine case
  • Post appropriate GitHub review (approve or request-changes)

Analysis

Changed files:

  • CHANGELOG.md (modified)
  • e2e/COVERAGE.md (modified)
  • e2e/coverage.json (modified)
  • e2e/files/testing_folder/test-data.xlsx (new test fixture)
  • e2e/journeys/45-dataset-cloud-pickers.spec.ts (new journey)
  • e2e/journeys/46-dataset-upload-types.spec.ts (new journey)
  • e2e/page-objects/edit-mentor/datasets.tab.ts (modified)

Coverage check results:PASSED

  • Coverage improved: 387 → 398 checkpoints (+11)
  • Journey coverage: 24/24 files mapped (100%)
  • No new app routes introduced

Case determination: Case E - No new page.tsx files and mechanical check PASSED

Coverage verification

  • Journey 45 (Dataset Cloud Pickers): 3 tests covering cloud picker OAuth flows
  • Journey 46 (Dataset Upload Types): 8 tests covering different file upload types
  • Both journeys properly documented in coverage.json and COVERAGE.md
  • Test specs align with coverage entries

Decision

✅ APPROVED - No new app routes were introduced. All existing coverage is intact and enhanced with new journey tests.


@mamigot mamigot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

✅ E2E Coverage — No Issues

No new app routes were introduced. All existing coverage is intact.

Coverage improved: 387 → 398 checkpoints (+11)

  • Journey 45: Dataset Cloud Pickers (3 tests)
  • Journey 46: Dataset Upload Types (8 tests)

Coverage files are properly updated and all tests are documented correctly.

@mamigot

mamigot commented May 15, 2026

Copy link
Copy Markdown
Member

Claude finished @conradmugabe's task —— View job


E2E Coverage Review ✅

Completed e2e test coverage review for this PR.

Todo List

  • Dismiss stale REQUEST_CHANGES reviews from myself
  • Identify what changed (git diff vs origin/main)
  • Run mechanical coverage check
  • Read current coverage state (coverage.json and COVERAGE.md)
  • Apply decision logic and determine case
  • Post appropriate GitHub review (approve or request-changes)

Analysis

Changed files:

  • CHANGELOG.md (modified)
  • e2e/COVERAGE.md (modified)
  • e2e/coverage.json (modified)
  • e2e/files/testing_folder/test-data.xlsx (new test fixture)
  • e2e/journeys/45-dataset-cloud-pickers.spec.ts (new journey)
  • e2e/journeys/46-dataset-upload-types.spec.ts (new journey)
  • e2e/page-objects/edit-mentor/datasets.tab.ts (modified)

Coverage check results:PASSED

  • Coverage improved: 387 → 398 checkpoints (+11)
  • Journey coverage: 24/24 files mapped (100%)
  • No new app routes introduced

Case determination: Case E - No new page.tsx files and mechanical check PASSED

Coverage verification

  • Journey 45 (Dataset Cloud Pickers): 3 tests covering cloud picker OAuth flows
  • Journey 46 (Dataset Upload Types): 8 tests covering different file upload types
  • Both journeys properly documented in coverage.json and COVERAGE.md
  • Test specs align with coverage entries

Decision

✅ APPROVED - No new app routes were introduced. All existing coverage is intact and enhanced with new journey tests.

@mamigot mamigot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

✅ E2E Coverage — No Issues

No new app routes were introduced. All existing coverage is intact and enhanced with new journey tests.

Coverage improved: 387 → 398 checkpoints (+11)

  • Journey 45: Dataset Cloud Pickers (3 tests)
  • Journey 46: Dataset Upload Types (8 tests)

Coverage files are properly updated and all tests are documented correctly.

@conradmugabe conradmugabe self-assigned this May 18, 2026
@conradmugabe conradmugabe added the run-tests Trigger PR validation pipeline label May 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run-tests Trigger PR validation pipeline

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants