Skip to content

milan-w/stream-mock

 
 

Repository files navigation

Stream Mock

Travis (.org) npm Snyk Vulnerabilities for GitHub Repo Code Climate coverage Code Climate maintainability Greenkeeper badge node npm type definitions GitHub

Mock nodejs streams.

Features

Quick start

yarn add stream-mock

Or, if you are more a npm person

npm i stream-mock

Basic usage

You are building an awesome brand new Transform stream that rounds all your values.

import { Transform } from 'stream';

export default class Rounder extends Transform {
  _transform(chunk, encoding, callback) {
    this.push(Math.round(chunk));
    callback();
  }
}

Now you need / want to test it.

import { ObjectReadableMock, ObjectWritableMock } from 'stream-mock';
import chai from 'chai';

import Rounder from 'the/seven/bloody/hells';

chai.should();

describe('Test me if you can', (done) => {
    it('Round me like one of your french girls', {
        // Given
        const input = [1.2, 2.6, 3.7];
        const transform = new Rounder({objectMode: true});
        const reader = new ObjectReadableMock(input);
        const writer = new ObjectWritableMock();
        // When
        reader.pipe(transform).pipe(writer);
        // Then
        writer.on('finish', ()=>{
            writer.data.should.deep.equal(input.map(Math.round));
        })
    });
});

magic

API documentation

Full API doc is hosted here


License

MIT

About

Nodejs stream mock

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 81.2%
  • JavaScript 15.5%
  • HCL 3.3%