diff --git a/app/renderer/components/navigation/navigator.js b/app/renderer/components/navigation/navigator.js index 62ca8ac90a5..29c6b2b1bb5 100644 --- a/app/renderer/components/navigation/navigator.js +++ b/app/renderer/components/navigation/navigator.js @@ -177,6 +177,9 @@ class Navigator extends React.Component { extensionBrowserActions && extensionBrowserActions.size > 0 props.shouldAllowWindowDrag = windowState.shouldAllowWindowDrag(state, currentWindow, activeFrame, isFocused()) + props.isCounterEnabled = getSetting(settings.BLOCKED_COUNT_BADGE) && + props.totalBlocks && + props.shieldEnabled // used in other functions props.isNavigable = activeFrame && isNavigatableAboutPage(getBaseUrl(activeFrame.get('location'))) @@ -186,7 +189,6 @@ class Navigator extends React.Component { } render () { - const blockedCountBadgeEnabled = getSetting(settings.BLOCKED_COUNT_BADGE) return
{ - this.props.shieldEnabled && this.props.totalBlocks && blockedCountBadgeEnabled + this.props.isCounterEnabled ?
null) + mockery.registerMock('../../../../js/state/frameStateUtil', { + getActiveFrame: () => defaultWindowStore.getIn(['frames', 0]), + getTotalBlocks: () => 2 + }) + mockery.registerMock('../../../common/state/shieldState', { + braveShieldsEnabled: () => true + }) + mockery.registerMock('../../../../js/settings', { + getSetting: () => true + }) appStore = require('../../../../../../js/stores/appStoreRenderer') windowStore = require('../../../../../../js/stores/windowStore') Navigator = require('../../../../../../app/renderer/components/navigation/navigator') @@ -100,11 +111,6 @@ describe('Navigator component unit tests', function () { const node = wrapper.find('div.backforward > div.navigationButtonContainer .forwardButton').getDOMNode() assert.equal(node.disabled, false) }) - - it('lion icon is enabled', function () { - const node = wrapper.find('[data-test-id="braveShieldButton"]').getDOMNode() - assert.equal(node.disabled, false) - }) }) describe('when active tab is showing a message box', function () { @@ -142,4 +148,30 @@ describe('Navigator component unit tests', function () { assert.equal(node.disabled, true) }) }) + + describe('lion badge', function () { + before(function () { + appStore.state = appStoreRenderer + windowStore.state = defaultWindowStore + }) + + it('lion icon is shown by default', function () { + const wrapper = mount() + const node = wrapper.find('[data-test-id="braveShieldButton"]').getDOMNode() + assert.equal(node.disabled, false) + }) + + it('counter is shown by default', function () { + const wrapper = mount() + assert.equal(wrapper.find('[data-test-id="lionBadge"]').length, 1) + }) + + it('counter is not shown when disabled via settings', function () { + mockery.registerMock('../../../../js/settings', { + getSetting: () => false + }) + const wrapper = mount() + assert.equal(wrapper.find('[data-test-id="lionBadge"]').length, 0) + }) + }) })