Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
latest
fedify-dev/fedifyTesting utilities for Fedify applications
This package works with Cloudflare Workers, Node.js, Deno, Bun



JSR Score
100%
Published
2 days ago (1.10.0)
@fedify/testing
Testing utilities for Fedify applications.
This package provides mock implementations of the Federation and Context
interfaces to facilitate unit testing of federated applications built with
Fedify.
Installation
deno add @fedify/testing
npm install @fedify/testing
pnpm add @fedify/testing
yarn add @fedify/testing
Usage
MockFederation
The MockFederation class provides a mock implementation of the Federation
interface for unit testing:
import { MockFederation } from "@fedify/testing"; import { Create } from "@fedify/fedify/vocab"; // Create a mock federation const federation = new MockFederation<{ userId: string }>(); // Set up inbox listeners federation .setInboxListeners("/users/{identifier}/inbox") .on(Create, async (ctx, activity) => { console.log("Received:", activity); }); // Simulate receiving an activity await federation.receiveActivity(createActivity); // Check sent activities const sent = federation.sentActivities; console.log(sent[0].activity);
MockContext
The MockContext class provides a mock implementation of the Context
interface:
import { MockContext } from "@fedify/testing"; // Create a mock context const context = new MockContext({ url: new URL("https://example.com"), data: { userId: "test-user" }, federation: mockFederation }); // Send an activity await context.sendActivity( { identifier: "alice" }, recipient, activity ); // Check sent activities const sent = context.getSentActivities(); console.log(sent[0].activity);
Helper functions
The package also exports helper functions for creating various context types:
createContext(): Creates a basic contextcreateRequestContext(): Creates a request contextcreateInboxContext(): Creates an inbox context
Features
- Track sent activities with metadata
- Simulate activity reception
- Configure custom URI templates
- Test queue-based activity processing
- Mock document loaders and context loaders
Built and signed on
GitHub Actions
Add Package
deno add jsr:@fedify/testing
Import symbol
import * as testing from "@fedify/testing";
Import directly with a jsr specifier
import * as testing from "jsr:@fedify/testing";
Add Package
pnpm i jsr:@fedify/testing
pnpm dlx jsr add @fedify/testing
Import symbol
import * as testing from "@fedify/testing";
Add Package
yarn add jsr:@fedify/testing
yarn dlx jsr add @fedify/testing
Import symbol
import * as testing from "@fedify/testing";
Add Package
vlt install jsr:@fedify/testing
Import symbol
import * as testing from "@fedify/testing";
Add Package
npx jsr add @fedify/testing
Import symbol
import * as testing from "@fedify/testing";
Add Package
bunx jsr add @fedify/testing
Import symbol
import * as testing from "@fedify/testing";