2.0.6 • Published 7 days ago

@natlibfi/fixugen v2.0.6

Weekly downloads
18
License
MIT
Repository
github
Last release
7 days ago

Generate Node.js unit tests from fixtures and callbacks

NPM Version Node Version

Mocha is used a unit testing framework. Invoke fixugen in a .spec file with Mocha environment injected as usual.

Provides test callbacks with Fixura's functions to fetch test fixtures.

Usage

The test fixture directory is parsed as follows: Each subdirectory becomes a unit test group (Mocha's describe) and inner subdirectories each represent individual tests (Mocha's it).

import generateTests from '@natlibfi/fixugen';

generateTests({
  path: [__dirname, '..', 'test-fixtures'],
  callback: ({getFixture}) => {
    const expectedValue = getFixture('value.txt');
    const value = generateSomething();
    expect(value).to.equal(expectedValue);
  }
});

Options

  • callback: A callback function passed to Mocha's it. Receives Fixura's function as arguments.
    • dirName: callback gets dirName variable that is one folder up
  • path: An array of path components which make up a path to the test fixtures directory
  • recurse: Whether to recurse into the subdirectories of path. If false the last directory of the path is used as the name of the Mocha's describe-call and it's direct subdirectories are used as unit test directories. Defaults to true
  • fixura: Options that are passed to Fixura.
  • useMetadataFile: If set to true, reads and parses a file named metadata.json in each unit test directory. The content must be a JSON object and it's properties as passed to the unit test callback function.
    • If a property description is present, it is used as the test's description (Defaults to false and folder name is used).
    • If a property skip is present, it decides if test is skipped (Defaults to false).
    • If a property only is present, it decides if this/these tests are only run (Defaults to false).
  • mocha: An object which maps the following properties to Mocha's corresponding callbacks: after, before, afterEach, beforeEach

Example metadata.json

{
  "description": "Example description of test",
  "skip": false,
  "only": false
}

License and copyright

Copyright (c) 2020, 2023-2024 University Of Helsinki (The National Library Of Finland)

This project's source code is licensed under the terms of MIT or any later version.

2.0.6-alpha.1

7 days ago

2.0.6

7 days ago

2.0.5-alpha.1

12 days ago

2.0.5

12 days ago

2.0.4-alpha.1

5 months ago

2.0.4

5 months ago

2.0.3-alpha.1

6 months ago

2.0.3

6 months ago

2.0.2

7 months ago

2.0.1-alpha

10 months ago

2.0.1

10 months ago

2.0.2-alpha.1

7 months ago

2.0.0-alpha.1

1 year ago

1.2.0-alpha.1

1 year ago

2.0.0-alpha

1 year ago

2.0.0

1 year ago

1.1.0-alpha.1

2 years ago

1.1.0

2 years ago

1.1.0-alpha.2

2 years ago

1.1.0-alpha.3

2 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

4 years ago

1.0.0-alpha.3

4 years ago

1.0.0-alpha.2

4 years ago

1.0.0-alpha.1

4 years ago