* feat: 🎸 create canSetWorkerTags ability for workers ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * feat: 🎸 add create-tags route ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * feat: 🎸 update worker serializer for adding api_tags ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * feat: 🎸 add setApiTags method on worker model ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * style: 💄 update list-wrapper styles after hds upgrade ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * feat: 🎸 add create-tags component for workers ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * feat: 🎸 add creat-tags route and view ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * test: 💍 add acceptance tests for worker create-tags workflow ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * test: 💍 add test for worker tag creation ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * test: 💍 fix test setup for workers ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * test: 💍 add license headers and update setupTest import ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * test: 💍 fix normal serialize test for worker ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * refactor: 💡 create worker PKI type const ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * refactor: 💡 add comments to methods and actions ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * feat: 🎸 create Tag class to use in multiple places ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * refactor: 💡 move apiTags to route controller ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * refactor: 💡 move routeWillChange logic to route ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * refactor: 💡 routeWillChange logic updates ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * refactor: 💡 remove unused services ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * test: 💍 add missing controller tests ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * refactor: 💡 small update to API tags description ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * refactor: 💡 add tracked to Tag class ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * refactor: 💡 use willTransition vs routeWillChange event ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895 * refactor: 💡 use controllerFor in route ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895
75 lines
2.1 KiB
JavaScript
75 lines
2.1 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import { module, test } from 'qunit';
|
|
import { setupTest } from 'ember-qunit';
|
|
|
|
module('Unit | Serializer | worker', function (hooks) {
|
|
setupTest(hooks);
|
|
|
|
test('it serializes normally', function (assert) {
|
|
const store = this.owner.lookup('service:store');
|
|
const serializer = store.serializerFor('worker');
|
|
const record = store.createRecord('worker', {
|
|
name: 'worker',
|
|
description: 'Description',
|
|
version: 1,
|
|
});
|
|
const snapshot = record._createSnapshot();
|
|
snapshot.adapterOptions = {};
|
|
const serializedRecord = serializer.serialize(snapshot);
|
|
assert.deepEqual(serializedRecord, {
|
|
version: 1,
|
|
description: 'Description',
|
|
name: 'worker',
|
|
});
|
|
});
|
|
|
|
test('it serializes using `adapterOptions.workerGeneratedAuthToken`', function (assert) {
|
|
const scopeId = 'global';
|
|
const store = this.owner.lookup('service:store');
|
|
const serializer = store.serializerFor('worker');
|
|
const record = store.createRecord('worker', {
|
|
name: 'worker',
|
|
description: 'Description',
|
|
version: 1,
|
|
scope: {
|
|
scope_id: scopeId,
|
|
type: 'global',
|
|
},
|
|
});
|
|
const snapshot = record._createSnapshot();
|
|
snapshot.adapterOptions = {
|
|
workerGeneratedAuthToken: '123-abc',
|
|
};
|
|
const serializedRecord = serializer.serialize(snapshot);
|
|
assert.deepEqual(serializedRecord, {
|
|
scope_id: scopeId,
|
|
worker_generated_auth_token: '123-abc',
|
|
});
|
|
});
|
|
|
|
test('it serializes using `adapterOptions.apiTags`', function (assert) {
|
|
const store = this.owner.lookup('service:store');
|
|
const serializer = store.serializerFor('worker');
|
|
const record = store.createRecord('worker', {
|
|
name: 'worker',
|
|
api_tags: null,
|
|
version: 1,
|
|
});
|
|
const snapshot = record._createSnapshot();
|
|
snapshot.adapterOptions = {
|
|
apiTags: {
|
|
key: ['value'],
|
|
},
|
|
};
|
|
const serializedRecord = serializer.serialize(snapshot);
|
|
assert.deepEqual(serializedRecord, {
|
|
version: 1,
|
|
api_tags: { key: ['value'] },
|
|
});
|
|
});
|
|
});
|