Satoshi Qazi Muhammed 533a17e88e Integration specs: node:test module mocks instead of jest.mock
The account, address, sidebar and bounties specs replaced hooks with
jest.mock, which the node:test runner does not have, so all five failed
to load and were excluded from yarn test. They now register mocks with
mock.module from node:test and import the page under test afterwards,
since Node only swaps a module that has not been loaded yet.

- test-support/mocks: mockPageHooks() replaces the hooks a Page reads.
  An ES module mock replaces every export, so each mock lists them all
  (useBestNumber's useBestNumberRelay included). The real useAccountInfo
  is wrapped, typed now, with the fixture identity merged in a typed
  helper.
- The page-specific mocks live with their page: useMultisigApprovals in
  page-accounts/test, useAddresses in page-addresses/test.
- jest-dom matchers were never registered for this runner; specs and
  page elements use assertHasClass, assertTextContent and assertVisible
  from test-support, with the same meaning.
- Page's mock api gains apiIdentity, which useAccountInfo reads.
- The bounties voting tooltip renders hidden and fades in, so the spec
  waits for it to become visible.
- jest/expect-expect counts the assert* helpers as assertions; the
  disable comments that only existed for that are removed.

Create and Bounties run green. Accounts, Addresses and Sidebar load and
stay skipped as upstream left them (their FIXMEs are about the reworked
tables). Needs @pezkuwi/dev 0.86.6 for the module mocks flag and the
fuller browser env.
2026-10-10 09:10:20 +04:00
2026-10-08 12:06:45 +04:00
2026-01-08 02:11:31 +03:00
2026-01-18 04:24:49 +03:00

@pezkuwi/apps

A Portal into the Pezkuwi and Bizinikiwi networks. Provides a view and interaction layer from a browser.

It is hosted at https://apps.pezkuwichain.io to explore any of the supported Pezkuwi and Bizinikiwi chains.

Important If you are a chain developer and would like to add support for your chain to the UI, all the local configuration (API types, settings, logos) can be customized in the apps-config package, complete with instructions of what goes where.

Overview

The repo is split into a number of packages, each representing an application.

Development

Contributions are welcome!

To start off, this repo (along with others in the @pezkuwi family) uses yarn workspaces to organize the code. As such, after cloning dependencies should be installed via yarn, not via npm, the latter will result in broken dependencies.

To get started -

  1. Clone the repo locally, via git clone https://github.com/pezkuwichain/pezkuwi-apps <optional local path>
  2. Ensure that you have a recent LTS version of Node.js, for development purposes Node >= 16 is recommended.
  3. Ensure that you have a recent version of Yarn, for development purposes Yarn >= 1.22 is required.
  4. Install the dependencies by running yarn install --frozen-lockfile
  5. Ready! Now you can launch the UI (assuming you have a local Pezkuwi Node running), via yarn run start
  6. Access the UI via http://localhost:3000

Docker

To build and run a container with local changes -

docker build -t pezkuwi-apps -f docker/Dockerfile .
docker run --rm -it --name pezkuwi-ui -e WS_URL=ws://someip:9944 -p 80:80 pezkuwi-apps

The UI is then at http://localhost:80 (or just http://localhost)

S
Description
No description provided
Readme Apache-2.0
47 MiB
1 Watchers 0 Forks
Languages
TypeScript 99.7%
JavaScript 0.2%
Shell 0.1%