vault/ui/tests/unit/lib/local-storage-test.js
Angel Garbarino 6fa423e3f3
License banner - check for new license on localStorage. (#20999)
* fix things twice

* fix test and a whitespace that showed on my linter

* fix comment

* address pr comments

* change const name
2023-06-07 11:05:56 -06:00

53 lines
1.7 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
import LocalStorage from 'vault/lib/local-storage';
module('Unit | lib | local-storage', function (hooks) {
setupTest(hooks);
hooks.beforeEach(function () {
window.localStorage.clear();
});
test('it does not error if nothing is in local storage', async function (assert) {
assert.expect(1);
assert.strictEqual(
LocalStorage.cleanupStorage('something', 'something-key'),
undefined,
'returns undefined and does not throw an error when method is called and nothing exist in localStorage.'
);
});
test('it does not remove anything in localStorage that does not start with the string or we have specified to keep.', async function (assert) {
assert.expect(3);
LocalStorage.setItem('string-key-remove', 'string-key-remove-value');
LocalStorage.setItem('beep-boop-bop-key', 'beep-boop-bop-value');
LocalStorage.setItem('string-key', 'string-key-value');
const storageLengthBefore = window.localStorage.length;
LocalStorage.cleanupStorage('string', 'string-key');
const storageLengthAfter = window.localStorage.length;
assert.strictEqual(
storageLengthBefore - storageLengthAfter,
1,
'the method should only remove one key from localStorage.'
);
assert.strictEqual(
LocalStorage.getItem('string-key'),
'string-key-value',
'the key we asked to keep still exists in localStorage.'
);
assert.strictEqual(
LocalStorage.getItem('string-key-remove'),
null,
'the key we did not specify to keep was removed from localStorage.'
);
// clear storage
window.localStorage.clear();
});
});