mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-31 02:28:09 +00:00 
			
		
		
		
	backport of commit 4fd4a0693d (#21402)
				
					
				
			Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
This commit is contained in:
		 hc-github-team-secure-vault-core
					hc-github-team-secure-vault-core
				
			
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			 GitHub
						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