Skip to content

feat(wallets): add a wallet list for wallet-admin users - #1240

Merged
dadiorchen merged 2 commits into
Greenstand:keycloakfrom
samwel141:feat-wallet-list-1239
Oct 1, 2026
Merged

dadiorchen merged 2 commits into
Greenstand:keycloakfrom
samwel141:feat-wallet-list-1239

Conversation

@samwel141

@samwel141 samwel141 commented Sep 24, 2026 •

Copy link
Copy Markdown

Closes #1239

Adds a Wallets page to the admin panel: a menu item visible to the wallet-admin role, opening a list of every wallet with search, sort and pagination. This satisfies the scenario in features/wallet/admin.feature.

Change

  • One entry in getRoutes, which is both the menu item and the route, gated like every other entry.
  • WalletsView follows OrganizationsView: react-query, a table that falls back to cards on small screens, debounced search, pagination.
  • New REACT_APP_WALLET_API_ROOT pointing at the keycloak build of the wallet-api.

Depends on

Verification

  • 198 tests passing across 33 suites, including 5 new WalletsView tests.
  • npm run lint clean, npm run build:dev succeeds.
  • BDD: features/wallet/admin.feature un-skipped and passing, 6 steps against the dev bdd-wallet-admin account. Report and video committed.

@samwel141
samwel141 requested a review from a team as a code owner September 24, 2026 11:39
@dadiorchen

Copy link
Copy Markdown
Collaborator

@samwel141 did you run the BDD and pass? Please make sure BDD passes for this feature.

Also, run bdd test/report to generate new report and video, and push them up, for this repo, we manually upload BDD video and we will avoid this in the future.

@samwel141

samwel141 commented Sep 28, 2026 •

Copy link
Copy Markdown
Author

@dadiorchen
Done, 6 steps passing against dev, report and video pushed following the convention in previous commits.

But now it is 5,113 files and GitHub cannot compute the diff, so the Files tab shows nothing and the code can only be reviewed by pulling locally.

Keep it that way, or move the BDD into its own PR?

@dadiorchen

Copy link
Copy Markdown
Collaborator

@samwel141 can you double check the video recorded the new feature? I can not find it in the run.mp4

test-run.mp4

Implements features/wallet/admin.feature: a Wallets menu item visible to
the wallet-admin role, opening a list of every wallet.

Menu items and routes are the same array, so one entry in getRoutes gives
both, gated the same way every other entry is. The view follows
OrganizationsView: react-query, a table that falls back to cards on small
screens, debounced search and pagination.

Reads GET /admin/wallets on the keycloak build of the wallet-api, through
a new REACT_APP_WALLET_API_ROOT. v2 is not usable here: it sits behind an
API key, which a browser app cannot hold without publishing it, and its
wallet listing is scoped to the caller's own wallet rather than to every
wallet.

BDD: adds the one missing step and its page object. The scenario stays
skipped because dev has no wallet-admin account yet; set
BDD_WALLET_ADMIN_USERNAME and BDD_WALLET_ADMIN_PASSWORD and drop the tag
to run it.

Closes Greenstand#1239
Removes @Skip from features/wallet/admin.feature and adds the dev
bdd-wallet-admin account alongside the other roles.

The wallet list step waited on the container, which is on screen while
the request is still in flight, so it would have passed on an empty or
failing list. It now waits for the wallets themselves.

6 steps passing against dev. The video is at
reports/video/wallet-admin/run.mp4 and ends on the loaded wallet table.

Needs Greenstand#1245 to record correctly,
without which the video shows whichever feature ran last.
@samwel141
samwel141 force-pushed the feat-wallet-list-1239 branch from 89ceab9 to 5c91929 Compare September 30, 2026 08:16
@samwel141

samwel141 commented Sep 30, 2026 •

Copy link
Copy Markdown
Author

@dadiorchen
Yes, and it was not just the video. The capture wrote to one fixed file, reports/video/test-run.mp4, so every run overwrote it and you were seeing whichever feature ran last. The frames directory was never cleared either, and
frames were sampled on a timer that missed the screens the test proves.

Fixed in #1245: videos now go to reports/video/<spec>/run.mp4.

Re-ran on top of that. The video is at reports/video/wallet-admin/run.mp4 and ends on the wallet list with rows loaded. I also tightened the step, which used to pass while the list was still a spinner.

@dadiorchen
dadiorchen merged commit 3794e13 into Greenstand:keycloak Oct 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants