github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/tests/unit/helpers/stringify-object-test.js (about)

     1  import { module, test } from 'qunit';
     2  import { stringifyObject } from 'nomad-ui/helpers/stringify-object';
     3  
     4  const objectToStringify = {
     5    dog: 'thelonious',
     6    dogAge: 12,
     7    dogDegreesHeld: null,
     8  };
     9  
    10  module('Unit | Helper | stringify-object', function () {
    11    test('Contains the correct number of whitespace', function (assert) {
    12      // assertions with whitespace > 0 are whitespace + 3, to account for quote, newline and \ characters
    13      assert.equal(
    14        stringifyObject([objectToStringify], {
    15          whitespace: 10,
    16        }).indexOf('dog'),
    17        13,
    18        'Ten spaces'
    19      );
    20      assert.equal(
    21        stringifyObject([objectToStringify], {
    22          whitespace: 5,
    23        }).indexOf('dog'),
    24        8,
    25        'Five spaces'
    26      );
    27      assert.equal(
    28        stringifyObject([objectToStringify], {
    29          whitespace: 0,
    30        }).indexOf('dog'),
    31        2,
    32        'Zero spaces'
    33      );
    34    });
    35    test('Observes replacer array', function (assert) {
    36      assert.ok(
    37        stringifyObject([objectToStringify], {
    38          replacer: ['dog', 'dogDegreesHeld'],
    39        }).indexOf('dogDegreesHeld'),
    40        'Unreplaced value is present'
    41      );
    42      assert.equal(
    43        stringifyObject([objectToStringify], {
    44          replacer: ['dog', 'dogDegreesHeld'],
    45        }).indexOf('dogAge'),
    46        -1,
    47        'Replaced value is missing'
    48      );
    49    });
    50    test('Observes replacer function', function (assert) {
    51      assert.ok(
    52        stringifyObject([objectToStringify], {
    53          replacer: (k, v) => (v ? v : undefined),
    54        }).indexOf('dogAge'),
    55        'Unreplaced value is present'
    56      );
    57      assert.equal(
    58        stringifyObject([objectToStringify], {
    59          replacer: (k, v) => (v ? v : undefined),
    60        }).indexOf('dogDegreesHeld'),
    61        -1,
    62        'Replaced value is missing'
    63      );
    64    });
    65  });