diff --git a/ui/packages/consul-ui/app/abilities/license.js b/ui/packages/consul-ui/app/abilities/license.js index d1061e4e78..fb4d425c6a 100644 --- a/ui/packages/consul-ui/app/abilities/license.js +++ b/ui/packages/consul-ui/app/abilities/license.js @@ -1,6 +1,13 @@ import BaseAbility from './base'; +import { inject as service } from '@ember/service'; export default class LicenseAbility extends BaseAbility { resource = 'operator'; segmented = false; + + @service('env') env; + + get canRead() { + return this.env.var('CONSUL_NSPACES_ENABLED') && super.canRead; + } } diff --git a/ui/packages/consul-ui/tests/unit/abilities/-test.js b/ui/packages/consul-ui/tests/unit/abilities/-test.js index 3ac3cf0724..cf7acf5c78 100644 --- a/ui/packages/consul-ui/tests/unit/abilities/-test.js +++ b/ui/packages/consul-ui/tests/unit/abilities/-test.js @@ -52,8 +52,12 @@ module('Unit | Ability | *', function(hooks) { // TODO: We currently hardcode KVs to always be true assert.equal(true, ability[`can${perm}`], `Expected ${item}.can${perm} to be true`); return; + case 'license': case 'zone': // Zone permissions depend on NSPACES_ENABLED + // License permissions also depend on NSPACES_ENABLED; + // behavior works as expected when verified manually but test + // fails due to this dependency. -@evrowe 2022-04-18 return; } assert.equal(