npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@danceroutine/tango-testing

v1.10.1

Published

Testing utilities for Tango

Readme

@danceroutine/tango-testing

@danceroutine/tango-testing provides Tango's testing helpers for unit tests, integration tests, and smoke-test workflows.

This package exists because framework-level testing needs more than a handful of mocks. Once a codebase has managers, query composition, migrations, dialect differences, and real application processes, test support has to cover several levels of confidence at once. Tango keeps those helpers together so that application and framework code can move from fast isolated tests to realistic integration coverage without rebuilding the same harness machinery for every project.

Install

pnpm add -D @danceroutine/tango-testing vitest

Depending on your tests, you may also need the database driver or Tango packages your application already uses.

What kinds of testing it supports

The package spans three common testing layers:

  • lightweight mocks for fast unit tests
  • integration harnesses for database-backed query, manager, and migration tests
  • Vitest helpers and smoke-test utilities for higher-level workflows

Those layers let one package support fast unit tests, dialect-backed integration tests, and full process-level smoke tests without changing mental models between them.

Quick start

Register the Vitest helper surface:

import { beforeAll } from 'vitest';
import { registerVitestTango } from '@danceroutine/tango-testing/vitest';

beforeAll(() => {
    registerVitestTango();
});

For unit tests, you can use the mock helpers directly:

import { aManager } from '@danceroutine/tango-testing';

const manager = aManager();

Runtime-focused tests can also start from a shared config and runtime setup helper instead of rebuilding Tango config in every file:

import { aTangoConfig, setupTestTangoRuntime } from '@danceroutine/tango-testing';

const config = aTangoConfig({ adapter: 'sqlite' });
const runtime = await setupTestTangoRuntime();

aTangoConfig gives tests a stable config fixture, and setupTestTangoRuntime resets and initializes the process-default Tango runtime in one call.

For integration tests, the package exposes the TestHarness and dialect strategies that create real database-backed workflows.

Public API

The root export covers three main jobs. Mock helpers such as aDBClient, aManager, aQueryExecutor, and aModelQuerySet keep unit tests lightweight. Runtime and integration helpers such as aTangoConfig, setupTestTangoRuntime, TestHarness, and createModelQuerySetFixture support database-backed and framework-backed workflows. ModelDataFactory and the Vitest integration surface round out the package for data fixtures and test-runner setup.

The package also exposes subpaths such as mocks, factories, assertions, integration, and vitest when you want a more explicit import boundary.

Documentation

Development

pnpm --filter @danceroutine/tango-testing build
pnpm --filter @danceroutine/tango-testing typecheck
pnpm --filter @danceroutine/tango-testing test

For the wider contributor workflow, use:

License

MIT