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)
+ })
+ })
})