test-mixer
Test helper to generate function opts object variations
Install
This package is pure ESM. If you're not ready yet, install an older version of this program, 2.1.0 (npm i test-mixer@2.1.0
).
npm i test-mixer
Quick Take
import { strict as assert } from "assert";
import { mixer } from "test-mixer";
const defaultOpts = {
scrapeWindshield: true,
checkOil: true,
inflateTires: false,
extinguishersCount: 1,
};
assert.deepEqual(
mixer(
{
},
defaultOpts,
),
[
{
scrapeWindshield: false,
checkOil: false,
inflateTires: false,
extinguishersCount: 1,
},
{
scrapeWindshield: true,
checkOil: false,
inflateTires: false,
extinguishersCount: 1,
},
{
scrapeWindshield: false,
checkOil: true,
inflateTires: false,
extinguishersCount: 1,
},
{
scrapeWindshield: true,
checkOil: true,
inflateTires: false,
extinguishersCount: 1,
},
{
scrapeWindshield: false,
checkOil: false,
inflateTires: true,
extinguishersCount: 1,
},
{
scrapeWindshield: true,
checkOil: false,
inflateTires: true,
extinguishersCount: 1,
},
{
scrapeWindshield: false,
checkOil: true,
inflateTires: true,
extinguishersCount: 1,
},
{
scrapeWindshield: true,
checkOil: true,
inflateTires: true,
extinguishersCount: 1,
},
],
);
const variationsWithScrapeWindshieldOn = mixer(
{
scrapeWindshield: true,
},
defaultOpts,
);
assert.deepEqual(variationsWithScrapeWindshieldOn, [
{
scrapeWindshield: true,
checkOil: false,
inflateTires: false,
extinguishersCount: 1,
},
{
scrapeWindshield: true,
checkOil: true,
inflateTires: false,
extinguishersCount: 1,
},
{
scrapeWindshield: true,
checkOil: false,
inflateTires: true,
extinguishersCount: 1,
},
{
scrapeWindshield: true,
checkOil: true,
inflateTires: true,
extinguishersCount: 1,
},
]);
const variationsWithScrapeWindshieldOff = mixer(
{
scrapeWindshield: false,
},
defaultOpts,
);
assert.equal(variationsWithScrapeWindshieldOff.length, 4);
Documentation
Please visit codsen.com for a full description of the API.
Contributing
To report bugs or request features or assistance, raise an issue on GitHub.
Licence
MIT License.
Copyright © 2010-2024 Roy Revelt and other contributors.