1. karton
Create sandbox for package e2e tests
karton
Package: karton
Created by: piotr-oles
Last modified: Sat, 07 May 2022 04:36:13 GMT
Version: 0.4.1
License: MIT
Downloads: 64
Repository: https://github.com/piotr-oles/karton

Install

npm install karton
yarn add karton

karton

Test your package in a sandbox 📦

⚠️ In development ⚠️

Installation

This package requires minimum Node.js 10

 # with npm
npm install --save-dev karton

# with yarn
yarn add --dev karton

Usage

This package helps you with writing E2E tests for your packages.
Example:

 import { 
  createSandbox,
  Sandbox, 
  packLocalPackage
} from "karton";
import path from 'path';

describe('my-package', () => {
  let sandbox: Sandbox;

  beforeAll(async () => {
    sandbox = await createSandbox({
      lockDirectory: path.resolve(__dirname, '__locks__'),
      fixedDependencies: {
        'my-package': `file:${await packLocalPackage(
          path.resolve(__dirname, '../../')
        )}`
      }
    });
  });
  afterEach(async () => {
    await sandbox.reset();
  });
  afterAll(async () => {
    await sandbox.cleanup();
  })

  it.each([
    [{ 'webpack': '^4.0.0' }],
    [{ 'webpack': '^5.0.0' }]
  ])('works with %p', async (dependencies) => {
    await sandbox.load(path.join(__dirname, 'fixtures/basic'));
    await sandbox.install('yarn', dependencies);
    const result = await sandbox.exec('node src/test.js');
    
    expect(result).toEqual('my-package awesome output');
  });
})

License

MIT

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code