mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-11-01 19:17:58 +00:00
backport of commit 4fd4a0693d (#21402)
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
8a9e9bf92c
commit
d66520d12b
@@ -1,10 +1,16 @@
|
|||||||
import ApplicationSerializer from '../application';
|
import ApplicationSerializer from '../application';
|
||||||
|
|
||||||
export default ApplicationSerializer.extend({
|
export default class ClientsConfigSerializer extends ApplicationSerializer {
|
||||||
|
// these attrs are readOnly
|
||||||
|
attrs = {
|
||||||
|
billingStartTimestamp: { serialize: false },
|
||||||
|
minimumRetentionMonths: { serialize: false },
|
||||||
|
reportingEnabled: { serialize: false },
|
||||||
|
};
|
||||||
|
|
||||||
normalizeResponse(store, primaryModelClass, payload, id, requestType) {
|
normalizeResponse(store, primaryModelClass, payload, id, requestType) {
|
||||||
if (!payload.data) {
|
if (!payload.data) {
|
||||||
// CBS TODO: Remove this if block once API is published
|
return super.normalizeResponse(...arguments);
|
||||||
return this._super(store, primaryModelClass, payload, id, requestType);
|
|
||||||
}
|
}
|
||||||
const normalizedPayload = {
|
const normalizedPayload = {
|
||||||
id: payload.id,
|
id: payload.id,
|
||||||
@@ -13,11 +19,11 @@ export default ApplicationSerializer.extend({
|
|||||||
enabled: payload.data.enabled?.includes('enable') ? 'On' : 'Off',
|
enabled: payload.data.enabled?.includes('enable') ? 'On' : 'Off',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
return this._super(store, primaryModelClass, normalizedPayload, id, requestType);
|
return super.normalizeResponse(store, primaryModelClass, normalizedPayload, id, requestType);
|
||||||
},
|
}
|
||||||
|
|
||||||
serialize() {
|
serialize() {
|
||||||
const json = this._super(...arguments);
|
const json = super.serialize(...arguments);
|
||||||
if (json.enabled === 'On' || json.enabled === 'Off') {
|
if (json.enabled === 'On' || json.enabled === 'Off') {
|
||||||
const oldEnabled = json.enabled;
|
const oldEnabled = json.enabled;
|
||||||
json.enabled = oldEnabled === 'On' ? 'enable' : 'disable';
|
json.enabled = oldEnabled === 'On' ? 'enable' : 'disable';
|
||||||
@@ -28,5 +34,5 @@ export default ApplicationSerializer.extend({
|
|||||||
}
|
}
|
||||||
delete json.queries_available;
|
delete json.queries_available;
|
||||||
return json;
|
return json;
|
||||||
},
|
}
|
||||||
});
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ module('Integration | Component | client count config', function (hooks) {
|
|||||||
this.router = this.owner.lookup('service:router');
|
this.router = this.owner.lookup('service:router');
|
||||||
this.transitionStub = sinon.stub(this.router, 'transitionTo');
|
this.transitionStub = sinon.stub(this.router, 'transitionTo');
|
||||||
const store = this.owner.lookup('service:store');
|
const store = this.owner.lookup('service:store');
|
||||||
this.createModel = (enabled = 'enable', reporting_enabled = false, minimum_retention_months = 0) => {
|
this.createModel = (enabled = 'enable', reporting_enabled = false, minimum_retention_months = 24) => {
|
||||||
store.pushPayload('clients/config', {
|
store.pushPayload('clients/config', {
|
||||||
modelName: 'clients/config',
|
modelName: 'clients/config',
|
||||||
id: 'foo',
|
id: 'foo',
|
||||||
@@ -51,7 +51,7 @@ module('Integration | Component | client count config', function (hooks) {
|
|||||||
|
|
||||||
this.server.put('/sys/internal/counters/config', (schema, req) => {
|
this.server.put('/sys/internal/counters/config', (schema, req) => {
|
||||||
const { enabled, retention_months } = JSON.parse(req.requestBody);
|
const { enabled, retention_months } = JSON.parse(req.requestBody);
|
||||||
const expected = { enabled: 'enable', retention_months: 5 };
|
const expected = { enabled: 'enable', retention_months: 24 };
|
||||||
assert.deepEqual(expected, { enabled, retention_months }, 'Correct data sent in PUT request');
|
assert.deepEqual(expected, { enabled, retention_months }, 'Correct data sent in PUT request');
|
||||||
return {};
|
return {};
|
||||||
});
|
});
|
||||||
@@ -75,11 +75,11 @@ module('Integration | Component | client count config', function (hooks) {
|
|||||||
assert
|
assert
|
||||||
.dom('[data-test-inline-error-message]')
|
.dom('[data-test-inline-error-message]')
|
||||||
.hasText(
|
.hasText(
|
||||||
'Retention period must be greater than or equal to 0.',
|
'Retention period must be greater than or equal to 24.',
|
||||||
'Validation error shows for incorrect retention period'
|
'Validation error shows for incorrect retention period'
|
||||||
);
|
);
|
||||||
|
|
||||||
await fillIn('[data-test-input="retentionMonths"]', 5);
|
await fillIn('[data-test-input="retentionMonths"]', 24);
|
||||||
await click('[data-test-clients-config-save]');
|
await click('[data-test-clients-config-save]');
|
||||||
assert.dom('.modal.is-active').exists('Modal renders');
|
assert.dom('.modal.is-active').exists('Modal renders');
|
||||||
assert
|
assert
|
||||||
@@ -149,7 +149,7 @@ module('Integration | Component | client count config', function (hooks) {
|
|||||||
|
|
||||||
this.server.put('/sys/internal/counters/config', (schema, req) => {
|
this.server.put('/sys/internal/counters/config', (schema, req) => {
|
||||||
const { enabled, retention_months } = JSON.parse(req.requestBody);
|
const { enabled, retention_months } = JSON.parse(req.requestBody);
|
||||||
const expected = { enabled: 'enable', retention_months: 5 };
|
const expected = { enabled: 'enable', retention_months: 24 };
|
||||||
assert.deepEqual(expected, { enabled, retention_months }, 'Correct data sent in PUT request');
|
assert.deepEqual(expected, { enabled, retention_months }, 'Correct data sent in PUT request');
|
||||||
return {};
|
return {};
|
||||||
});
|
});
|
||||||
@@ -160,8 +160,7 @@ module('Integration | Component | client count config', function (hooks) {
|
|||||||
<div id="modal-wormhole"></div>
|
<div id="modal-wormhole"></div>
|
||||||
<Clients::Config @model={{this.model}} @mode="edit" />
|
<Clients::Config @model={{this.model}} @mode="edit" />
|
||||||
`);
|
`);
|
||||||
|
await fillIn('[data-test-input="retentionMonths"]', 24);
|
||||||
await fillIn('[data-test-input="retentionMonths"]', 5);
|
|
||||||
await click('[data-test-clients-config-save]');
|
await click('[data-test-clients-config-save]');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user