New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@dependabit/test-utils

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dependabit/test-utils

Shared testing utilities for the monorepo

latest
Source
npmnpm
Version
0.1.14
Version published
Maintainers
1
Created
Source

@dependabit/test-utils

Shared testing utilities for the monorepo using Vitest.

Features

  • Mock utilities - Create mocks and spies
  • Test fixtures - Pre-built test data
  • API helpers - Mock API responses
  • Type-safe - Full TypeScript support

Installation

pnpm add -D @dependabit/test-utils

Usage

Creating Test Data

import { createMockUser, createMockEmail, createMockApiResponse } from '@dependabit/test-utils';

// Create a mock user
const user = createMockUser({ name: 'Alice' });

// Create a mock email
const email = createMockEmail({ to: 'alice@example.com' });

// Create a mock API response
const response = createMockApiResponse({ status: 201 });

Mocking Functions

import { createMockFn, spyOn } from '@dependabit/test-utils';

// Create a mock function
const mockFn = createMockFn();
mockFn.mockResolvedValue({ id: 1 });

// Spy on console
const consoleSpy = spyOn(console, 'log');
console.log('test');
expect(consoleSpy).toHaveBeenCalledWith('test');

Working with Time

import { createMockTimer } from '@dependabit/test-utils';

it('should handle timeouts', () => {
  const timer = createMockTimer();

  setTimeout(() => {
    doSomething();
  }, 1000);

  timer.advanceTimersByTime(1000);
  timer.restore();
});

Mocking Fetch

import { mockFetch } from '@dependabit/test-utils';

it('should fetch data', async () => {
  mockFetch('/api/users', { success: true });

  const response = await fetch('/api/users');
  const data = await response.json();

  expect(data.success).toBe(true);
});

API

Mock Functions

  • createMockFn(): Mock - Create a mock function

Spies

  • spyOn<T, K>(obj: T, method: K): Spy - Spy on object method

Timers

  • createMockTimer(): MockTimer - Create a fake timer controller
    • .runAll() - Run all timers
    • .advanceTimersByTime(ms) - Advance by milliseconds
    • .restore() - Restore real timers

Fixtures

  • createMockUser(overrides?): User - Create a user
  • createMockEmail(overrides?): Email - Create an email
  • createMockApiResponse(overrides?): ApiResponse - Create an API response
  • createMockErrorResponse(message?): ApiResponse - Create an error response
  • createMockArray<T>(count: number, factory): T[] - Create an array of mocks

Examples

Full Test Example

import { describe, it, expect } from 'vitest';
import {
  createMockUser,
  createMockFn,
  createMockApiResponse,
} from '@dependabit/test-utils';

describe('UserService', () => {
  it('should fetch and process user', async () => {
    // Arrange
    const mockUser = createMockUser({ name: 'Alice' });
    const mockFn = createMockFn();
    mockFn.mockResolvedValue(createMockApiResponse({ user: mockUser }));

    // Act
    const response = await mockFn();

    // Assert
    expect(response.success).toBe(true);
    expect(response.data.user.name).toBe('Alice');
  });
});

Testing

# Run tests (if any)
pnpm --filter @dependabit/test-utils test

License

MIT

Keywords

test

FAQs

Package last updated on 10 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts