tcmts.cli.test.e2e.registry

registryOn (keep: Keep, net: FakeAtproto, { base }?: { base?: string | undefined; }) => Promise<{ url: string;…
`tcm registry` run on the fake network, reading Jetstream every 2 seconds, until the test ends: its address (at 127.0.0.1, where a loopback OAuth client comes back to), `until` (waiting for something, saying what the registry said if it doesn't happen), and `page` (a page's HTML, without the markers server rendering puts between adjacent text). With `base`, it runs under that path, behind `tcm serve --proxy` (as tcm's own does, at tcm.codes/registry), listening on IPv6 (as on Railway's private network): `url` is the registry's under the server, and `own` the registry's own address.
testRegistryShowsAnnouncedLibraries () => Promise<void>
`tcm registry`: the registry tcm ships, run on its own, finds announced releases (from the relay, then Jetstream), checks each against its author's signed record, mirrors its code, and shows it: the activity feed, the libraries, a library's page and tabs, what changed between versions, search, a person's page, and its code in the forge's pages. Yanked by its author, a version leaves the lists, search and its picker (the newest left is latest), and a library whose every version is yanked isn't listed, its page saying why; the yanks stay in the feed.
testRegistrySignInAndStars () => Promise<void>
Signing in to the registry, in Chrome: a visitor signs in with AT Protocol OAuth from the page (the fake network says yes at once), stars a library (a record in their own repository, which the registry checks and counts), and sees what people they follow did and what happened to the libraries they use (those in a codebase they give the registry); signed out, the filters aren't offered and the star asks them to sign in. The registry runs under /registry behind `tcm serve --proxy`, as tcm's own does at tcm.codes/registry: its pages, assets, API and sign-in all under the path.