Skip to content

The RemoveDuplicates precompiler is responsible for having only a reasonable amount of tags and/or rows in each feature file.

License

Notifications You must be signed in to change notification settings

gherking/gpc-remove-duplicates

Repository files navigation

gpc-remove-duplicates

Downloads Version@npm Version@git CI Docs

Usage

'use strict';
const compiler = require('gherking');
const RemoveDuplicates = require('gpc-remove-duplicates');

let ast = await compiler.load('./features/src/login.feature');
ast = compiler.process(
    ast,
    new RemoveDuplicates({
        // config
    })
);
await compiler.save('./features/dist/login.feature', ast, {
    lineBreak: '\r\n'
});
'use strict';
import {load, process, save} from "gherking";
import RemoveDuplicates from "gpc-remove-duplicates";

let ast = await load("./features/src/login.feature");
ast = process(
    ast,
    new RemoveDuplicates({
        // config
    })
);
await save('./featuresdist/login.feature', ast, {
    lineBreak: '\r\n'
});

The RemoveDuplicates precompiler is responsible for having only a reasonable amount of tags and/or rows in each feature file.

It can proceed with the following actions:

  1. Removes tags from Rule/Scenario/ScenarioOutline/Examples which exists on parent (Feature/Rule/ScenarioOutline) too.
  2. Removes duplicate tags from Feature/Rule/Scenario/ScearioOutline/Examples.
  3. Removes duplicate rows from Examples and step DataTables.

Configuration

RemoveDuplicateRows accepts the following configuration:

Option Type Description Default
processTags boolean It indicates whether the 1st and 2nd options should be applied. true
processRows boolean It indicates whether the 3rd option should be applied. false

Other

This package uses debug for logging, use gpc:remove-duplicates :

DEBUG=gpc:remove-duplicates* gherking ...

For detailed documentation see the TypeDocs documentation.