mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-10-29 17:52:32 +00:00
install ember-sinon-qunit (#26807)
* install ember-sinon-qunit * replace stubbed timestamps part 1 * replace clients/ timestamp stubs * actually stub correctly * oops got a little excited, these dont need replacing * and revert client ones as well * oh my gosh claire stop rushing * there we go * move timestamp stub to beforeEach * more moves to beforeEach * final CE test moves to beforeEach hook! * use .replace and .fake instead of callsFake * license-banner test * remove remaining callsFake for consistency * use the timestamp instead of separate date
This commit is contained in:
@@ -155,7 +155,7 @@
|
||||
"ember-responsive": "5.0.0",
|
||||
"ember-router-helpers": "^0.4.0",
|
||||
"ember-service-worker": "meirish/ember-service-worker#configurable-scope",
|
||||
"ember-sinon": "^4.0.0",
|
||||
"ember-sinon-qunit": "^7.4.0",
|
||||
"ember-source": "~4.12.0",
|
||||
"ember-style-modifier": "^4.1.0",
|
||||
"ember-svg-jar": "2.4.4",
|
||||
|
||||
@@ -19,20 +19,13 @@ module('Acceptance | clients | counts', function (hooks) {
|
||||
setupApplicationTest(hooks);
|
||||
setupMirage(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => STATIC_NOW);
|
||||
});
|
||||
|
||||
hooks.beforeEach(async function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(STATIC_NOW));
|
||||
clientsHandler(this.server);
|
||||
this.store = this.owner.lookup('service:store');
|
||||
return authPage.login();
|
||||
});
|
||||
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it should prompt user to query start time for community version', async function (assert) {
|
||||
assert.expect(2);
|
||||
this.owner.lookup('service:version').type = 'community';
|
||||
|
||||
@@ -24,11 +24,8 @@ module('Acceptance | clients | counts | acme', function (hooks) {
|
||||
setupApplicationTest(hooks);
|
||||
setupMirage(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => STATIC_NOW);
|
||||
});
|
||||
|
||||
hooks.beforeEach(async function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(STATIC_NOW));
|
||||
this.server.get('sys/internal/counters/activity', () => {
|
||||
return {
|
||||
request_id: 'some-activity-id',
|
||||
@@ -54,10 +51,6 @@ module('Acceptance | clients | counts | acme', function (hooks) {
|
||||
return visit('/vault');
|
||||
});
|
||||
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it navigates to acme tab', async function (assert) {
|
||||
assert.expect(3);
|
||||
await click(GENERAL.navLink('Client Count'));
|
||||
|
||||
@@ -25,21 +25,14 @@ module('Acceptance | clients | overview', function (hooks) {
|
||||
setupApplicationTest(hooks);
|
||||
setupMirage(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => STATIC_NOW);
|
||||
});
|
||||
|
||||
hooks.beforeEach(async function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(STATIC_NOW));
|
||||
clientsHandler(this.server);
|
||||
this.store = this.owner.lookup('service:store');
|
||||
await authPage.login();
|
||||
return visit('/vault/clients/counts/overview');
|
||||
});
|
||||
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it should render the correct tabs', async function (assert) {
|
||||
assert.dom(GENERAL.tab('overview')).exists();
|
||||
assert.dom(GENERAL.tab('token')).exists();
|
||||
@@ -233,11 +226,8 @@ module('Acceptance | clients | overview | sync in license, activated', function
|
||||
setupApplicationTest(hooks);
|
||||
setupMirage(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => STATIC_NOW);
|
||||
});
|
||||
|
||||
hooks.beforeEach(async function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(STATIC_NOW));
|
||||
clientsHandler(this.server);
|
||||
this.store = this.owner.lookup('service:store');
|
||||
|
||||
@@ -252,10 +242,6 @@ module('Acceptance | clients | overview | sync in license, activated', function
|
||||
return visit('/vault/clients/counts/overview');
|
||||
});
|
||||
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it should render the correct tabs', async function (assert) {
|
||||
assert.dom(GENERAL.tab('sync')).exists();
|
||||
});
|
||||
|
||||
@@ -19,20 +19,13 @@ module('Acceptance | clients | sync | activated', function (hooks) {
|
||||
setupApplicationTest(hooks);
|
||||
setupMirage(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => STATIC_NOW);
|
||||
});
|
||||
|
||||
hooks.beforeEach(async function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(STATIC_NOW));
|
||||
syncHandler(this.server);
|
||||
await authPage.login();
|
||||
return visit('/vault/clients/counts/sync');
|
||||
});
|
||||
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it should render charts when secrets sync is activated', async function (assert) {
|
||||
syncHandler(this.server);
|
||||
assert.dom(CHARTS.chart('Secrets sync usage')).exists('Secrets sync usage chart is rendered');
|
||||
@@ -45,19 +38,12 @@ module('Acceptance | clients | sync | not activated', function (hooks) {
|
||||
setupApplicationTest(hooks);
|
||||
setupMirage(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => STATIC_NOW);
|
||||
});
|
||||
|
||||
hooks.beforeEach(async function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(STATIC_NOW));
|
||||
await authPage.login();
|
||||
return visit('/vault/clients/counts/sync');
|
||||
});
|
||||
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it should show an empty state when secrets sync is not activated', async function (assert) {
|
||||
assert.expect(3);
|
||||
|
||||
|
||||
@@ -48,18 +48,13 @@ const generateHealthResponse = (now, state) => {
|
||||
module('Acceptance | Enterprise | License banner warnings', function (hooks) {
|
||||
setupApplicationTest(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => new Date('2018-04-03T14:15:30'));
|
||||
});
|
||||
hooks.beforeEach(function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(new Date('2018-04-03T14:15:30')));
|
||||
this.now = timestamp.now();
|
||||
});
|
||||
hooks.afterEach(function () {
|
||||
this.server.shutdown();
|
||||
});
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it shows no license banner if license expires in > 30 days', async function (assert) {
|
||||
const healthResp = generateHealthResponse(this.now);
|
||||
|
||||
@@ -16,10 +16,8 @@ import timestamp from 'core/utils/timestamp';
|
||||
module('Integration | Component | calendar-widget', function (hooks) {
|
||||
setupRenderingTest(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => new Date('2018-04-03T14:15:30'));
|
||||
});
|
||||
hooks.beforeEach(function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(new Date('2018-04-03T14:15:30')));
|
||||
const CURRENT_DATE = timestamp.now();
|
||||
this.set('currentDate', CURRENT_DATE);
|
||||
this.set('calendarStartDate', subMonths(CURRENT_DATE, 12));
|
||||
@@ -28,9 +26,6 @@ module('Integration | Component | calendar-widget', function (hooks) {
|
||||
this.set('endTimestamp', CURRENT_DATE.toISOString());
|
||||
this.set('handleClientActivityQuery', sinon.spy());
|
||||
});
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it renders and disables correct months when start date is 12 months ago', async function (assert) {
|
||||
assert.expect(14);
|
||||
|
||||
@@ -19,13 +19,13 @@ module('Integration | Component | clients/attribution', function (hooks) {
|
||||
setupRenderingTest(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => new Date('2018-04-03T14:15:30'));
|
||||
this.timestampStub = sinon.replace(timestamp, 'now', sinon.fake.returns(new Date('2018-04-03T14:15:30')));
|
||||
});
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
const { total, by_namespace } = SERIALIZED_ACTIVITY_RESPONSE;
|
||||
this.csvDownloadStub = sinon.stub(this.owner.lookup('service:download'), 'csv');
|
||||
const mockNow = timestamp.now();
|
||||
const mockNow = this.timestampStub();
|
||||
this.mockNow = mockNow;
|
||||
this.startTimestamp = formatRFC3339(subMonths(mockNow, 6));
|
||||
this.timestamp = formatRFC3339(mockNow);
|
||||
@@ -36,7 +36,6 @@ module('Integration | Component | clients/attribution', function (hooks) {
|
||||
});
|
||||
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
this.csvDownloadStub.restore();
|
||||
});
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import timestamp from 'core/utils/timestamp';
|
||||
module('Integration | Component | clients/line-chart', function (hooks) {
|
||||
setupRenderingTest(hooks);
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => new Date('2018-04-03T14:15:30'));
|
||||
this.timestampStub = sinon.replace(timestamp, 'now', sinon.fake.returns(new Date('2018-04-03T14:15:30')));
|
||||
});
|
||||
hooks.beforeEach(function () {
|
||||
this.set('xKey', 'foo');
|
||||
@@ -42,9 +42,6 @@ module('Integration | Component | clients/line-chart', function (hooks) {
|
||||
},
|
||||
]);
|
||||
});
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it renders', async function (assert) {
|
||||
await render(hbs`
|
||||
@@ -70,7 +67,7 @@ module('Integration | Component | clients/line-chart', function (hooks) {
|
||||
});
|
||||
|
||||
test('it renders upgrade data', async function (assert) {
|
||||
const now = timestamp.now();
|
||||
const now = this.timestampStub();
|
||||
this.set('dataset', [
|
||||
{
|
||||
foo: formatRFC3339(subMonths(now, 4)),
|
||||
@@ -124,7 +121,7 @@ module('Integration | Component | clients/line-chart', function (hooks) {
|
||||
|
||||
test('it renders tooltip', async function (assert) {
|
||||
assert.expect(1);
|
||||
const now = timestamp.now();
|
||||
const now = this.timestampStub();
|
||||
const tooltipData = [
|
||||
{
|
||||
month: format(subMonths(now, 4), 'M/yy'),
|
||||
|
||||
@@ -25,11 +25,8 @@ module('Integration | Component | clients | Page::Counts', function (hooks) {
|
||||
setupRenderingTest(hooks);
|
||||
setupMirage(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => STATIC_NOW);
|
||||
});
|
||||
|
||||
hooks.beforeEach(async function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(STATIC_NOW));
|
||||
clientsHandler(this.server);
|
||||
this.server.post('/sys/capabilities-self', allowAllCapabilitiesStub());
|
||||
this.store = this.owner.lookup('service:store');
|
||||
@@ -59,9 +56,6 @@ module('Integration | Component | clients | Page::Counts', function (hooks) {
|
||||
</Clients::Page::Counts>
|
||||
`);
|
||||
});
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it should render start date label and description based on version', async function (assert) {
|
||||
const versionService = this.owner.lookup('service:version');
|
||||
|
||||
@@ -23,11 +23,8 @@ module('Integration | Component | clients/running-total', function (hooks) {
|
||||
setupRenderingTest(hooks);
|
||||
setupMirage(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => STATIC_NOW);
|
||||
});
|
||||
|
||||
hooks.beforeEach(async function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(STATIC_NOW));
|
||||
clientsHandler(this.server);
|
||||
const store = this.owner.lookup('service:store');
|
||||
const activityQuery = {
|
||||
@@ -66,10 +63,6 @@ module('Integration | Component | clients/running-total', function (hooks) {
|
||||
});
|
||||
});
|
||||
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it renders with full monthly activity data', async function (assert) {
|
||||
await this.renderComponent();
|
||||
|
||||
|
||||
@@ -19,15 +19,8 @@ module('Integration | Component | dashboard/client-count-card', function (hooks)
|
||||
setupRenderingTest(hooks);
|
||||
setupMirage(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => STATIC_NOW);
|
||||
});
|
||||
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it should display client count information', async function (assert) {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(STATIC_NOW));
|
||||
assert.expect(6);
|
||||
const { months, total } = ACTIVITY_RESPONSE_STUB;
|
||||
const [latestMonth] = months.slice(-1);
|
||||
|
||||
@@ -23,11 +23,8 @@ const SELECTORS = {
|
||||
module('Integration | Component | date-dropdown', function (hooks) {
|
||||
setupRenderingTest(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => new Date('2018-04-03T14:15:30'));
|
||||
});
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
hooks.beforeEach(function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(new Date('2018-04-03T14:15:30')));
|
||||
});
|
||||
|
||||
test('it renders dropdown', async function (assert) {
|
||||
|
||||
@@ -15,10 +15,10 @@ module('Integration | Component | keymgmt/key-edit', function (hooks) {
|
||||
setupRenderingTest(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => new Date('2018-04-03T14:15:30'));
|
||||
this.timestampStub = sinon.replace(timestamp, 'now', sinon.fake.returns(new Date('2018-04-03T14:15:30')));
|
||||
});
|
||||
hooks.beforeEach(function () {
|
||||
const now = timestamp.now();
|
||||
const now = this.timestampStub();
|
||||
const model = EmberObject.create({
|
||||
name: 'Unicorns',
|
||||
id: 'Unicorns',
|
||||
@@ -38,9 +38,6 @@ module('Integration | Component | keymgmt/key-edit', function (hooks) {
|
||||
this.model = model;
|
||||
this.tab = '';
|
||||
});
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
// TODO: Add capabilities tests
|
||||
test('it renders show view as default', async function (assert) {
|
||||
|
||||
@@ -18,10 +18,8 @@ module('Integration | Component | kubernetes | Page::Credentials', function (hoo
|
||||
setupEngine(hooks, 'kubernetes');
|
||||
setupMirage(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => new Date('2018-04-03T14:15:30'));
|
||||
});
|
||||
hooks.beforeEach(function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(new Date('2018-04-03T14:15:30')));
|
||||
this.backend = 'kubernetes-test';
|
||||
this.roleName = 'role-0';
|
||||
|
||||
@@ -53,9 +51,6 @@ module('Integration | Component | kubernetes | Page::Credentials', function (hoo
|
||||
);
|
||||
};
|
||||
});
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it should display generate credentials form', async function (assert) {
|
||||
await this.renderComponent();
|
||||
|
||||
@@ -16,12 +16,9 @@ import timestamp from 'core/utils/timestamp';
|
||||
module('Integration | Component | license-banners', function (hooks) {
|
||||
setupRenderingTest(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => new Date('2018-04-03T14:15:30'));
|
||||
});
|
||||
hooks.beforeEach(function () {
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(new Date('2018-04-03T14:15:30')));
|
||||
const mockNow = timestamp.now();
|
||||
this.now = mockNow;
|
||||
this.yesterday = subDays(mockNow, 1);
|
||||
this.nextMonth = addDays(mockNow, 30);
|
||||
this.outside30 = addDays(mockNow, 32);
|
||||
@@ -30,9 +27,6 @@ module('Integration | Component | license-banners', function (hooks) {
|
||||
this.version.version = '1.13.1+ent';
|
||||
this.version.type = 'enterprise';
|
||||
});
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it does not render if no expiry', async function (assert) {
|
||||
assert.expect(2);
|
||||
|
||||
@@ -13,6 +13,7 @@ import './helpers/flash-message';
|
||||
import preloadAssets from 'ember-asset-loader/test-support/preload-assets';
|
||||
import { setupGlobalA11yHooks, setRunOptions } from 'ember-a11y-testing/test-support';
|
||||
import manifest from 'vault/config/asset-manifest';
|
||||
import setupSinon from 'ember-sinon-qunit';
|
||||
|
||||
preloadAssets(manifest).then(() => {
|
||||
setup(QUnit.assert);
|
||||
@@ -26,7 +27,7 @@ preloadAssets(manifest).then(() => {
|
||||
values: ['wcag2a'],
|
||||
},
|
||||
});
|
||||
|
||||
setupSinon();
|
||||
start({
|
||||
setupTestIsolationValidation: true,
|
||||
});
|
||||
|
||||
@@ -16,18 +16,15 @@ module('Unit | Adapter | clients activity', function (hooks) {
|
||||
setupMirage(hooks);
|
||||
|
||||
hooks.before(function () {
|
||||
sinon.stub(timestamp, 'now').callsFake(() => new Date('2023-01-13T09:30:15'));
|
||||
this.timestampStub = sinon.replace(timestamp, 'now', sinon.fake.returns(new Date('2023-01-13T09:30:15')));
|
||||
});
|
||||
hooks.beforeEach(function () {
|
||||
this.store = this.owner.lookup('service:store');
|
||||
this.modelName = 'clients/activity';
|
||||
this.startDate = subMonths(timestamp.now(), 6);
|
||||
this.endDate = timestamp.now();
|
||||
this.startDate = subMonths(this.timestampStub(), 6);
|
||||
this.endDate = this.timestampStub();
|
||||
this.readableUnix = (unix) => parseAPITimestamp(fromUnixTime(unix).toISOString(), 'MMMM dd yyyy');
|
||||
});
|
||||
hooks.after(function () {
|
||||
timestamp.now.restore();
|
||||
});
|
||||
|
||||
test('it does not format if both params are timestamp strings', async function (assert) {
|
||||
assert.expect(1);
|
||||
|
||||
@@ -12,10 +12,8 @@ import { module, test } from 'qunit';
|
||||
*/
|
||||
module('Unit | Utility | timestamp', function () {
|
||||
test('it can be overridden', function (assert) {
|
||||
const stub = sinon.stub(timestamp, 'now').callsFake(() => new Date('2030-03-03T03:30:03'));
|
||||
sinon.replace(timestamp, 'now', sinon.fake.returns(new Date('2030-03-03T03:30:03')));
|
||||
const result = timestamp.now();
|
||||
assert.strictEqual(result.toISOString(), new Date('2030-03-03T03:30:03').toISOString());
|
||||
// Always make sure to restore the stub
|
||||
stub.restore(); // timestamp.now.restore(); also works
|
||||
});
|
||||
});
|
||||
|
||||
146
ui/yarn.lock
146
ui/yarn.lock
@@ -2592,15 +2592,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sinonjs/commons@npm:^1, @sinonjs/commons@npm:^1.3.0, @sinonjs/commons@npm:^1.4.0, @sinonjs/commons@npm:^1.7.0":
|
||||
version: 1.8.6
|
||||
resolution: "@sinonjs/commons@npm:1.8.6"
|
||||
dependencies:
|
||||
type-detect: 4.0.8
|
||||
checksum: 7d3f8c1e85f30cd4e83594fc19b7a657f14d49eb8d95a30095631ce15e906c869e0eff96c5b93dffea7490c00418b07f54582ba49c6560feb2a8c34c0b16832d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sinonjs/commons@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "@sinonjs/commons@npm:2.0.0"
|
||||
@@ -2628,27 +2619,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sinonjs/formatio@npm:^3.2.1":
|
||||
version: 3.2.2
|
||||
resolution: "@sinonjs/formatio@npm:3.2.2"
|
||||
dependencies:
|
||||
"@sinonjs/commons": ^1
|
||||
"@sinonjs/samsam": ^3.1.0
|
||||
checksum: ddc30698df9b0aa59204da93ca94fd04bc5672ac03c798c0a487c35d514d7d8e0ce0e4c72386fc80e29f59cb1cc54eeea3b7f804281b3c4e3dd2394de56c6e4a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sinonjs/samsam@npm:^3.1.0, @sinonjs/samsam@npm:^3.3.3":
|
||||
version: 3.3.3
|
||||
resolution: "@sinonjs/samsam@npm:3.3.3"
|
||||
dependencies:
|
||||
"@sinonjs/commons": ^1.3.0
|
||||
array-from: ^2.1.1
|
||||
lodash: ^4.17.15
|
||||
checksum: 340f2f62dec3fa1e5e9300a75996bd12ab9d2da4f6b453fa5d1ee101cc5e58eb218af2e2584b496d41ba31c3c0854d47a691fd9a0d8b9092f3cb6a5c7a080856
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sinonjs/samsam@npm:^8.0.0":
|
||||
version: 8.0.0
|
||||
resolution: "@sinonjs/samsam@npm:8.0.0"
|
||||
@@ -2660,7 +2630,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sinonjs/text-encoding@npm:^0.7.1, @sinonjs/text-encoding@npm:^0.7.2":
|
||||
"@sinonjs/text-encoding@npm:^0.7.2":
|
||||
version: 0.7.2
|
||||
resolution: "@sinonjs/text-encoding@npm:0.7.2"
|
||||
checksum: fe690002a32ba06906cf87e2e8fe84d1590294586f2a7fd180a65355b53660c155c3273d8011a5f2b77209b819aa7306678ae6e4aea0df014bd7ffd4bbbcf1ab
|
||||
@@ -3335,6 +3305,22 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/sinon@npm:^10.0.19":
|
||||
version: 10.0.20
|
||||
resolution: "@types/sinon@npm:10.0.20"
|
||||
dependencies:
|
||||
"@types/sinonjs__fake-timers": "*"
|
||||
checksum: 7322771345c202b90057f8112e0d34b7339e5ae1827fb1bfe385fc9e38ed6a2f18b4c66e88d27d98c775f7f74fb1167c0c14f61ca64155786534541e6c6eb05f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/sinonjs__fake-timers@npm:*":
|
||||
version: 8.1.5
|
||||
resolution: "@types/sinonjs__fake-timers@npm:8.1.5"
|
||||
checksum: 7e3c08f6c13df44f3ea7d9a5155ddf77e3f7314c156fa1c5a829a4f3763bafe2f75b1283b887f06e6b4296996a2f299b70f64ff82625f9af5885436e2524d10c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/symlink-or-copy@npm:^1.2.0":
|
||||
version: 1.2.2
|
||||
resolution: "@types/symlink-or-copy@npm:1.2.2"
|
||||
@@ -4116,13 +4102,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"array-from@npm:^2.1.1":
|
||||
version: 2.1.1
|
||||
resolution: "array-from@npm:2.1.1"
|
||||
checksum: 4cd5fa27aa6133b99a57c2881d2a8a66ec59b8e17a0c900f7e8ac9a0a2fae450ed682b67435467bfa71ac9328d025a760c5c46a95586a352180c5a79fc13015d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"array-to-error@npm:^1.0.0":
|
||||
version: 1.1.1
|
||||
resolution: "array-to-error@npm:1.1.1"
|
||||
@@ -5804,7 +5783,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"broccoli-merge-trees@npm:^3.0.0, broccoli-merge-trees@npm:^3.0.1, broccoli-merge-trees@npm:^3.0.2":
|
||||
"broccoli-merge-trees@npm:^3.0.1, broccoli-merge-trees@npm:^3.0.2":
|
||||
version: 3.0.2
|
||||
resolution: "broccoli-merge-trees@npm:3.0.2"
|
||||
dependencies:
|
||||
@@ -7862,13 +7841,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"diff@npm:^3.5.0":
|
||||
version: 3.5.0
|
||||
resolution: "diff@npm:3.5.0"
|
||||
checksum: 00842950a6551e26ce495bdbce11047e31667deea546527902661f25cc2e73358967ebc78cf86b1a9736ec3e14286433225f9970678155753a6291c3bca5227b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"diff@npm:^5.1.0":
|
||||
version: 5.2.0
|
||||
resolution: "diff@npm:5.2.0"
|
||||
@@ -9434,15 +9406,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ember-sinon@npm:^4.0.0":
|
||||
version: 4.1.1
|
||||
resolution: "ember-sinon@npm:4.1.1"
|
||||
"ember-sinon-qunit@npm:^7.4.0":
|
||||
version: 7.4.0
|
||||
resolution: "ember-sinon-qunit@npm:7.4.0"
|
||||
dependencies:
|
||||
broccoli-funnel: ^2.0.0
|
||||
broccoli-merge-trees: ^3.0.0
|
||||
ember-cli-babel: ^7.7.3
|
||||
sinon: ^7.4.2
|
||||
checksum: 8781e420e1495728264599a770d786290a46eceb841ea6a0b86cf196efd9155e78931ea3c88bfd546bd4b9c1627c0bd0edb6cdd957abbe6faa71247de8184443
|
||||
"@embroider/addon-shim": ^1.8.6
|
||||
"@types/sinon": ^10.0.19
|
||||
peerDependencies:
|
||||
ember-source: ">=3.28.0"
|
||||
qunit: ^2.0.0
|
||||
sinon: ^15.0.3 || ^16.0.0 || ^17.0.0
|
||||
checksum: e83cd2113001f670d125e7ad186ca276fdcb74a0de44f296275c4e75ad4832d89103bc9ee23e3f5143d82bb01345313bb6a1f5b070f1b010cdd435d24e418105
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -13302,13 +13276,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"just-extend@npm:^4.0.2":
|
||||
version: 4.2.1
|
||||
resolution: "just-extend@npm:4.2.1"
|
||||
checksum: ff9fdede240fad313efeeeb68a660b942e5586d99c0058064c78884894a2690dc09bba44c994ad4e077e45d913fef01a9240c14a72c657b53687ac58de53b39c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"just-extend@npm:^6.2.0":
|
||||
version: 6.2.0
|
||||
resolution: "just-extend@npm:6.2.0"
|
||||
@@ -13872,22 +13839,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lolex@npm:^4.2.0":
|
||||
version: 4.2.0
|
||||
resolution: "lolex@npm:4.2.0"
|
||||
checksum: 0a83bfe1748fc745515dff9b3f722422918f5f6975104d7e576fc32c06b5398ee0c58525684068d4de49cdd49874e00b5e2b2d72ce8c5d829dab86c8c08ca31f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lolex@npm:^5.0.1":
|
||||
version: 5.1.2
|
||||
resolution: "lolex@npm:5.1.2"
|
||||
dependencies:
|
||||
"@sinonjs/commons": ^1.7.0
|
||||
checksum: 7eb468d4ef4746c024d23cb2b75f679f79449a9d5cbe11abadf2f3b147c1d7ffe28816438bedfb8a75c58357a625c2f9ba197b050c226d2b3f0c4a956cf556fb
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"longest-streak@npm:^2.0.0":
|
||||
version: 2.0.4
|
||||
resolution: "longest-streak@npm:2.0.4"
|
||||
@@ -14919,19 +14870,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"nise@npm:^1.5.2":
|
||||
version: 1.5.3
|
||||
resolution: "nise@npm:1.5.3"
|
||||
dependencies:
|
||||
"@sinonjs/formatio": ^3.2.1
|
||||
"@sinonjs/text-encoding": ^0.7.1
|
||||
just-extend: ^4.0.2
|
||||
lolex: ^5.0.1
|
||||
path-to-regexp: ^1.7.0
|
||||
checksum: ec3af21345dcaf34650a6f5420a11e0fd21a836ac5960f5e8523c301ee98465abf88b958f7b3084ecc6e0a7133e5cf7963f4df176b90b423c4da4984f1ebd75e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"nise@npm:^5.1.5":
|
||||
version: 5.1.9
|
||||
resolution: "nise@npm:5.1.9"
|
||||
@@ -15753,15 +15691,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"path-to-regexp@npm:^1.7.0":
|
||||
version: 1.8.0
|
||||
resolution: "path-to-regexp@npm:1.8.0"
|
||||
dependencies:
|
||||
isarray: 0.0.1
|
||||
checksum: 709f6f083c0552514ef4780cb2e7e4cf49b0cc89a97439f2b7cc69a608982b7690fb5d1720a7473a59806508fc2dae0be751ba49f495ecf89fd8fbc62abccbcd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"path-to-regexp@npm:^6.2.1":
|
||||
version: 6.2.2
|
||||
resolution: "path-to-regexp@npm:6.2.2"
|
||||
@@ -17422,21 +17351,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"sinon@npm:^7.4.2":
|
||||
version: 7.5.0
|
||||
resolution: "sinon@npm:7.5.0"
|
||||
dependencies:
|
||||
"@sinonjs/commons": ^1.4.0
|
||||
"@sinonjs/formatio": ^3.2.1
|
||||
"@sinonjs/samsam": ^3.3.3
|
||||
diff: ^3.5.0
|
||||
lolex: ^4.2.0
|
||||
nise: ^1.5.2
|
||||
supports-color: ^5.5.0
|
||||
checksum: e8cf6b3dd16e9c1ed1a2b9560c396a2d6205a4f32293b1762cb6ebb8f88cfa47db6aba45b0c1709ec396efb41d171d88c9b1ab8f32f35512eb9e5d0d0d15d307
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"slash@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "slash@npm:1.0.0"
|
||||
@@ -18196,7 +18110,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"supports-color@npm:^5.3.0, supports-color@npm:^5.5.0":
|
||||
"supports-color@npm:^5.3.0":
|
||||
version: 5.5.0
|
||||
resolution: "supports-color@npm:5.5.0"
|
||||
dependencies:
|
||||
@@ -19407,7 +19321,7 @@ __metadata:
|
||||
ember-responsive: 5.0.0
|
||||
ember-router-helpers: ^0.4.0
|
||||
ember-service-worker: "meirish/ember-service-worker#configurable-scope"
|
||||
ember-sinon: ^4.0.0
|
||||
ember-sinon-qunit: ^7.4.0
|
||||
ember-source: ~4.12.0
|
||||
ember-style-modifier: ^4.1.0
|
||||
ember-svg-jar: 2.4.4
|
||||
|
||||
Reference in New Issue
Block a user