Files
threshold-ui/addons/api/tests/unit/transforms/duration-test.js
T
2024-05-31 11:29:24 -07:00

53 lines
1.8 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
module('Unit | Transform | duration', function (hooks) {
setupTest(hooks);
test('it deserializes a duration string', function (assert) {
const transform = this.owner.lookup('transform:duration');
const num1 = transform.deserialize('0s');
const num2 = transform.deserialize(undefined);
const num3 = transform.deserialize('3s');
const num4 = transform.deserialize('15.003s');
const num5 = transform.deserialize('15.0035s');
const num6 = transform.deserialize('15.0034s');
const num7 = transform.deserialize('3.000000001s');
const num8 = transform.deserialize('300000000001s');
assert.strictEqual(num1, 0);
assert.strictEqual(num2, 0);
assert.strictEqual(num3, 3000);
assert.strictEqual(num4, 15003);
assert.strictEqual(num5, 15004);
assert.strictEqual(num6, 15003);
assert.strictEqual(num7, 3000);
assert.strictEqual(num8, 300000000001000);
});
test('it serializes a duration number', function (assert) {
const transform = this.owner.lookup('transform:duration');
const num1 = transform.serialize(0);
const num2 = transform.serialize(undefined);
const num3 = transform.serialize(3000);
const num4 = transform.serialize(15003);
const num5 = transform.serialize(15000000000001);
const num6 = transform.serialize(0.000001);
const num7 = transform.serialize(0.0000001);
assert.strictEqual(num1, '0s');
assert.strictEqual(num2, '0s');
assert.strictEqual(num3, '3s');
assert.strictEqual(num4, '15.003s');
assert.strictEqual(num5, '15000000000.001s');
assert.strictEqual(num6, '0.000000001s');
assert.strictEqual(num7, '0s');
});
});