From f2594a1248ccf9b1832f3aff5289e6f9b8acba50 Mon Sep 17 00:00:00 2001 From: Tom Rees-Herdman Date: Mon, 3 Jul 2023 17:14:22 +0100 Subject: [PATCH 1/8] Flesh out the TopConvertingTrafficSourceWidget. --- .../TopConvertingTrafficSourceWidget.js | 95 ++++++++++++++++++- 1 file changed, 92 insertions(+), 3 deletions(-) diff --git a/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.js b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.js index e5180827f30..08faa059620 100644 --- a/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.js +++ b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.js @@ -21,11 +21,23 @@ */ import PropTypes from 'prop-types'; +/** + * WordPress dependencies + */ +import { __, sprintf } from '@wordpress/i18n'; + /** * Internal dependencies */ import Data from 'googlesitekit-data'; import { CORE_USER } from '../../../../googlesitekit/datastore/user/constants'; +import { + DATE_RANGE_OFFSET, + MODULES_ANALYTICS_4, +} from '../../datastore/constants'; +import { useInViewSelect } from '../../../../hooks/useInViewSelect'; +import MetricTileText from '../../../../components/KeyMetrics/MetricTileText'; +import { numFmt } from '../../../../util'; const { useSelect } = Data; @@ -37,14 +49,91 @@ export default function TopConvertingTrafficSourceWidget( { select( CORE_USER ).isKeyMetricsWidgetHidden() ); + const dates = useSelect( ( select ) => + select( CORE_USER ).getDateRangeDates( { + offsetDays: DATE_RANGE_OFFSET, + compare: true, + } ) + ); + + const reportOptions = { + ...dates, + dimensions: [ 'sessionDefaultChannelGroup' ], + metrics: [ + { + name: 'sessionConversionRate', + }, + ], + limit: 1, + orderBy: 'sessionConversionRate', + }; + + const report = useInViewSelect( ( select ) => + select( MODULES_ANALYTICS_4 ).getReport( reportOptions ) + ); + + const loading = useSelect( + ( select ) => + ! select( MODULES_ANALYTICS_4 ).hasFinishedResolution( + 'getReport', + [ reportOptions ] + ) + ); + if ( keyMetricsWidgetHidden !== false ) { return ; } + const getRowForDateRange = ( dateRange ) => { + if ( ! report?.rows ) { + return null; + } + + // Filter the report to get only rows that match the given date range. + const rows = report.rows.filter( + ( { dimensionValues: [ , dateValue ] } ) => + dateValue.value === dateRange + ); + + // As the report is limited to 1 row, return the first row. + return rows[ 0 ]; + }; + + const currentRow = getRowForDateRange( 'date_range_0' ); + const previousRow = getRowForDateRange( 'date_range_1' ); + + const topChannelGroup = currentRow?.dimensionValues?.[ 0 ].value || '-'; + const topConversionRate = parseFloat( + currentRow?.metricValues?.[ 0 ].value || '0' + ); + const previousTopConversionRate = parseFloat( + previousRow?.metricValues?.[ 0 ].value || '0' + ); + + const format = { + style: 'percent', + signDisplay: 'never', + maximumFractionDigits: 1, + }; + return ( - -
TODO: UI for TopConvertingTrafficSourceWidget
-
+ ); } From 04186ecac4ea05b5257f7e585ab712dc15e4c75f Mon Sep 17 00:00:00 2001 From: Tom Rees-Herdman Date: Mon, 3 Jul 2023 17:15:05 +0100 Subject: [PATCH 2/8] Add support for sessionConversionRate metric to GA4 mock data generator. --- assets/js/modules/analytics-4/utils/data-mock.js | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/js/modules/analytics-4/utils/data-mock.js b/assets/js/modules/analytics-4/utils/data-mock.js index ef62568ef69..90cafb6313e 100644 --- a/assets/js/modules/analytics-4/utils/data-mock.js +++ b/assets/js/modules/analytics-4/utils/data-mock.js @@ -46,6 +46,7 @@ const ANALYTICS_4_METRIC_TYPES = { engagedSessions: 'TYPE_INTEGER', engagementRate: 'TYPE_FLOAT', averageSessionDuration: 'TYPE_SECONDS', + sessionConversionRate: 'TYPE_FLOAT', }; const ANALYTICS_4_DIMENSION_OPTIONS = { From 89bb0bdefe751a28c734c8812af744fa4492a8ac Mon Sep 17 00:00:00 2001 From: Tom Rees-Herdman Date: Mon, 3 Jul 2023 17:15:39 +0100 Subject: [PATCH 3/8] Add stories for TopConvertingTrafficSourceWidget. --- ...opConvertingTrafficSourceWidget.stories.js | 143 ++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.stories.js diff --git a/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.stories.js b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.stories.js new file mode 100644 index 00000000000..ec8438859c3 --- /dev/null +++ b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.stories.js @@ -0,0 +1,143 @@ +/** + * TopConvertingTrafficSourceWidget Component Stories. + * + * Site Kit by Google, Copyright 2023 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Internal dependencies + */ +import { + provideKeyMetrics, + provideModules, +} from '../../../../../../tests/js/utils'; +import { withWidgetComponentProps } from '../../../../googlesitekit/widgets/util'; +import WithRegistrySetup from '../../../../../../tests/js/WithRegistrySetup'; +import TopConvertingTrafficSourceWidget from './TopConvertingTrafficSourceWidget'; +import { MODULES_ANALYTICS_4 } from '../../datastore/constants'; +import { + getAnalytics4MockResponse, + provideAnalytics4MockReport, +} from '../../utils/data-mock'; +import { replaceValuesInAnalytics4ReportWithZeroData } from '../../../../../../.storybook/utils/zeroReports'; +import { CORE_USER } from '../../../../googlesitekit/datastore/user/constants'; + +const reportOptions = { + compareStartDate: '2020-07-14', + compareEndDate: '2020-08-10', + startDate: '2020-08-11', + endDate: '2020-09-07', + dimensions: [ 'sessionDefaultChannelGroup' ], + metrics: [ + { + name: 'sessionConversionRate', + }, + ], + limit: 1, + orderBy: 'sessionConversionRate', +}; + +const WidgetWithComponentProps = withWidgetComponentProps( + 'kmAnalyticsTopTrafficSource' +)( TopConvertingTrafficSourceWidget ); + +const Template = ( { setupRegistry, ...args } ) => ( + + + +); + +export const Ready = Template.bind( {} ); +Ready.storyName = 'Ready'; +Ready.args = { + setupRegistry: ( registry ) => { + provideAnalytics4MockReport( registry, reportOptions ); + }, +}; +Ready.scenario = { + label: 'KeyMetrics/TopConvertingTrafficSourceWidget/Ready', +}; + +export const Loading = Template.bind( {} ); +Loading.storyName = 'Loading'; +Loading.args = { + setupRegistry: ( { dispatch } ) => { + dispatch( MODULES_ANALYTICS_4 ).startResolution( 'getReport', [ + reportOptions, + ] ); + }, +}; +Loading.scenario = { + label: 'KeyMetrics/TopConvertingTrafficSourceWidget/Loading', +}; +Loading.decorators = [ + ( Story ) => { + // Ensure the animation is paused for VRT tests to correctly capture the loading state. + return ( +
+ +
+ ); + }, +]; + +export const ZeroData = Template.bind( {} ); +ZeroData.storyName = 'Zero Data'; +ZeroData.args = { + setupRegistry: ( { dispatch } ) => { + dispatch( MODULES_ANALYTICS_4 ).receiveGetReport( + replaceValuesInAnalytics4ReportWithZeroData( + getAnalytics4MockResponse( reportOptions ) + ), + { + options: reportOptions, + } + ); + }, +}; +ZeroData.scenario = { + label: 'KeyMetrics/TopConvertingTrafficSourceWidget/ZeroData', +}; + +export default { + title: 'Key Metrics/TopConvertingTrafficSourceWidget', + decorators: [ + ( Story, { args } ) => { + const setupRegistry = ( registry ) => { + global._googlesitekitUserData.isUserInputCompleted = false; + provideModules( registry, [ + { + slug: 'analytics-4', + active: true, + connected: true, + }, + ] ); + + registry.dispatch( CORE_USER ).setReferenceDate( '2020-09-08' ); + + provideKeyMetrics( registry ); + + // Call story-specific setup. + args.setupRegistry( registry ); + }; + + return ( + + + + ); + }, + ], +}; From bb333faed096b177cea15d43950a688a0ada9365 Mon Sep 17 00:00:00 2001 From: Tom Rees-Herdman Date: Mon, 3 Jul 2023 17:19:38 +0100 Subject: [PATCH 4/8] Update translator comment. --- .../widgets/TopConvertingTrafficSourceWidget.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.js b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.js index 08faa059620..3743be519ef 100644 --- a/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.js +++ b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.js @@ -122,14 +122,11 @@ export default function TopConvertingTrafficSourceWidget( { title={ __( 'Top converting traffic source', 'google-site-kit' ) } metricValue={ topChannelGroup } metricValueFormat={ format } - subText={ - // eslint-disable-next-line @wordpress/valid-sprintf - sprintf( - /* translators: %d: Percentage of users for the current top traffic source compared to the number of total users for all traffic sources. */ - __( '%s of visits led to conversions', 'google-site-kit' ), - numFmt( topConversionRate, format ) - ) - } + subText={ sprintf( + /* translators: %d: Percentage of visits that led to conversions. */ + __( '%s of visits led to conversions', 'google-site-kit' ), + numFmt( topConversionRate, format ) + ) } previousValue={ previousTopConversionRate } currentValue={ topConversionRate } loading={ loading } From af7f0708e87fb276885a502a8d58ed3413ae1a39 Mon Sep 17 00:00:00 2001 From: Tom Rees-Herdman Date: Tue, 4 Jul 2023 10:22:54 +0100 Subject: [PATCH 5/8] Add VRT reference images for TopConvertingTrafficSourceWidget. --- ...cSourceWidget_Loading_0_document_0_small.png | Bin 0 -> 5435 bytes ...SourceWidget_Loading_0_document_1_medium.png | Bin 0 -> 9565 bytes ...cSourceWidget_Loading_0_document_2_large.png | Bin 0 -> 10766 bytes ...ficSourceWidget_Ready_0_document_0_small.png | Bin 0 -> 13700 bytes ...icSourceWidget_Ready_0_document_1_medium.png | Bin 0 -> 17029 bytes ...ficSourceWidget_Ready_0_document_2_large.png | Bin 0 -> 18251 bytes ...SourceWidget_ZeroData_0_document_0_small.png | Bin 0 -> 10195 bytes ...ourceWidget_ZeroData_0_document_1_medium.png | Bin 0 -> 13469 bytes ...SourceWidget_ZeroData_0_document_2_large.png | Bin 0 -> 14650 bytes 9 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Loading_0_document_0_small.png create mode 100644 tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Loading_0_document_1_medium.png create mode 100644 tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Loading_0_document_2_large.png create mode 100644 tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Ready_0_document_0_small.png create mode 100644 tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Ready_0_document_1_medium.png create mode 100644 tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Ready_0_document_2_large.png create mode 100644 tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_ZeroData_0_document_0_small.png create mode 100644 tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_ZeroData_0_document_1_medium.png create mode 100644 tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_ZeroData_0_document_2_large.png diff --git a/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Loading_0_document_0_small.png b/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Loading_0_document_0_small.png new file mode 100644 index 0000000000000000000000000000000000000000..b7378506b79c71779cbd0b4e90e6a5fe0460e833 GIT binary patch literal 5435 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 literal 0 HcmV?d00001 diff --git a/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Loading_0_document_2_large.png b/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Loading_0_document_2_large.png new file mode 100644 index 0000000000000000000000000000000000000000..b85a396b968c131460d950772d1ca7a411e62dc5 GIT binary patch literal 10766 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 literal 0 HcmV?d00001 diff --git a/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Ready_0_document_0_small.png b/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Ready_0_document_0_small.png new file mode 100644 index 0000000000000000000000000000000000000000..b2729321f7bb5a2272de3fe160ece36125b9dc74 GIT binary patch literal 13700 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 IKY8=N0C<5AlK=n! literal 0 HcmV?d00001 diff --git a/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Ready_0_document_1_medium.png b/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Ready_0_document_1_medium.png new file mode 100644 index 0000000000000000000000000000000000000000..1f5461e0b333e63909493e6d6a3cd658539f8506 GIT binary patch literal 17029 zcmeHvX;@QN+iv>$R^Psew4Yz42#6L0E0c_oF>R?Jb43A>Nli$~tb{2*5~~$zWlUrU z1gMokWKxD8vx))%lE^FxAs{4?Aqfyj$b7c%Ip?~*ALlyXch2?wlt260D{HUe-s^du zdp+yk-22(bP5qxo{|N$t)ZNejk3>xL;AV>2x_A0tb#zt zLGC~Oa4D6z!9_DdJ=Sg?x|HcSt^GgoaJN-r~&4)~S zSTROMrYv2UBiim{>fbX|O%4$X6FnGH*i$a8Wu|2qiu z&0bVgR13Evozuy!7!}eWtY)Y<+D84T_4#aIrsnqRW{$gJ#xrR<@%1+VQrFwfMx;q& z%A=3{>R>b{@ka9!fLXFbI=>Tfy3nIPXV&}&5`SC-6q+Y1BnA@97cCyu?>`p2@O;%( zYc9%iK0v64e!TU@hMrtU=A&328}^&hGo9id7cS90{&WG`mT&y=Z8%)(c>W^?IRpS# z{Fm~VhZxl310O3;;%p9rL|THtVAU`DR28e54iMwN=jFBlpnrIRv?I=g9G3r)p}!l z54+*H<IlC|xU|cHOiFv_EuoqX+Q2J$%5)yiwCy`hv2hP@e$cH- zLb>Xtq=xz9H*Dn9+kxnmV?>NQ|JW{p2)Wrj)x%eDCOq-I(j+ms0*Y{woKIgf%s4J^ zjQR<;0@g;WG&^^0DZ{`Z(7~AWu+*iy#iEE?9@P`Ro^vg|nR#Qw3Rn2bQ-m;FEdc&L zomJr?)+T(FWaC~jI&lC~boV}{e5g_vSDg3Q^Q3!M@Bb!Lrw2AG-<+{F&ujiJ@GbYW}RdIKqS3RT2n+Fy!Y)+=eM zreJY$o@B7AGWC?WUH+|xlQdEEjR;U$Kk>hPk>Sbg(oV_UgKB(^J_ z5lRc70v2x`IUUvR%Mgfu5Z#Un#-s_hv+dVtllcZHONeC9rjxw{se1U#Y&00o7RjP5 zljX{}ZYU=1`I1aRJC_Gf3Uvuk(XcDIbN$`}*A5_F!?EX@wGnyQzs&3NAmxP&y)@Jz zhaFW_ORrs1w~bIQh|sHjfGbwRmN@94&Kc@#*9JKYq!}rz(c3kUdQY5*VjRMD$kWSr zZ>~?j*2mD(#TDp_Mh>g-hsRh4Y1)U57L>L_m3t3aT!}}hYmd~XPQvRM!#*|jZN@m$ z#MZE>r{P>qS+MX4STFxtaOlAA?I&8SQ^Emg7O|&MZ;YQr_9A@vS2piAWbA&W<&dHH zDpeX-Ha5PuKHo#OKPtM6TMcAAD1scMVa(I*HO2^qm2j_xy^&tL!RQgiDK*S=5v$p& zD^T5AA=KdZ+wLi+bMiP2>odI+Xy3gd!I);eG$=r|ib0`;3%vbK)fp&Y{fiS6)CvuaO zJr5%axKwr)SDx2LR1BccZ!-{6_>OK4N6=zC1r9pvJ* z1J$ykA`?Yfffk`U==mwTy5A~DC+cM$3in5}Lq=+-i^R05}V6wJf z$CB7r{y1=`Cl3E=HDhPoB;L`HtFxOq#op98E9xLG@`$RXIg+<1Hhq1LW5-ws0YZxU zKHK3Uh%z-Q4COb&o$k|8j69UkhAPgBJfkwfwW!x!tmzehsCd*$jXqgkpdC7WS(%y+ z)c$FvKQVD3ZS8{r`7oml`e8HsvZjek7W_s^N>g=H zZ~qiO$V}9A5s%hqE|kr&%8QMP=ciK0inAuZ7;Uq$p94%m^tSiP?)8 z*|)WOOV&^~Rx8CVgGU*Xcp07}CjMF+Gt2`H=9*vu65+6GWC9<-^ohRosn+K9+6i zv7eZa4deJ>W6v6Qb?wcP`lVrg;`$}jz`NaIs0ht_S(m=DAWw+!2137|(91KfGa{@g zE~%>2;7)4-+p72MY3+J#2Q!(or9+Cd9M&ZaDWX>5E6rGbsWI4GF1;AR-n?Vkg!;)f z`0wL;1DRHXD>% zv)gl6?b4UV#YT^OM(na;m%?5s47m@$tP<^}uCovwXX}qYv37sWZkki-Fsw5|1_eUJ zyz`!lv#4IHyA^219%gYe>mkM6S?ZLL+5mWezvO4vxTHT<{Ihf)@Z+&|m0>$YMCA4% zokvSaF@~lgMvliDmM0hIzeU7BLOQKUM+T z+uWEe-racpFC@PCNCGE|KU-T%UR3w({xJnn5wcKTx+H7D9)G%h$ox6i0CwK5NuCP(E1m>R? zm$C5u7~WeGl|(mE%h3!GYcZH+<>tNSy0iST*Qe9M=Q$RlC+qA^0WU52jS8T%VH5i? z`LX1;iiFLF0~hz`p(qy(>UW4ns)j1o2R>hUFxK%@Eivi0U>-0cu*GJ45I|l}RW)~* z9C}x40#Mz9iU0px{XbHB%kS?r80*Hyq8b{VbVI9WTde4oim`zf)#LuL&yfz&q?M*z zk>kuvk?6CVSGz1_#96rN0+w(;*rWM#5JSnv*=?%amLDaL4ua}hh5+!qE;Q_@KwHYTS%^aPf>$A$H zdMEKhB8J+Z5C+fKk!Qy$!>Dm)UG%U>;*BfLjt?QOYa{d8@znQGp@w0p>3!+^cT-IY z$zRbd!r`VEG9{2Uk`+(D4Ju0xfj}R?`@S76n%}M-3n{hMK?l{S6kFO^=VGCUAYyGv z+7JWzDoM?fw>C#eV6IFV1zB>XW1;ktdqzH9L*?P46d~QuPC7|Qp7>zHAeoQpc2I_i zMWjUk(uBQd2zJ}eQA;89TwSi6bFJ^Yt2Mdj2xvwlq4%mgy}mtC$L0jyw;V^N?5@vB zUS;5MC@?oTh3Xr;HtBfHgX$dNCt@vrJ6$?EgBW{uF=5ZuVXELa2JHD1O=Vr4TS7_1AmOW5b7+fi8DP8%j4cE)uUE^kwcup=w&J)=1T`Vsz zN7FH4>|?jU=p&HJ-fM&0&3zqPU4u6XsaH>~#!zr>w(@h)9MTlKEgG9IJ0dqpAvzek z2lpi{AuJI=C%xS=>{;dF`|`9c+IFw8Q8j%6mvi_p{nq9lM`Ur%m_?xStcGK1I0mB{ z=oHZL6CtsbY~%RhzhdmeU8qV?o^X983(4w$Jh+!cZt3nTTGxz6x*-MCdStd*Q8oW< z>o%nuQ{WbiEl~ArxezYT5{k;43C(dgWpo|o_^4&XrIVvaGE4;(H_jh|Z0+mZW3;yZ z(#l08vKNdYxKYi-8p&(y7}iYbe}t*3m!~b**kND@PPl>)!s=?3^(9)xZ1hre~y8G36GHsh5Ow~SfcDJAC zTZ$;UWXXS|dQdl%LsNQtYcVfXwoxc!MO4^|yJRGX%O2(oPR)YZn-`nOZB}6PzAI>- z=TbKbwgYW6>7&~#`lo-a2*P)~1~T?UOo z6J0sAUnEl~loXO-lG}<999l$%9=#aMC>b9LdC(k!3aB9_gbc!r8DJl3TQ{GYV(w&v zcRkst24`ogsrq$nmYxzf=LkU)?JspY+6~o**uubLmE+NQh*;r+4CVY6b(b^|q8?KD zJXbyU=D;i6g<=at7(UV{#}|r5A0288^|ha*Pju}Tnjnc#4z~VTG_TDyr(*)lIEBdEXvC@*CMM0bd)xft`;a zB+t)?(wWwekSj9f3Aa8$OPhIE{#?fbaXr2aF9D;^2*Lu$8qHr|^L_SFpw3Kril(^7UZt6fLLI1mWU) zlMDlbBiy)o{c=gVUY%i*x0Y4Ha=8EL;04%yNE1_Do5xIZUAVbKZ1Z2AuzvDgVN^Pt zMKUR$Hq~fpmyqhZY@OEDNIgwq_1?=R?sf_!K0zvjudFfVu03{39_Pn449HtA!~`{^Gg#7z_sgJWG zocDE8)7{R!cOBeJw+YBm*P4g8wsupW;9S-(dfjx!L|EjAGML^>B1kp~#fapjgc_AB zLaTpCP-+;lUE;wpyIe$~?jqa3y2UhBVzP)uzas6TIdlX0xXpiSmGx(tkl%^XCPUT+ zu^r`=;xGq@Hl+S9V^2766F!HFitzG*h)YcOGh9pa$SW5LR|?9IFA-eMv-T8fyZK%e zwVxERT(uzQ_`mS7&^-kR0mibC#Vs*1uhjQgjSOOg!gU2Rw-kb%dzt zg%m{{wOk#+jtvd%aW$3*%{J9Iuhr7V7SZXbvqH2yGsvzIG0HZE(eM zrWLDV2I@OfKp{ib;wahOS1vl;xGvHoRFRrx^9=M?5kT;319*t1A7rUTzDczpq_K-F zp<$jJlh`0xna9yX0LR4gTQX9AT(%v0m)PUL*TI{Ip^+T3IM4P8;xbFT6=EG1w{Y`) zCJm-n-r6r;HE|UFG1e*kBV&0wAUQ^R88_wM?8^ezF>*U3ZH$pSTA`Ui?_r~eAwt;ZdG15_?yj|bllVLa{MNWSlHCCYK zWPI3YK7X!}TV00^dZJ%8QDRW%eGwUI@8E!Mi=f}_sF5H$xSL@!mxtcZ5$xiBC`z=3 zZTtpJkXMb@h028Koc7u)jhu=gtH~Kh3;d9E+|!7_W5H*@jq3OWm{6+VN0nE0j+R=Y ze!PeinGjpgCLK16NJQgu&vh=7f`Z-!0O1d4?b+d0Y^-fs=<-A-f!Sg*Eh-u-x3Qu? zbID8VgRC`C?;MRlu&6(oSA7C%q+1Da`B+>@Xk_>q<4LZW4?W0Hb@2MLQ{&O$8xDC1r+-v8?u(ypK z(wogEb;nWUUL&YlA1{S1ZNQM*!i0Jm7z^kyINSi&^=qB*nFtMqOD zxmk>*m0M`heWRVG!J-Tq(@y@{*s{A3M{k1<-i@bSz=9ok?(|>|Z1DC>RjW;Fd|3g( zlvfrLS{5}ryRGy@#NLR8xxvFxt~I7%V#TWv)%d6tG!iG8L#Y762-LiEkx^pOx3y2Q zE~X4a%X*s7TVrD}k-kZD@5g##1K=IWO&2qo^wHUS*8XFnU zJ3o|68`#h7XP;i*M&_%XAM}lOvLTDR zP6!(2`kh(Fw?awBu_>#FL8z0H6J*0qcI#1EUkfZ4y1)=_f#pH8D&K{1;fuq@=@ppw zTql-du`I1rlzx%M)oetOC-3t=NaSt{ETqWIY*oUM8>I!9mChi?g3UijXtn8`e4`q% zm))YblU}82#}(qhqlL4CTN2~h3@lBSUdnQ8=l~*5VFD#yoUDt^fziZIKPOu>Y z)Y8`sCk<`lXkQaH>*MMUo|vtmE8>G1%8AYMN$J$lz3fogk(Sne1z#s=bv8j@QOw>n z@Qjmq)y!f~r4Xkcz%G~%5=&^TgdpdwluB}Vp6u$x8AE)YF1{ucCVy;WUZ;o5FjH=C zMfa^|t4!7Hwx{yAJ744k6aT7@h&z(&2w$#`%o$>@d;wV2 z{0!{XJ6>~ZWP;Bzq(7V*O(PrG)Swr}OpaQeoGc}6(r@A|pGgTJH+)Xk>N!~~59N%m za&uWq9rS!3&>SalZDJ}Ry04u-656hxG(7{5b-T`+cc2z=iryRT%RVDp2NvenjXe2d zTl3pJ#q5g828Dvi%OMze1N)F2wf?5~C=V!NNNRkYan>yqNy5h9GQAw(a%u3XltsrF zRY?p&fmT5FfxfR)zZHB0Pp{dvC^C@gIoUxSG^^X4+!@&+3A^vJo!TrKk#K~lp{Om; zp(S-;!z6~WmR}cJfs16RB8~-1`%xQ82J%YM%_nYNh7sOe&WB6aKdrz%3c3j13=2&vQ1&ss80ii{t z;P_$PM~3i>NfAph?aam7shT(;iL+IdV_%N9?>z}Q6P@9V<-Weex7TkxOdZ{EhvKs- zLwRKdz9zqnW|e{aVg9VC2U60TNZyF62JDw$Iw4b^lz1)UV zZD!JyiPf!^X0_O~>ps3X5drX$m4KJjDUQUaSxu5itTel6a3gAu{6Niobg6xPXzjxj z^oi$dWu<1nEYdAVIhFtMZF^!_og(m|Wu>thS(r!Qxy7vgg%oHXn) zX`iy(feX;BN~Y?cK`xQ*{IE^_0fds$5;UAz12mR`;10QqLSYm=V7p=!cvUkYWfUzK>M z**i*G+b@Vt68-vxZe%pi3(5>=>esP9Idq8wTPsA)_VpR(QKVjdbW1}cJ*Moqr=m&+ za_wf5YDzuQ;kt)mZ1s>m9Bq)LCo7mAC%t6nc$^GQ`}?)(Cg;dt;v3y{2rS)=#L9pm z*q&h15E&O62n4EZ9n21UJ>JbR(IdBcY-Fl_wzo!KtywXlrcv__N11tUH6(nyJWF-J zDtf@^<3<^4oVEy~p?O?m`J)A$GVhJIs1M816e+-`-o_`ZjA6TYp=AAvP}!fJuH0Db zy7Z*HPA?^(55wC6l1TBMU01BcO+kdp$%L&cby8Hf&Bf+e+Jp5tS{67x;dJlIKK5MS05~U}+Vo}|ZvC&tI5$tuh`0D(qA@2J!vr!2*<9IXVsaZ}TwGH9r z(=Dn@kRFmZR!$+dpB+Y$Wk=xKT*H{%c(!!eY^3dTz2VQ@ba10?Gu6?NHr_^<6Rgsw zk|XVheMVQ+5i7k=c*J~l3PL1v6}%Od@wiEvY&miPeqiZZPO>@RAGA9@j5-nWI^(ZLH*KyF-G?Wcv#L=sBH! zux9{}w(LCm%>VDq)e#lvVS^W9wR-0V--?mt)sa8sk%xdmeAjy%NYCegCj2>%E6kG9 zZsk4O4XDx2L)@%jsV@kC&D8^otG73>!W&&-1{NfrKzm_7>iN#Uv`xT{rg2!%`fa~? zZ+7VWH$Cyd){CV6`*9f>6P)%%_mn{ROWOW-`#b>AO&^1&w>Dl#y(El*Wba(&FgJT0 zcjzfAcj6bYJX*j?fu1)lTP6Ov;;5xbvuqS^#WtnPrK<&-ho`2;N%BZJ*u9p4go&W6 zmAW}Fd@zrJD~KPhtJN#N5PjgX5-;H7`e$*+G&zixsDP?cgkM>gv*08Mbmqo}C~&x9 zwU!~lfY*%)$y|+Xf$2J=qk$LhT&C94ZH}V6_R=B97xA~!V3NCXV8tq z`fAvGtb*)!1a_?k|Az zqvPF*uYp1Ap!1FRBZ2+hjsr)dXTqa{Z^rj2%p2_%iSa9w@mduIsP*Vt4tjQ;h!RL; zJ+bcwT@GTGy8&j`#7tbWu~Qj6N|-oTTfG&i37?MkrM|v%$h|_h5L>a^-7x&STwc0L z?rs`mxb4Kd?-z0?h zcbaQ7+aJg74lbF?e-VIvMqZ*$K~&QuP7Ebmn?I6I)?AsIRVQz59iH5Ik<}kfL zo`!o9>o4wEAJN%-F-1fv(Wt2D1-nHj zO?Iom{!Fm;*C0@8B%OCBhIWv=cBw;o`&!n@Zpj&GdcS$TrCOD0H z9p{LvR7Lr_>ZS}IseHZH9W=X=d%}pj{fM408tJ#+8u2mS7d z?Um@KA;58XF%giE?T~P@_N^A!CpU>Q=;Rk5au4UM|nGibL&K7=Q3TuzBfxGcJ#t|hQ^oztyyN_iJ=Po z;joUB?J2?b>q!^O>nlg%5Ft`UND?={z2o#knZFjUxHsm!Uu#O{6pT{%Joep1z>U7} zq{ivNTrL(jIkqY^`RMO+Aqat-oEd7>V3!qh!+&kASc9D3TZSASws|8W`GyePoMjr4 z*RnVdKm4_3XM4T=59N_pI$lmTN+iB~@33@w>GAYrQ~*qnoiSIlwR0JBgR;}J!3?J` zTn)(A?3PMaCG$hH;ePnJfE?9%=cnbhrZaI{rGUn6^SbThM~@!Wn(v#M=Fv5*_#TL3 z6h(Jp?$^GKMPIvQa(y#*S@EVVPL-kdj8Am z`0W_rh-jcCd^KX@-+)VIP2ay9>fZo|deYq`O!${t@xwabJ0InZn>d@Rw_|=54Oenr zY!FH(JXbaETqFZG2aleu1+4x9V&9Yf`w{2E@Zgn*xj`cn4G<6{!pa9SzOe?9gs*ub z-=O)aV{=ye$QuDG;-CsrsC4Iz($+djtDJ1QtMqO#{(8?7s8L4doDgT2^4XAi_L5k)x% zmKA?&?ZqLjp9Lp?5S422Kb5dMcEf;JRSE?XcmROdwx273(8aA32)_ji_Ll;3Oy>i0 zddi=b_cDP3Y>Z<3NA#hV>H0u13IGhW&-*{9IRDX7QBl!wrTqy_4G5UuoRZf6DrG+t z19Ce^=Es6BKNg%E4mk<*A9ni5bW}fD9@vjQlh}S`7Xw7C#dACj?4C=1SoT`S@sGOL zkwRm%86er){A))pq;UcH>Uu{#)E%-vs0IG3abVNN?B{?i;K9t~@Zusy&mwwlYYtIK0i?Hnb(buEdHZLmg*s5r40s$L z)!yZ)clEjF?U-`^`he>0ZioM+()|tS|0yF_{O=N=oVVQpQ~qw z0T>79o0WK{Y^Ml-xq1Bt(BP}ze*FIC@JBva@(+OLy!h!OBQg9DAk$~Q`j|$z_c6or zsp=;LJ|XZ4flmm0Lf{hupAh(jz$XO$KM=U!cLosg{mtm({{{HOIzJ)se@DQ*_KD$V VJiQk`1Jyw8=X`!@`tj=R{{avE0!sh@ literal 0 HcmV?d00001 diff --git a/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Ready_0_document_2_large.png b/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_Ready_0_document_2_large.png new file mode 100644 index 0000000000000000000000000000000000000000..f1c960f0a33be205344bd98456b84b769750d86f GIT binary patch literal 18251 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 bzKA=af?04kJ0rH}T3rLY7y+{uw5$T~s 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 I_Z~(3A7;w+x&QzG literal 0 HcmV?d00001 diff --git a/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_ZeroData_0_document_1_medium.png b/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_ZeroData_0_document_1_medium.png new file mode 100644 index 0000000000000000000000000000000000000000..a2fcbe8e0512c8292dae0b7db33c8c5f32da85df GIT binary patch literal 13469 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 AqyPW_ literal 0 HcmV?d00001 diff --git a/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_ZeroData_0_document_2_large.png b/tests/backstop/reference/google-site-kit_KeyMetrics_TopConvertingTrafficSourceWidget_ZeroData_0_document_2_large.png new file mode 100644 index 0000000000000000000000000000000000000000..9cdcc91b36b957932c63832b66ec462d9b2876ef GIT binary patch literal 14650 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 BSHu7S literal 0 HcmV?d00001 From ced08338291f570f131c7ee3c29ef2ad437800bb Mon Sep 17 00:00:00 2001 From: Tom Rees-Herdman Date: Tue, 4 Jul 2023 11:53:31 +0100 Subject: [PATCH 6/8] Add tests for TopConvertingTrafficSourceWidget. --- .../TopConvertingTrafficSourceWidget.js | 12 ++- .../TopConvertingTrafficSourceWidget.test.js | 91 +++++++++++++++++++ ...ConvertingTrafficSourceWidget.test.js.snap | 46 ++++++++++ 3 files changed, 145 insertions(+), 4 deletions(-) create mode 100644 assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.test.js create mode 100644 assets/js/modules/analytics-4/components/widgets/__snapshots__/TopConvertingTrafficSourceWidget.test.js.snap diff --git a/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.js b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.js index 3743be519ef..5c6698ed3bd 100644 --- a/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.js +++ b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.js @@ -68,9 +68,13 @@ export default function TopConvertingTrafficSourceWidget( { orderBy: 'sessionConversionRate', }; - const report = useInViewSelect( ( select ) => - select( MODULES_ANALYTICS_4 ).getReport( reportOptions ) - ); + const report = useInViewSelect( ( select ) => { + if ( keyMetricsWidgetHidden !== false ) { + return null; + } + + return select( MODULES_ANALYTICS_4 ).getReport( reportOptions ); + } ); const loading = useSelect( ( select ) => @@ -95,7 +99,7 @@ export default function TopConvertingTrafficSourceWidget( { dateValue.value === dateRange ); - // As the report is limited to 1 row, return the first row. + // As the report is limited to 1 row per date range, return the first row. return rows[ 0 ]; }; diff --git a/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.test.js b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.test.js new file mode 100644 index 00000000000..83573aa1d26 --- /dev/null +++ b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.test.js @@ -0,0 +1,91 @@ +/** + * TopConvertingTrafficSourceWidget component tests. + * + * Site Kit by Google, Copyright 2023 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Internal dependencies + */ +import { render } from '../../../../../../tests/js/test-utils'; +import { provideKeyMetrics } from '../../../../../../tests/js/utils'; +import { provideAnalytics4MockReport } from '../../utils/data-mock'; +import { getWidgetComponentProps } from '../../../../googlesitekit/widgets/util'; +import { + CORE_USER, + KM_ANALYTICS_TOP_CONVERTING_TRAFFIC_SOURCE, +} from '../../../../googlesitekit/datastore/user/constants'; +import TopConvertingTrafficSourceWidget from './TopConvertingTrafficSourceWidget'; + +describe( 'TopConvertingTrafficSourceWidget', () => { + const { Widget, WidgetNull } = getWidgetComponentProps( + KM_ANALYTICS_TOP_CONVERTING_TRAFFIC_SOURCE + ); + + it.each( [ undefined, true ] )( + 'renders null when isKeyMetricsWidgetHidden() returns %s', + async ( isWidgetHidden ) => { + const { container, waitForRegistry } = render( + , + { + setupRegistry: ( registry ) => { + provideKeyMetrics( registry, { isWidgetHidden } ); + }, + } + ); + await waitForRegistry(); + + expect( container ).toBeEmptyDOMElement(); + } + ); + + it( 'renders correctly with the expected metrics when the Key Metrics widget is not hidden', async () => { + const { container, waitForRegistry } = render( + , + { + setupRegistry: ( registry ) => { + registry + .dispatch( CORE_USER ) + .setReferenceDate( '2020-09-08' ); + + provideKeyMetrics( registry ); + provideAnalytics4MockReport( registry, { + compareStartDate: '2020-07-14', + compareEndDate: '2020-08-10', + startDate: '2020-08-11', + endDate: '2020-09-07', + dimensions: [ 'sessionDefaultChannelGroup' ], + metrics: [ + { + name: 'sessionConversionRate', + }, + ], + limit: 1, + orderBy: 'sessionConversionRate', + } ); + }, + } + ); + await waitForRegistry(); + + expect( container ).toMatchSnapshot(); + } ); +} ); diff --git a/assets/js/modules/analytics-4/components/widgets/__snapshots__/TopConvertingTrafficSourceWidget.test.js.snap b/assets/js/modules/analytics-4/components/widgets/__snapshots__/TopConvertingTrafficSourceWidget.test.js.snap new file mode 100644 index 00000000000..e42a44affe7 --- /dev/null +++ b/assets/js/modules/analytics-4/components/widgets/__snapshots__/TopConvertingTrafficSourceWidget.test.js.snap @@ -0,0 +1,46 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`TopConvertingTrafficSourceWidget renders correctly with the expected metrics when the Key Metrics widget is not hidden 1`] = ` +
+
+
+
+

+ Top converting traffic source +

+
+
+ Organic Search +
+

+ 54.9% of visits led to conversions +

+
+
+ +40.7% +
+
+
+
+
+
+
+`; From 96cf06147133fa263adff5e50363f11d5b574f4a Mon Sep 17 00:00:00 2001 From: Tom Rees-Herdman Date: Tue, 4 Jul 2023 12:29:10 +0100 Subject: [PATCH 7/8] Tidy up. --- .../widgets/TopConvertingTrafficSourceWidget.stories.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.stories.js b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.stories.js index ec8438859c3..02328c4b46d 100644 --- a/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.stories.js +++ b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.stories.js @@ -26,13 +26,13 @@ import { import { withWidgetComponentProps } from '../../../../googlesitekit/widgets/util'; import WithRegistrySetup from '../../../../../../tests/js/WithRegistrySetup'; import TopConvertingTrafficSourceWidget from './TopConvertingTrafficSourceWidget'; +import { CORE_USER } from '../../../../googlesitekit/datastore/user/constants'; import { MODULES_ANALYTICS_4 } from '../../datastore/constants'; import { getAnalytics4MockResponse, provideAnalytics4MockReport, } from '../../utils/data-mock'; import { replaceValuesInAnalytics4ReportWithZeroData } from '../../../../../../.storybook/utils/zeroReports'; -import { CORE_USER } from '../../../../googlesitekit/datastore/user/constants'; const reportOptions = { compareStartDate: '2020-07-14', From d4f94919fca3bc4d23029ec3be9c1b7df44504cc Mon Sep 17 00:00:00 2001 From: Tom Rees-Herdman Date: Thu, 6 Jul 2023 12:16:57 +0100 Subject: [PATCH 8/8] Remove unneeded initialisation of global data. --- .../components/widgets/LoyalVisitorsWidget.stories.js | 1 - .../analytics-4/components/widgets/NewVisitorsWidget.stories.js | 1 - .../components/widgets/PopularContentWidget.stories.js | 1 - .../widgets/TopConvertingTrafficSourceWidget.stories.js | 1 - .../components/widgets/TopTrafficSourceWidget.stories.js | 1 - .../components/widgets/PopularKeywordsWidget.stories.js | 1 - 6 files changed, 6 deletions(-) diff --git a/assets/js/modules/analytics-4/components/widgets/LoyalVisitorsWidget.stories.js b/assets/js/modules/analytics-4/components/widgets/LoyalVisitorsWidget.stories.js index ff61759dc56..a24dc02e3a8 100644 --- a/assets/js/modules/analytics-4/components/widgets/LoyalVisitorsWidget.stories.js +++ b/assets/js/modules/analytics-4/components/widgets/LoyalVisitorsWidget.stories.js @@ -100,7 +100,6 @@ export default { decorators: [ ( Story, { args } ) => { const setupRegistry = ( registry ) => { - global._googlesitekitUserData.isUserInputCompleted = false; provideModules( registry, [ { slug: 'analytics-4', diff --git a/assets/js/modules/analytics-4/components/widgets/NewVisitorsWidget.stories.js b/assets/js/modules/analytics-4/components/widgets/NewVisitorsWidget.stories.js index 414576486ab..a431632f391 100644 --- a/assets/js/modules/analytics-4/components/widgets/NewVisitorsWidget.stories.js +++ b/assets/js/modules/analytics-4/components/widgets/NewVisitorsWidget.stories.js @@ -102,7 +102,6 @@ export default { decorators: [ ( Story, { args } ) => { const setupRegistry = ( registry ) => { - global._googlesitekitUserData.isUserInputCompleted = false; provideModules( registry, [ { slug: 'analytics-4', diff --git a/assets/js/modules/analytics-4/components/widgets/PopularContentWidget.stories.js b/assets/js/modules/analytics-4/components/widgets/PopularContentWidget.stories.js index 1a6ae905d77..36c1f3ff286 100644 --- a/assets/js/modules/analytics-4/components/widgets/PopularContentWidget.stories.js +++ b/assets/js/modules/analytics-4/components/widgets/PopularContentWidget.stories.js @@ -115,7 +115,6 @@ export default { decorators: [ ( Story, { args } ) => { const setupRegistry = ( registry ) => { - global._googlesitekitUserData.isUserInputCompleted = false; provideModules( registry, [ { slug: 'analytics-4', diff --git a/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.stories.js b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.stories.js index 02328c4b46d..09eb43c2e00 100644 --- a/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.stories.js +++ b/assets/js/modules/analytics-4/components/widgets/TopConvertingTrafficSourceWidget.stories.js @@ -116,7 +116,6 @@ export default { decorators: [ ( Story, { args } ) => { const setupRegistry = ( registry ) => { - global._googlesitekitUserData.isUserInputCompleted = false; provideModules( registry, [ { slug: 'analytics-4', diff --git a/assets/js/modules/analytics-4/components/widgets/TopTrafficSourceWidget.stories.js b/assets/js/modules/analytics-4/components/widgets/TopTrafficSourceWidget.stories.js index 31a26ee873e..39fd91e6658 100644 --- a/assets/js/modules/analytics-4/components/widgets/TopTrafficSourceWidget.stories.js +++ b/assets/js/modules/analytics-4/components/widgets/TopTrafficSourceWidget.stories.js @@ -125,7 +125,6 @@ export default { decorators: [ ( Story, { args } ) => { const setupRegistry = ( registry ) => { - global._googlesitekitUserData.isUserInputCompleted = false; provideModules( registry, [ { slug: 'analytics-4', diff --git a/assets/js/modules/search-console/components/widgets/PopularKeywordsWidget.stories.js b/assets/js/modules/search-console/components/widgets/PopularKeywordsWidget.stories.js index c3dfb08eb8b..8eed37a7016 100644 --- a/assets/js/modules/search-console/components/widgets/PopularKeywordsWidget.stories.js +++ b/assets/js/modules/search-console/components/widgets/PopularKeywordsWidget.stories.js @@ -86,7 +86,6 @@ export default { decorators: [ ( Story, { args } ) => { const setupRegistry = ( registry ) => { - global._googlesitekitUserData.isUserInputCompleted = false; provideModules( registry, [ { slug: 'search-console',