From ac52ba438a8eecccf3b7025c9ca2e739c83b6b67 Mon Sep 17 00:00:00 2001 From: brave-builds Date: Sun, 21 Apr 2019 05:20:58 +0000 Subject: [PATCH] Uplift of #2289 (squashed) to beta --- .../reducers/rewards_panel_reducer.ts | 3 +- .../reducers/rewards_panel_reducer_test.ts | 50 +++++++++++++++++-- 2 files changed, 48 insertions(+), 5 deletions(-) diff --git a/components/brave_rewards/resources/extension/brave_rewards/background/reducers/rewards_panel_reducer.ts b/components/brave_rewards/resources/extension/brave_rewards/background/reducers/rewards_panel_reducer.ts index e452febb48ef..ac02de89223b 100644 --- a/components/brave_rewards/resources/extension/brave_rewards/background/reducers/rewards_panel_reducer.ts +++ b/components/brave_rewards/resources/extension/brave_rewards/background/reducers/rewards_panel_reducer.ts @@ -82,8 +82,9 @@ export const rewardsPanelReducer = (state: RewardsExtension.State | undefined, a const id = getWindowId(tab.windowId) const publishers: Record = state.publishers const publisher = publishers[id] + const validKey = publisher && publisher.publisher_key && publisher.publisher_key.length > 0 - if (!publisher || (publisher && publisher.tabUrl !== tab.url)) { + if (!publisher || (publisher && (publisher.tabUrl !== tab.url || !validKey))) { chrome.braveRewards.getPublisherData( tab.windowId, tab.url, diff --git a/components/test/brave_rewards/extension/brave_rewards/background/reducers/rewards_panel_reducer_test.ts b/components/test/brave_rewards/extension/brave_rewards/background/reducers/rewards_panel_reducer_test.ts index e4345cede0f9..3ae61e97e6e7 100644 --- a/components/test/brave_rewards/extension/brave_rewards/background/reducers/rewards_panel_reducer_test.ts +++ b/components/test/brave_rewards/extension/brave_rewards/background/reducers/rewards_panel_reducer_test.ts @@ -59,7 +59,8 @@ describe('rewards panel reducer', () => { state.rewardsPanelData.publishers = { id_1: { tabUrl: 'https://clifton.io', - name: 'Clifton' + name: 'Clifton', + publisher_key: 'clifton.io' } } @@ -71,7 +72,8 @@ describe('rewards panel reducer', () => { publishers: { id_1: { tabUrl: 'https://clifton.io', - name: 'Clifton' + name: 'Clifton', + publisher_key: 'clifton.io' } } } @@ -120,8 +122,9 @@ describe('rewards panel reducer', () => { // imitates ON_PUBLISHER_DATA state.rewardsPanelData.publishers = { id_1: { - tabUrl: 'clifton.io', - name: 'Clifton' + tabUrl: 'https://clifton.io', + name: 'Clifton', + publisher_key: 'clifton.io' } } @@ -179,6 +182,45 @@ describe('rewards panel reducer', () => { expect(state.rewardsPanelData).toEqual(expectedState) }) + + it('publisher is empty', () => { + const initState: Rewards.State = { + ...defaultState, + walletCreated: true, + enabledMain: true, + publishers: { + id_1: { + tabUrl: 'clifton.io', + random: 'I need to vanish' + } + } + } + + const expectedState: Rewards.State = { + ...defaultState, + walletCreated: true, + enabledMain: true, + publishers: { + id_1: { + tabUrl: 'https://clifton.io' + } + } + } + + let state = reducers({ rewardsPanelData: initState }, { + type: types.ON_TAB_RETRIEVED, + payload: { + tab: { + url: 'https://clifton.io', + incognito: false, + active: true, + windowId: 1 + } + } + }) + + expect(state.rewardsPanelData).toEqual(expectedState) + }) }) })