github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/integration/testdata/TestGaugeIntegration/gauge-js/tests/step_implementation.js (about)

     1  /* globals gauge*/
     2  
     3  "use strict";
     4  
     5  var assert = require("assert");
     6  
     7  var vowels = ["a", "e", "i", "o", "u"];
     8  
     9  var numberOfVowels = function (word) {
    10    var vowelArr = word.split("").filter(function (elem) { return vowels.indexOf(elem) > -1; });
    11    return vowelArr.length;
    12  };
    13  
    14  // --------------------------
    15  // Gauge step implementations
    16  // --------------------------
    17  
    18  step("Vowels in English language are <vowels>.", function(vowelsGiven) {
    19    assert.equal(vowelsGiven, vowels.join(""));
    20  });
    21  
    22  step("The word <word> has <number> vowels.", function(word, number) {
    23    assert.equal(number, numberOfVowels(word));
    24  });
    25  
    26  step("Almost all words have vowels <table>", function(table) {
    27    table.rows.forEach(function (row) {
    28      assert.equal(numberOfVowels(row.cells[0]), parseInt(row.cells[1]));
    29    });
    30  });
    31  
    32  // ---------------
    33  // Execution Hooks
    34  // ---------------
    35  
    36  beforeScenario(function () {
    37    assert.equal(vowels.join(""), "aeiou");
    38  });
    39  
    40  beforeScenario(function () {
    41    assert.equal(vowels[0], "a");
    42  }, { tags: [ "single word" ]});