diff --git a/addons/api/mirage/config.js b/addons/api/mirage/config.js index cd4de1f31..b7ff24208 100644 --- a/addons/api/mirage/config.js +++ b/addons/api/mirage/config.js @@ -632,7 +632,23 @@ function routes() { { queryParams: { credential_store_id: credentialStoreId } }, ) => credentialLibraries.where({ credentialStoreId }), ); - this.get('/credential-libraries/:id'); + this.get( + '/credential-libraries/:id', + function ({ credentialLibraries }, { params: { id } }) { + const library = credentialLibraries.find(id); + // BE API only updates these fields if there's an update mask, otherwise they remain unmodified + // but we don't need this flow in our mocks, so we are deleting fields with null value + const { credentialMappingOverrides } = library; + if (Object.keys(credentialMappingOverrides || {}).length) { + Object.keys(credentialMappingOverrides).forEach((key) => { + if (credentialMappingOverrides[key] === null) { + delete credentialMappingOverrides[key]; + } + }); + } + return library; + }, + ); this.post( '/credential-libraries', function ({ credentialStores, credentialLibraries }) { diff --git a/ui/admin/tests/acceptance/credential-library/update-test.js b/ui/admin/tests/acceptance/credential-library/update-test.js index 54ef95b86..89f97622f 100644 --- a/ui/admin/tests/acceptance/credential-library/update-test.js +++ b/ui/admin/tests/acceptance/credential-library/update-test.js @@ -133,8 +133,6 @@ module('Acceptance | credential-libraries | update', function (hooks) { assert.strictEqual(credentialLibrary.attributes.path, 'path'); assert.deepEqual(credentialLibrary.credentialMappingOverrides, { private_key_attribute: 'key', - private_key_passphrase_attribute: null, - username_attribute: null, }); });