@local-logic/sdks-app 1.24.52 → 1.24.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{Attribution-Bu4Ixh5w.js → Attribution-BzSinyYb.js} +2 -2
- package/dist/assets/{Attribution-Bu4Ixh5w.js.map → Attribution-BzSinyYb.js.map} +1 -1
- package/dist/assets/{Attribution-legacy-D-1dbckP.js → Attribution-legacy-jrz8DVgy.js} +2 -2
- package/dist/assets/{Attribution-legacy-D-1dbckP.js.map → Attribution-legacy-jrz8DVgy.js.map} +1 -1
- package/dist/assets/{Cluster-BHQcO6iC-DVNXYzVu.js → Cluster-BHQcO6iC-C1_WizBX.js} +2 -2
- package/dist/assets/{Cluster-BHQcO6iC-DVNXYzVu.js.map → Cluster-BHQcO6iC-C1_WizBX.js.map} +1 -1
- package/dist/assets/{Cluster-BHQcO6iC-legacy-Cp5yssSj.js → Cluster-BHQcO6iC-legacy-W0xr0mI7.js} +2 -2
- package/dist/assets/{Cluster-BHQcO6iC-legacy-Cp5yssSj.js.map → Cluster-BHQcO6iC-legacy-W0xr0mI7.js.map} +1 -1
- package/dist/assets/{Google-BFAJ84CT-BAoUG1EQ.js → Google-BFAJ84CT-Delec--D.js} +2 -2
- package/dist/assets/{Google-BFAJ84CT-BAoUG1EQ.js.map → Google-BFAJ84CT-Delec--D.js.map} +1 -1
- package/dist/assets/{Google-BFAJ84CT-legacy-BIJPK7L_.js → Google-BFAJ84CT-legacy-icqMuARz.js} +2 -2
- package/dist/assets/{Google-BFAJ84CT-legacy-BIJPK7L_.js.map → Google-BFAJ84CT-legacy-icqMuARz.js.map} +1 -1
- package/dist/assets/{Google-BS41ufih-zXmATQnv.js → Google-BS41ufih-DeXL4cPn.js} +2 -2
- package/dist/assets/{Google-BS41ufih-zXmATQnv.js.map → Google-BS41ufih-DeXL4cPn.js.map} +1 -1
- package/dist/assets/{Google-BS41ufih-legacy-D91BBh4s.js → Google-BS41ufih-legacy-BagkUdWw.js} +2 -2
- package/dist/assets/{Google-BS41ufih-legacy-D91BBh4s.js.map → Google-BS41ufih-legacy-BagkUdWw.js.map} +1 -1
- package/dist/assets/{Google-CH7a2yx--DaVXU-1v.js → Google-CH7a2yx--DvmmS5lw.js} +2 -2
- package/dist/assets/{Google-CH7a2yx--DaVXU-1v.js.map → Google-CH7a2yx--DvmmS5lw.js.map} +1 -1
- package/dist/assets/{Google-CH7a2yx--legacy-Dbvi3bWO.js → Google-CH7a2yx--legacy-ChrIuLFe.js} +2 -2
- package/dist/assets/{Google-CH7a2yx--legacy-Dbvi3bWO.js.map → Google-CH7a2yx--legacy-ChrIuLFe.js.map} +1 -1
- package/dist/assets/{Google-CXGCn-oJ-Dyisr8JK.js → Google-CXGCn-oJ-CTii_TpL.js} +2 -2
- package/dist/assets/{Google-CXGCn-oJ-Dyisr8JK.js.map → Google-CXGCn-oJ-CTii_TpL.js.map} +1 -1
- package/dist/assets/{Google-CXGCn-oJ-legacy-BtbiEPlt.js → Google-CXGCn-oJ-legacy-CYOKd313.js} +2 -2
- package/dist/assets/{Google-CXGCn-oJ-legacy-BtbiEPlt.js.map → Google-CXGCn-oJ-legacy-CYOKd313.js.map} +1 -1
- package/dist/assets/{Google-DbOLrYJn-bNspfTBA.js → Google-DbOLrYJn-C39ssNjX.js} +2 -2
- package/dist/assets/{Google-DbOLrYJn-bNspfTBA.js.map → Google-DbOLrYJn-C39ssNjX.js.map} +1 -1
- package/dist/assets/{Google-DbOLrYJn-legacy-CBq3WiTI.js → Google-DbOLrYJn-legacy-DjKQ1gPV.js} +2 -2
- package/dist/assets/{Google-DbOLrYJn-legacy-CBq3WiTI.js.map → Google-DbOLrYJn-legacy-DjKQ1gPV.js.map} +1 -1
- package/dist/assets/{GridGraph-Cr5umgYe.js → GridGraph-D_5nXRbr.js} +2 -2
- package/dist/assets/{GridGraph-Cr5umgYe.js.map → GridGraph-D_5nXRbr.js.map} +1 -1
- package/dist/assets/{GridGraph-legacy-Bw-ddPyz.js → GridGraph-legacy-DIK5KY7x.js} +2 -2
- package/dist/assets/{GridGraph-legacy-Bw-ddPyz.js.map → GridGraph-legacy-DIK5KY7x.js.map} +1 -1
- package/dist/assets/{LeadCapture-BjGyK4VZ.js → LeadCapture-ByvE_cwR.js} +2 -2
- package/dist/assets/{LeadCapture-BjGyK4VZ.js.map → LeadCapture-ByvE_cwR.js.map} +1 -1
- package/dist/assets/{LeadCapture-legacy-Bpvn2K-d.js → LeadCapture-legacy-CCtOgjF0.js} +2 -2
- package/dist/assets/{LeadCapture-legacy-Bpvn2K-d.js.map → LeadCapture-legacy-CCtOgjF0.js.map} +1 -1
- package/dist/assets/{LocalContent-CtIRSRFU.js → LocalContent-Bx_rkni1.js} +2 -2
- package/dist/assets/{LocalContent-CtIRSRFU.js.map → LocalContent-Bx_rkni1.js.map} +1 -1
- package/dist/assets/{LocalContent-legacy-BqQzEMvQ.js → LocalContent-legacy-C2f72kW4.js} +2 -2
- package/dist/assets/{LocalContent-legacy-BqQzEMvQ.js.map → LocalContent-legacy-C2f72kW4.js.map} +1 -1
- package/dist/assets/{LocalDemographics-BFmn0OGM.js → LocalDemographics-dEKbTT-b.js} +2 -2
- package/dist/assets/{LocalDemographics-BFmn0OGM.js.map → LocalDemographics-dEKbTT-b.js.map} +1 -1
- package/dist/assets/{LocalDemographics-legacy-Bickdn_f.js → LocalDemographics-legacy-DKB_XMkR.js} +2 -2
- package/dist/assets/{LocalDemographics-legacy-Bickdn_f.js.map → LocalDemographics-legacy-DKB_XMkR.js.map} +1 -1
- package/dist/assets/{Mapbox-CpLnA607-BpMp5bMb.js → Mapbox-CpLnA607-CTNQ4S3b.js} +2 -2
- package/dist/assets/{Mapbox-CpLnA607-BpMp5bMb.js.map → Mapbox-CpLnA607-CTNQ4S3b.js.map} +1 -1
- package/dist/assets/{Mapbox-CpLnA607-legacy-Ct_La6xb.js → Mapbox-CpLnA607-legacy-PHtCWTPT.js} +2 -2
- package/dist/assets/{Mapbox-CpLnA607-legacy-Ct_La6xb.js.map → Mapbox-CpLnA607-legacy-PHtCWTPT.js.map} +1 -1
- package/dist/assets/{Mapbox-DDJ1gHRb-DSi6CNii.js → Mapbox-DDJ1gHRb-cmFwgcV7.js} +2 -2
- package/dist/assets/{Mapbox-DDJ1gHRb-DSi6CNii.js.map → Mapbox-DDJ1gHRb-cmFwgcV7.js.map} +1 -1
- package/dist/assets/{Mapbox-DDJ1gHRb-legacy-BO872a9d.js → Mapbox-DDJ1gHRb-legacy-DBBIQclV.js} +2 -2
- package/dist/assets/{Mapbox-DDJ1gHRb-legacy-BO872a9d.js.map → Mapbox-DDJ1gHRb-legacy-DBBIQclV.js.map} +1 -1
- package/dist/assets/{Mapbox-DiD9etYJ-DO_qJvnI.js → Mapbox-DiD9etYJ-C7ThTgjG.js} +2 -2
- package/dist/assets/{Mapbox-DiD9etYJ-DO_qJvnI.js.map → Mapbox-DiD9etYJ-C7ThTgjG.js.map} +1 -1
- package/dist/assets/{Mapbox-DiD9etYJ-legacy-Cr1G3JpT.js → Mapbox-DiD9etYJ-legacy-P-YIHSlb.js} +2 -2
- package/dist/assets/{Mapbox-DiD9etYJ-legacy-Cr1G3JpT.js.map → Mapbox-DiD9etYJ-legacy-P-YIHSlb.js.map} +1 -1
- package/dist/assets/{Mapbox-DtZmt1D_-ChVjxP54.js → Mapbox-DtZmt1D_-JkbN3ti-.js} +2 -2
- package/dist/assets/{Mapbox-DtZmt1D_-ChVjxP54.js.map → Mapbox-DtZmt1D_-JkbN3ti-.js.map} +1 -1
- package/dist/assets/{Mapbox-DtZmt1D_-legacy-PBc3xcOu.js → Mapbox-DtZmt1D_-legacy-ZdY9d9o2.js} +2 -2
- package/dist/assets/{Mapbox-DtZmt1D_-legacy-PBc3xcOu.js.map → Mapbox-DtZmt1D_-legacy-ZdY9d9o2.js.map} +1 -1
- package/dist/assets/{Mapbox-u11C3LWs-Ds2ds_0a.js → Mapbox-u11C3LWs-C4v4a5a5.js} +2 -2
- package/dist/assets/{Mapbox-u11C3LWs-Ds2ds_0a.js.map → Mapbox-u11C3LWs-C4v4a5a5.js.map} +1 -1
- package/dist/assets/{Mapbox-u11C3LWs-legacy-i3-zdHJ-.js → Mapbox-u11C3LWs-legacy-Cw3Gjm0c.js} +2 -2
- package/dist/assets/{Mapbox-u11C3LWs-legacy-i3-zdHJ-.js.map → Mapbox-u11C3LWs-legacy-Cw3Gjm0c.js.map} +1 -1
- package/dist/assets/{Maptiler-C0oTROMk-QJLSJjxe.js → Maptiler-C0oTROMk-lYOF2Wk9.js} +2 -2
- package/dist/assets/{Maptiler-C0oTROMk-QJLSJjxe.js.map → Maptiler-C0oTROMk-lYOF2Wk9.js.map} +1 -1
- package/dist/assets/{Maptiler-C0oTROMk-legacy-BM5IZ27i.js → Maptiler-C0oTROMk-legacy-C2bFgO18.js} +2 -2
- package/dist/assets/{Maptiler-C0oTROMk-legacy-BM5IZ27i.js.map → Maptiler-C0oTROMk-legacy-C2bFgO18.js.map} +1 -1
- package/dist/assets/{Maptiler-DJScKW8p-EONT3zUZ.js → Maptiler-DJScKW8p-dGBWNPPe.js} +2 -2
- package/dist/assets/{Maptiler-DJScKW8p-EONT3zUZ.js.map → Maptiler-DJScKW8p-dGBWNPPe.js.map} +1 -1
- package/dist/assets/{Maptiler-DJScKW8p-legacy-DwBszJvC.js → Maptiler-DJScKW8p-legacy-DEAHzqw3.js} +2 -2
- package/dist/assets/{Maptiler-DJScKW8p-legacy-DwBszJvC.js.map → Maptiler-DJScKW8p-legacy-DEAHzqw3.js.map} +1 -1
- package/dist/assets/{Maptiler-DdeFS4iM-DoJr2i2p.js → Maptiler-DdeFS4iM-9nGWDCZV.js} +2 -2
- package/dist/assets/{Maptiler-DdeFS4iM-DoJr2i2p.js.map → Maptiler-DdeFS4iM-9nGWDCZV.js.map} +1 -1
- package/dist/assets/{Maptiler-DdeFS4iM-legacy-CIfkFW48.js → Maptiler-DdeFS4iM-legacy-eugMrWR1.js} +2 -2
- package/dist/assets/{Maptiler-DdeFS4iM-legacy-CIfkFW48.js.map → Maptiler-DdeFS4iM-legacy-eugMrWR1.js.map} +1 -1
- package/dist/assets/{Maptiler-DqeshLom-CNS1CS21.js → Maptiler-DqeshLom-_VzoCNhe.js} +2 -2
- package/dist/assets/{Maptiler-DqeshLom-CNS1CS21.js.map → Maptiler-DqeshLom-_VzoCNhe.js.map} +1 -1
- package/dist/assets/{Maptiler-DqeshLom-legacy-DHCLBw_P.js → Maptiler-DqeshLom-legacy-x09eT-9K.js} +2 -2
- package/dist/assets/{Maptiler-DqeshLom-legacy-DHCLBw_P.js.map → Maptiler-DqeshLom-legacy-x09eT-9K.js.map} +1 -1
- package/dist/assets/{Maptiler-YjlcPccn-legacy-mc-xJ6sE.js → Maptiler-YjlcPccn-legacy-zbSF03e3.js} +2 -2
- package/dist/assets/{Maptiler-YjlcPccn-legacy-mc-xJ6sE.js.map → Maptiler-YjlcPccn-legacy-zbSF03e3.js.map} +1 -1
- package/dist/assets/{Maptiler-YjlcPccn-w5aNtSyl.js → Maptiler-YjlcPccn-pGoR4MXd.js} +2 -2
- package/dist/assets/{Maptiler-YjlcPccn-w5aNtSyl.js.map → Maptiler-YjlcPccn-pGoR4MXd.js.map} +1 -1
- package/dist/assets/{MarkerIcon-Bc3X9WQk-Bz8OzTYu.js → MarkerIcon-Bc3X9WQk-BxM8U6s8.js} +2 -2
- package/dist/assets/{MarkerIcon-Bc3X9WQk-Bz8OzTYu.js.map → MarkerIcon-Bc3X9WQk-BxM8U6s8.js.map} +1 -1
- package/dist/assets/{MarkerIcon-Bc3X9WQk-legacy-BZgFV4d6.js → MarkerIcon-Bc3X9WQk-legacy-BPG3ibTy.js} +2 -2
- package/dist/assets/{MarkerIcon-Bc3X9WQk-legacy-BZgFV4d6.js.map → MarkerIcon-Bc3X9WQk-legacy-BPG3ibTy.js.map} +1 -1
- package/dist/assets/{NeighborhoodCard-FWoJ3NXB.js → NeighborhoodCard-DguoEKjE.js} +2 -2
- package/dist/assets/{NeighborhoodCard-FWoJ3NXB.js.map → NeighborhoodCard-DguoEKjE.js.map} +1 -1
- package/dist/assets/{NeighborhoodCard-legacy-CsOyv7pV.js → NeighborhoodCard-legacy-DuOHsLdd.js} +2 -2
- package/dist/assets/{NeighborhoodCard-legacy-CsOyv7pV.js.map → NeighborhoodCard-legacy-DuOHsLdd.js.map} +1 -1
- package/dist/assets/{NeighborhoodCharacteristics-legacy-DQfabpcd.js → NeighborhoodCharacteristics-legacy-DHWSsIs5.js} +2 -2
- package/dist/assets/{NeighborhoodCharacteristics-legacy-DQfabpcd.js.map → NeighborhoodCharacteristics-legacy-DHWSsIs5.js.map} +1 -1
- package/dist/assets/{NeighborhoodCharacteristics-IMUKTd6M.js → NeighborhoodCharacteristics-swFWnUUG.js} +2 -2
- package/dist/assets/{NeighborhoodCharacteristics-IMUKTd6M.js.map → NeighborhoodCharacteristics-swFWnUUG.js.map} +1 -1
- package/dist/assets/{NeighborhoodDemographics-vUaF1iTn.js → NeighborhoodDemographics-DtT9bsZo.js} +2 -2
- package/dist/assets/{NeighborhoodDemographics-vUaF1iTn.js.map → NeighborhoodDemographics-DtT9bsZo.js.map} +1 -1
- package/dist/assets/{NeighborhoodDemographics-legacy-D6t0Kv4-.js → NeighborhoodDemographics-legacy-NQXFBLhh.js} +2 -2
- package/dist/assets/{NeighborhoodDemographics-legacy-D6t0Kv4-.js.map → NeighborhoodDemographics-legacy-NQXFBLhh.js.map} +1 -1
- package/dist/assets/{NeighborhoodFeatured-C5Fv2qtl.js → NeighborhoodFeatured-Qgrk-zLT.js} +2 -2
- package/dist/assets/{NeighborhoodFeatured-C5Fv2qtl.js.map → NeighborhoodFeatured-Qgrk-zLT.js.map} +1 -1
- package/dist/assets/{NeighborhoodFeatured-legacy-BYS5qAuF.js → NeighborhoodFeatured-legacy-Ff-XTYMJ.js} +2 -2
- package/dist/assets/{NeighborhoodFeatured-legacy-BYS5qAuF.js.map → NeighborhoodFeatured-legacy-Ff-XTYMJ.js.map} +1 -1
- package/dist/assets/{NeighborhoodHero-FSOMvof3.js → NeighborhoodHero-N9_vfUTl.js} +2 -2
- package/dist/assets/{NeighborhoodHero-FSOMvof3.js.map → NeighborhoodHero-N9_vfUTl.js.map} +1 -1
- package/dist/assets/{NeighborhoodHero-legacy-EAqQgAwW.js → NeighborhoodHero-legacy-1xJDKtMD.js} +2 -2
- package/dist/assets/{NeighborhoodHero-legacy-EAqQgAwW.js.map → NeighborhoodHero-legacy-1xJDKtMD.js.map} +1 -1
- package/dist/assets/{NeighborhoodHighlights-BmsNsRGu.js → NeighborhoodHighlights-B1jGN8pN.js} +2 -2
- package/dist/assets/{NeighborhoodHighlights-BmsNsRGu.js.map → NeighborhoodHighlights-B1jGN8pN.js.map} +1 -1
- package/dist/assets/{NeighborhoodHighlights-legacy-C-UYzDk9.js → NeighborhoodHighlights-legacy-DB22qMGb.js} +2 -2
- package/dist/assets/{NeighborhoodHighlights-legacy-C-UYzDk9.js.map → NeighborhoodHighlights-legacy-DB22qMGb.js.map} +1 -1
- package/dist/assets/{NeighborhoodMap-B5-f4I8E.js → NeighborhoodMap-COSmBDR7.js} +2 -2
- package/dist/assets/{NeighborhoodMap-B5-f4I8E.js.map → NeighborhoodMap-COSmBDR7.js.map} +1 -1
- package/dist/assets/{NeighborhoodMap-legacy-Dk9-6R0k.js → NeighborhoodMap-legacy-BX8BFh91.js} +2 -2
- package/dist/assets/{NeighborhoodMap-legacy-Dk9-6R0k.js.map → NeighborhoodMap-legacy-BX8BFh91.js.map} +1 -1
- package/dist/assets/{NeighborhoodMarketTrends-B2d7NP7w.js → NeighborhoodMarketTrends-CKNzcykE.js} +3 -3
- package/dist/assets/{NeighborhoodMarketTrends-B2d7NP7w.js.map → NeighborhoodMarketTrends-CKNzcykE.js.map} +1 -1
- package/dist/assets/{NeighborhoodMarketTrends-legacy-BfguWAMF.js → NeighborhoodMarketTrends-legacy-X-hQmITw.js} +2 -2
- package/dist/assets/{NeighborhoodMarketTrends-legacy-BfguWAMF.js.map → NeighborhoodMarketTrends-legacy-X-hQmITw.js.map} +1 -1
- package/dist/assets/NeighborhoodMatch-4EAxQNMv.js +2 -0
- package/dist/assets/NeighborhoodMatch-4EAxQNMv.js.map +1 -0
- package/dist/assets/NeighborhoodMatch-legacy-CnLnRi6N.js +2 -0
- package/dist/assets/NeighborhoodMatch-legacy-CnLnRi6N.js.map +1 -0
- package/dist/assets/{NeighborhoodPropertyValueDrivers-fFLDx_37.js → NeighborhoodPropertyValueDrivers-a-M1Q4pU.js} +2 -2
- package/dist/assets/{NeighborhoodPropertyValueDrivers-fFLDx_37.js.map → NeighborhoodPropertyValueDrivers-a-M1Q4pU.js.map} +1 -1
- package/dist/assets/{NeighborhoodPropertyValueDrivers-legacy-CdA-gc48.js → NeighborhoodPropertyValueDrivers-legacy-Dt1NiytX.js} +2 -2
- package/dist/assets/{NeighborhoodPropertyValueDrivers-legacy-CdA-gc48.js.map → NeighborhoodPropertyValueDrivers-legacy-Dt1NiytX.js.map} +1 -1
- package/dist/assets/{NeighborhoodSchools-DbxCpQpr.js → NeighborhoodSchools-C6H76bMo.js} +2 -2
- package/dist/assets/{NeighborhoodSchools-DbxCpQpr.js.map → NeighborhoodSchools-C6H76bMo.js.map} +1 -1
- package/dist/assets/{NeighborhoodSchools-legacy-C4G1cD1e.js → NeighborhoodSchools-legacy-BQnb0ApI.js} +2 -2
- package/dist/assets/{NeighborhoodSchools-legacy-C4G1cD1e.js.map → NeighborhoodSchools-legacy-BQnb0ApI.js.map} +1 -1
- package/dist/assets/{NeighborhoodShowcase-DAlowEQ9.js → NeighborhoodShowcase-BvcwWCbY.js} +2 -2
- package/dist/assets/{NeighborhoodShowcase-DAlowEQ9.js.map → NeighborhoodShowcase-BvcwWCbY.js.map} +1 -1
- package/dist/assets/{NeighborhoodShowcase-legacy-C4qbNFWo.js → NeighborhoodShowcase-legacy-DKtBhoOg.js} +2 -2
- package/dist/assets/{NeighborhoodShowcase-legacy-C4qbNFWo.js.map → NeighborhoodShowcase-legacy-DKtBhoOg.js.map} +1 -1
- package/dist/assets/{NoDataContent-BD9seGdp.js → NoDataContent-L3RQBjYO.js} +2 -2
- package/dist/assets/{NoDataContent-BD9seGdp.js.map → NoDataContent-L3RQBjYO.js.map} +1 -1
- package/dist/assets/{NoDataContent-legacy-wYz6Ypns.js → NoDataContent-legacy-htuYFHPP.js} +2 -2
- package/dist/assets/{NoDataContent-legacy-wYz6Ypns.js.map → NoDataContent-legacy-htuYFHPP.js.map} +1 -1
- package/dist/assets/{ResizeWrapper-DNPZyJTY.js → ResizeWrapper-DsII2sr3.js} +2 -2
- package/dist/assets/{ResizeWrapper-DNPZyJTY.js.map → ResizeWrapper-DsII2sr3.js.map} +1 -1
- package/dist/assets/{ResizeWrapper-legacy-kyii0zxE.js → ResizeWrapper-legacy-CQYl-kWO.js} +2 -2
- package/dist/assets/{ResizeWrapper-legacy-kyii0zxE.js.map → ResizeWrapper-legacy-CQYl-kWO.js.map} +1 -1
- package/dist/assets/{ScoreCardList-tG64vpl9.js → ScoreCardList-DOXfdZHL.js} +2 -2
- package/dist/assets/{ScoreCardList-tG64vpl9.js.map → ScoreCardList-DOXfdZHL.js.map} +1 -1
- package/dist/assets/{ScoreCardList-legacy-CTX9QRK_.js → ScoreCardList-legacy-C1p0u4Jv.js} +2 -2
- package/dist/assets/{ScoreCardList-legacy-CTX9QRK_.js.map → ScoreCardList-legacy-C1p0u4Jv.js.map} +1 -1
- package/dist/assets/{ScoreIcon-DPxPo3RN.js → ScoreIcon-ClbM-KxK.js} +2 -2
- package/dist/assets/{ScoreIcon-DPxPo3RN.js.map → ScoreIcon-ClbM-KxK.js.map} +1 -1
- package/dist/assets/{ScoreIcon-legacy-C9f1CNKk.js → ScoreIcon-legacy-C40-WgQE.js} +2 -2
- package/dist/assets/{ScoreIcon-legacy-C9f1CNKk.js.map → ScoreIcon-legacy-C40-WgQE.js.map} +1 -1
- package/dist/assets/{Testing--n5Ro0Ek-B6lwyCjA.js → Testing--n5Ro0Ek-CCFuQMCV.js} +2 -2
- package/dist/assets/{Testing--n5Ro0Ek-B6lwyCjA.js.map → Testing--n5Ro0Ek-CCFuQMCV.js.map} +1 -1
- package/dist/assets/{Testing--n5Ro0Ek-legacy-CDNWBcJi.js → Testing--n5Ro0Ek-legacy-dFMaT5kB.js} +2 -2
- package/dist/assets/{Testing--n5Ro0Ek-legacy-CDNWBcJi.js.map → Testing--n5Ro0Ek-legacy-dFMaT5kB.js.map} +1 -1
- package/dist/assets/{Testing-BNJwzbRK-CBBtUTXx.js → Testing-BNJwzbRK-Cyce0IHo.js} +2 -2
- package/dist/assets/{Testing-BNJwzbRK-CBBtUTXx.js.map → Testing-BNJwzbRK-Cyce0IHo.js.map} +1 -1
- package/dist/assets/{Testing-BNJwzbRK-legacy-DEOJSPmK.js → Testing-BNJwzbRK-legacy-C3gm4Yat.js} +2 -2
- package/dist/assets/{Testing-BNJwzbRK-legacy-DEOJSPmK.js.map → Testing-BNJwzbRK-legacy-C3gm4Yat.js.map} +1 -1
- package/dist/assets/{Testing-CoRLhmNT-ElHVu9up.js → Testing-CoRLhmNT-BV3Up19Q.js} +2 -2
- package/dist/assets/{Testing-CoRLhmNT-ElHVu9up.js.map → Testing-CoRLhmNT-BV3Up19Q.js.map} +1 -1
- package/dist/assets/{Testing-CoRLhmNT-legacy-BFA8t27q.js → Testing-CoRLhmNT-legacy-Brn-mYV8.js} +2 -2
- package/dist/assets/{Testing-CoRLhmNT-legacy-BFA8t27q.js.map → Testing-CoRLhmNT-legacy-Brn-mYV8.js.map} +1 -1
- package/dist/assets/{Testing-DGUeGxdc-IddHpV4N.js → Testing-DGUeGxdc-DIRdMZMg.js} +2 -2
- package/dist/assets/{Testing-DGUeGxdc-IddHpV4N.js.map → Testing-DGUeGxdc-DIRdMZMg.js.map} +1 -1
- package/dist/assets/{Testing-DGUeGxdc-legacy-LgUhipo8.js → Testing-DGUeGxdc-legacy-D4Edg55G.js} +2 -2
- package/dist/assets/{Testing-DGUeGxdc-legacy-LgUhipo8.js.map → Testing-DGUeGxdc-legacy-D4Edg55G.js.map} +1 -1
- package/dist/assets/{Testing-DzWAcbhL-BeZe8xsa.js → Testing-DzWAcbhL-CTDL4sBf.js} +2 -2
- package/dist/assets/{Testing-DzWAcbhL-BeZe8xsa.js.map → Testing-DzWAcbhL-CTDL4sBf.js.map} +1 -1
- package/dist/assets/{Testing-DzWAcbhL-legacy-Nk2Ixurx.js → Testing-DzWAcbhL-legacy-BQIPFes3.js} +2 -2
- package/dist/assets/{Testing-DzWAcbhL-legacy-Nk2Ixurx.js.map → Testing-DzWAcbhL-legacy-BQIPFes3.js.map} +1 -1
- package/dist/assets/{TitleHeader-5ojydaRa.js → TitleHeader-DqGOSPFs.js} +2 -2
- package/dist/assets/{TitleHeader-5ojydaRa.js.map → TitleHeader-DqGOSPFs.js.map} +1 -1
- package/dist/assets/{TitleHeader-legacy-D0Ib7gN2.js → TitleHeader-legacy-CiV6yDcO.js} +2 -2
- package/dist/assets/{TitleHeader-legacy-D0Ib7gN2.js.map → TitleHeader-legacy-CiV6yDcO.js.map} +1 -1
- package/dist/assets/{Trans-D2_Q254o.js → Trans-BH-Ap2f3.js} +2 -2
- package/dist/assets/{Trans-D2_Q254o.js.map → Trans-BH-Ap2f3.js.map} +1 -1
- package/dist/assets/{Trans-legacy-BAgPyV83.js → Trans-legacy-BLj5eK3E.js} +2 -2
- package/dist/assets/{Trans-legacy-BAgPyV83.js.map → Trans-legacy-BLj5eK3E.js.map} +1 -1
- package/dist/assets/{ValidateOptions-BaBybKDR.js → ValidateOptions-CQ5HKcbd.js} +2 -2
- package/dist/assets/{ValidateOptions-BaBybKDR.js.map → ValidateOptions-CQ5HKcbd.js.map} +1 -1
- package/dist/assets/{ValidateOptions-legacy-DuKiUloO.js → ValidateOptions-legacy-BW3e0VOl.js} +2 -2
- package/dist/assets/{ValidateOptions-legacy-DuKiUloO.js.map → ValidateOptions-legacy-BW3e0VOl.js.map} +1 -1
- package/dist/assets/{dist-DTMzW7OW.js → dist-CyQWBpro.js} +2 -2
- package/dist/assets/{dist-DTMzW7OW.js.map → dist-CyQWBpro.js.map} +1 -1
- package/dist/assets/{dist-legacy-CUwprB8U.js → dist-legacy-Do4HUZtw.js} +2 -2
- package/dist/assets/{dist-legacy-CUwprB8U.js.map → dist-legacy-Do4HUZtw.js.map} +1 -1
- package/dist/assets/{getMapProviderConfig-CTtvNY7U.js → getMapProviderConfig-B6oi4_Wy.js} +3 -3
- package/dist/assets/{getMapProviderConfig-CTtvNY7U.js.map → getMapProviderConfig-B6oi4_Wy.js.map} +1 -1
- package/dist/assets/{getMapProviderConfig-legacy-BXjNKbNv.js → getMapProviderConfig-legacy-B6YHbXHW.js} +2 -2
- package/dist/assets/{getMapProviderConfig-legacy-BXjNKbNv.js.map → getMapProviderConfig-legacy-B6YHbXHW.js.map} +1 -1
- package/dist/assets/{index-gJBkt-Qb.js → index-D7pa5JMt.js} +3 -3
- package/dist/assets/{index-gJBkt-Qb.js.map → index-D7pa5JMt.js.map} +1 -1
- package/dist/assets/{index-legacy-BDnJ2iXf.js → index-legacy-DFOP_K7X.js} +2 -2
- package/dist/assets/{index-legacy-BDnJ2iXf.js.map → index-legacy-DFOP_K7X.js.map} +1 -1
- package/dist/assets/{index.es-Ddc76n2x.js → index.es-DkWtCun6.js} +2 -2
- package/dist/assets/{index.es-Ddc76n2x.js.map → index.es-DkWtCun6.js.map} +1 -1
- package/dist/assets/{index.es-legacy-fFGkV_7M.js → index.es-legacy-_IASdgOo.js} +2 -2
- package/dist/assets/{index.es-legacy-fFGkV_7M.js.map → index.es-legacy-_IASdgOo.js.map} +1 -1
- package/dist/assets/{mapbox-jb8Zev6T-UhbWjCmg.js → mapbox-jb8Zev6T-DgbiJ6QK.js} +2 -2
- package/dist/assets/{mapbox-jb8Zev6T-UhbWjCmg.js.map → mapbox-jb8Zev6T-DgbiJ6QK.js.map} +1 -1
- package/dist/assets/{mapbox-jb8Zev6T-legacy-B472oUZE.js → mapbox-jb8Zev6T-legacy-CitlGik8.js} +2 -2
- package/dist/assets/{mapbox-jb8Zev6T-legacy-B472oUZE.js.map → mapbox-jb8Zev6T-legacy-CitlGik8.js.map} +1 -1
- package/dist/assets/{maplibre-CUYkxr-D-DpvGdVLf.js → maplibre-CUYkxr-D-DTxN_nUg.js} +2 -2
- package/dist/assets/{maplibre-CUYkxr-D-DpvGdVLf.js.map → maplibre-CUYkxr-D-DTxN_nUg.js.map} +1 -1
- package/dist/assets/{maplibre-CUYkxr-D-legacy-EIfXGcqZ.js → maplibre-CUYkxr-D-legacy-C7pXY9rP.js} +2 -2
- package/dist/assets/{maplibre-CUYkxr-D-legacy-EIfXGcqZ.js.map → maplibre-CUYkxr-D-legacy-C7pXY9rP.js.map} +1 -1
- package/dist/assets/neighborhood-fallback-BnMMRTVG.js.map +1 -1
- package/dist/assets/{sdks-DiTZmVof.js → sdks-BegBTjcA.js} +2 -2
- package/dist/assets/{sdks-DiTZmVof.js.map → sdks-BegBTjcA.js.map} +1 -1
- package/dist/assets/{sdks-legacy-7f9oMCVL.js → sdks-legacy--eOW0Jjh.js} +2 -2
- package/dist/assets/{sdks-legacy-7f9oMCVL.js.map → sdks-legacy--eOW0Jjh.js.map} +1 -1
- package/dist/assets/{useDemographicsData-CCsD3e31.js → useDemographicsData-DMi8BKmT.js} +2 -2
- package/dist/assets/{useDemographicsData-CCsD3e31.js.map → useDemographicsData-DMi8BKmT.js.map} +1 -1
- package/dist/assets/{useDemographicsData-legacy-7DGDHXbP.js → useDemographicsData-legacy-BE2q-Zuf.js} +2 -2
- package/dist/assets/{useDemographicsData-legacy-7DGDHXbP.js.map → useDemographicsData-legacy-BE2q-Zuf.js.map} +1 -1
- package/dist/assets/{useGeographies-legacy-BxY4t3js.js → useGeographies-legacy-2Rn4r_5I.js} +2 -2
- package/dist/assets/{useGeographies-legacy-BxY4t3js.js.map → useGeographies-legacy-2Rn4r_5I.js.map} +1 -1
- package/dist/assets/{useGeographies-C7JmBOUL.js → useGeographies-v6lFthBq.js} +2 -2
- package/dist/assets/{useGeographies-C7JmBOUL.js.map → useGeographies-v6lFthBq.js.map} +1 -1
- package/dist/assets/{useIsMobile-DfO6FoJm.js → useIsMobile-BmD8fX_q.js} +2 -2
- package/dist/assets/{useIsMobile-DfO6FoJm.js.map → useIsMobile-BmD8fX_q.js.map} +1 -1
- package/dist/assets/{useIsMobile-legacy-Co8_DLOU.js → useIsMobile-legacy-DRqHydcz.js} +2 -2
- package/dist/assets/{useIsMobile-legacy-Co8_DLOU.js.map → useIsMobile-legacy-DRqHydcz.js.map} +1 -1
- package/dist/assets/{useLocation-DuCJPssr.js → useLocation-Buw1Dlui.js} +2 -2
- package/dist/assets/{useLocation-DuCJPssr.js.map → useLocation-Buw1Dlui.js.map} +1 -1
- package/dist/assets/{useLocation-legacy-CKnlGTXU.js → useLocation-legacy-BzRFytv3.js} +2 -2
- package/dist/assets/{useLocation-legacy-CKnlGTXU.js.map → useLocation-legacy-BzRFytv3.js.map} +1 -1
- package/dist/assets/{useProfiles-CDo6zc1G.js → useProfiles-DPbhy0mb.js} +2 -2
- package/dist/assets/{useProfiles-CDo6zc1G.js.map → useProfiles-DPbhy0mb.js.map} +1 -1
- package/dist/assets/{useProfiles-legacy-mWNv-IhU.js → useProfiles-legacy-Pojsnui2.js} +2 -2
- package/dist/assets/{useProfiles-legacy-mWNv-IhU.js.map → useProfiles-legacy-Pojsnui2.js.map} +1 -1
- package/dist/assets/{useSchools-CuwN6h-g.js → useSchools-DTW8fyNA.js} +2 -2
- package/dist/assets/{useSchools-CuwN6h-g.js.map → useSchools-DTW8fyNA.js.map} +1 -1
- package/dist/assets/{useSchools-legacy-BOF_PiIs.js → useSchools-legacy-LQ-kLFVi.js} +2 -2
- package/dist/assets/{useSchools-legacy-BOF_PiIs.js.map → useSchools-legacy-LQ-kLFVi.js.map} +1 -1
- package/dist/assets/{useScores-legacy-CE8FthO2.js → useScores-legacy-xhJIrF2R.js} +2 -2
- package/dist/assets/{useScores-legacy-CE8FthO2.js.map → useScores-legacy-xhJIrF2R.js.map} +1 -1
- package/dist/assets/{useScores-jyLCcG9E.js → useScores-qhKbxnaT.js} +2 -2
- package/dist/assets/{useScores-jyLCcG9E.js.map → useScores-qhKbxnaT.js.map} +1 -1
- package/dist/index.html +2 -2
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.d.ts.map +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.js +2 -2
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.js.map +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.test.d.ts +2 -0
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.test.d.ts.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.test.js +95 -0
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.test.js.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.d.ts +1 -3
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.d.ts.map +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.js +15 -1
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.js.map +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.test.d.ts +2 -0
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.test.d.ts.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.test.js +15 -0
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.test.js.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.d.ts.map +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.js +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.js.map +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.test.d.ts +2 -0
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.test.d.ts.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.test.js +20 -0
- package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.test.js.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/Content/index.test.d.ts +2 -0
- package/dist/types/sdks/NeighborhoodMatch/components/Content/index.test.d.ts.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/Content/index.test.js +108 -0
- package/dist/types/sdks/NeighborhoodMatch/components/Content/index.test.js.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/Description/index.d.ts.map +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/Description/index.js +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/Description/index.js.map +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/Description/index.test.d.ts +2 -0
- package/dist/types/sdks/NeighborhoodMatch/components/Description/index.test.d.ts.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/Description/index.test.js +28 -0
- package/dist/types/sdks/NeighborhoodMatch/components/Description/index.test.js.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.d.ts.map +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.js +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.js.map +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.test.d.ts +2 -0
- package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.test.d.ts.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.test.js +158 -0
- package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.test.js.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.d.ts.map +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.js +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.js.map +1 -1
- package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.test.d.ts +2 -0
- package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.test.d.ts.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.test.js +124 -0
- package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.test.js.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/addAffordabilityComparisonToNeighborhood/index.test.d.ts +2 -0
- package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/addAffordabilityComparisonToNeighborhood/index.test.d.ts.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/addAffordabilityComparisonToNeighborhood/index.test.js +35 -0
- package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/addAffordabilityComparisonToNeighborhood/index.test.js.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/index.test.d.ts +2 -0
- package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/index.test.d.ts.map +1 -0
- package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/index.test.js +142 -0
- package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/index.test.js.map +1 -0
- package/package.json +1 -1
- package/dist/assets/NeighborhoodMatch-BRUuPLjm.js +0 -2
- package/dist/assets/NeighborhoodMatch-BRUuPLjm.js.map +0 -1
- package/dist/assets/NeighborhoodMatch-legacy-XLVTxdi2.js +0 -2
- package/dist/assets/NeighborhoodMatch-legacy-XLVTxdi2.js.map +0 -1
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { describe, beforeEach, it, expect, vi } from "vitest";
|
|
3
|
+
import { render } from "@testing-library/react";
|
|
4
|
+
import { Content } from "./index";
|
|
5
|
+
vi.mock("react-i18next", () => ({
|
|
6
|
+
useTranslation: () => ({
|
|
7
|
+
t: (key, options) => options && typeof options.context !== "undefined"
|
|
8
|
+
? `${key}:${options.context}`
|
|
9
|
+
: key,
|
|
10
|
+
}),
|
|
11
|
+
}));
|
|
12
|
+
const { useNeighborhoodMatchMock } = vi.hoisted(() => ({
|
|
13
|
+
useNeighborhoodMatchMock: vi.fn(),
|
|
14
|
+
}));
|
|
15
|
+
vi.mock("~/sdks/NeighborhoodMatch/context", () => ({
|
|
16
|
+
useNeighborhoodMatch: useNeighborhoodMatchMock,
|
|
17
|
+
}));
|
|
18
|
+
vi.mock("~/components/TitleHeader", () => ({
|
|
19
|
+
TitleHeader: ({ title }) => (React.createElement("div", { "data-testid": "title-header", "data-value": String(title) }, String(title))),
|
|
20
|
+
}));
|
|
21
|
+
vi.mock("~/components/Attribution", () => ({
|
|
22
|
+
Attribution: ({ locale, isHidden, sdkName, }) => (React.createElement("div", { "data-testid": "attribution", "data-locale": locale, "data-hidden": String(isHidden), "data-sdk-name": sdkName })),
|
|
23
|
+
}));
|
|
24
|
+
vi.mock("../Description", () => ({
|
|
25
|
+
Description: ({ neighborhoodName, isLoading, }) => (React.createElement("div", { "data-testid": "description", "data-name": neighborhoodName, "data-loading": String(isLoading) })),
|
|
26
|
+
}));
|
|
27
|
+
vi.mock("../Neighborhoods", () => ({
|
|
28
|
+
Neighborhoods: () => React.createElement("div", { "data-testid": "neighborhoods" }),
|
|
29
|
+
}));
|
|
30
|
+
vi.mock("../PaginationButton", () => ({
|
|
31
|
+
PaginationButton: () => React.createElement("div", { "data-testid": "pagination" }),
|
|
32
|
+
}));
|
|
33
|
+
describe("Content", () => {
|
|
34
|
+
beforeEach(() => {
|
|
35
|
+
vi.clearAllMocks();
|
|
36
|
+
useNeighborhoodMatchMock.mockReturnValue({
|
|
37
|
+
title: undefined,
|
|
38
|
+
locale: "en",
|
|
39
|
+
isLoading: false,
|
|
40
|
+
level: 10,
|
|
41
|
+
neighborhoodName: undefined,
|
|
42
|
+
hideAttribution: false,
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
it("passes a string title straight through to the title header", () => {
|
|
46
|
+
useNeighborhoodMatchMock.mockReturnValue({
|
|
47
|
+
title: "Custom Title",
|
|
48
|
+
locale: "en",
|
|
49
|
+
isLoading: false,
|
|
50
|
+
level: 10,
|
|
51
|
+
});
|
|
52
|
+
const { getByTestId } = render(React.createElement(Content, null));
|
|
53
|
+
expect(getByTestId("title-header")).toHaveAttribute("data-value", "Custom Title");
|
|
54
|
+
});
|
|
55
|
+
it("passes a false title straight through to the title header", () => {
|
|
56
|
+
useNeighborhoodMatchMock.mockReturnValue({
|
|
57
|
+
title: false,
|
|
58
|
+
locale: "en",
|
|
59
|
+
isLoading: false,
|
|
60
|
+
level: 10,
|
|
61
|
+
});
|
|
62
|
+
const { getByTestId } = render(React.createElement(Content, null));
|
|
63
|
+
expect(getByTestId("title-header")).toHaveAttribute("data-value", "false");
|
|
64
|
+
});
|
|
65
|
+
it("falls back to the translated title with the geography level as context", () => {
|
|
66
|
+
useNeighborhoodMatchMock.mockReturnValue({
|
|
67
|
+
title: undefined,
|
|
68
|
+
locale: "en",
|
|
69
|
+
isLoading: false,
|
|
70
|
+
level: 30,
|
|
71
|
+
});
|
|
72
|
+
const { getByTestId } = render(React.createElement(Content, null));
|
|
73
|
+
expect(getByTestId("title-header")).toHaveAttribute("data-value", "title:30");
|
|
74
|
+
});
|
|
75
|
+
it("forwards the neighborhood name and loading state to the description", () => {
|
|
76
|
+
useNeighborhoodMatchMock.mockReturnValue({
|
|
77
|
+
title: "Title",
|
|
78
|
+
locale: "en",
|
|
79
|
+
isLoading: true,
|
|
80
|
+
level: 10,
|
|
81
|
+
neighborhoodName: "Downtown",
|
|
82
|
+
});
|
|
83
|
+
const { getByTestId } = render(React.createElement(Content, null));
|
|
84
|
+
const description = getByTestId("description");
|
|
85
|
+
expect(description).toHaveAttribute("data-name", "Downtown");
|
|
86
|
+
expect(description).toHaveAttribute("data-loading", "true");
|
|
87
|
+
});
|
|
88
|
+
it("forwards the locale and hidden flag to the attribution", () => {
|
|
89
|
+
useNeighborhoodMatchMock.mockReturnValue({
|
|
90
|
+
title: "Title",
|
|
91
|
+
locale: "fr",
|
|
92
|
+
isLoading: false,
|
|
93
|
+
level: 10,
|
|
94
|
+
hideAttribution: true,
|
|
95
|
+
});
|
|
96
|
+
const { getByTestId } = render(React.createElement(Content, null));
|
|
97
|
+
const attribution = getByTestId("attribution");
|
|
98
|
+
expect(attribution).toHaveAttribute("data-locale", "fr");
|
|
99
|
+
expect(attribution).toHaveAttribute("data-hidden", "true");
|
|
100
|
+
expect(attribution).toHaveAttribute("data-sdk-name", "neighborhood-match");
|
|
101
|
+
});
|
|
102
|
+
it("renders the neighborhoods list and pagination button", () => {
|
|
103
|
+
const { getByTestId } = render(React.createElement(Content, null));
|
|
104
|
+
expect(getByTestId("neighborhoods")).toBeInTheDocument();
|
|
105
|
+
expect(getByTestId("pagination")).toBeInTheDocument();
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Content/index.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;QACrB,CAAC,EAAE,CAAC,GAAW,EAAE,OAA8B,EAAE,EAAE,CACjD,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,WAAW;YAC/C,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE;YAC7B,CAAC,CAAC,GAAG;KACV,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,MAAM,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,wBAAwB,EAAE,EAAE,CAAC,EAAE,EAAE;CAClC,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE,CAAC,CAAC;IACjD,oBAAoB,EAAE,wBAAwB;CAC/C,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,WAAW,EAAE,CAAC,EAAE,KAAK,EAA+B,EAAE,EAAE,CAAC,CACvD,4CAAiB,cAAc,gBAAa,MAAM,CAAC,KAAK,CAAC,IACtD,MAAM,CAAC,KAAK,CAAC,CACV,CACP;CACF,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,WAAW,EAAE,CAAC,EACZ,MAAM,EACN,QAAQ,EACR,OAAO,GAKR,EAAE,EAAE,CAAC,CACJ,4CACc,aAAa,iBACZ,MAAM,iBACN,MAAM,CAAC,QAAQ,CAAC,mBACd,OAAO,GACtB,CACH;CACF,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,WAAW,EAAE,CAAC,EACZ,gBAAgB,EAChB,SAAS,GAIV,EAAE,EAAE,CAAC,CACJ,4CACc,aAAa,eACd,gBAAgB,kBACb,MAAM,CAAC,SAAS,CAAC,GAC/B,CACH;CACF,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,aAAa,EAAE,GAAG,EAAE,CAAC,4CAAiB,eAAe,GAAG;CACzD,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,gBAAgB,EAAE,GAAG,EAAE,CAAC,4CAAiB,YAAY,GAAG;CACzD,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,wBAAwB,CAAC,eAAe,CAAC;YACvC,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;YACT,gBAAgB,EAAE,SAAS;YAC3B,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,wBAAwB,CAAC,eAAe,CAAC;YACvC,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,OAAO,OAAG,CAAC,CAAC;QAE5C,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CACjD,YAAY,EACZ,cAAc,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,wBAAwB,CAAC,eAAe,CAAC;YACvC,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,OAAO,OAAG,CAAC,CAAC;QAE5C,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,wBAAwB,CAAC,eAAe,CAAC;YACvC,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,OAAO,OAAG,CAAC,CAAC;QAE5C,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CACjD,YAAY,EACZ,UAAU,CACX,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,wBAAwB,CAAC,eAAe,CAAC;YACvC,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,EAAE;YACT,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC;QAEH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,OAAO,OAAG,CAAC,CAAC;QAE5C,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,wBAAwB,CAAC,eAAe,CAAC;YACvC,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;YACT,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,OAAO,OAAG,CAAC,CAAC;QAE5C,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,OAAO,OAAG,CAAC,CAAC;QAE5C,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACzD,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Description/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,eAAO,MAAM,WAAW,GAAI,kCAGzB;IACD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Description/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,eAAO,MAAM,WAAW,GAAI,kCAGzB;IACD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,sBAeA,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { useTranslation } from "react-i18next";
|
|
|
3
3
|
import * as styles from "./styles";
|
|
4
4
|
export const Description = ({ isLoading = false, neighborhoodName, }) => {
|
|
5
5
|
const { t } = useTranslation("neighborhoodMatch");
|
|
6
|
-
return (React.createElement("p", { className: styles.text, "data-is-loading": isLoading }, t(neighborhoodName ? "descriptionWithNeighborhood" : "description", {
|
|
6
|
+
return (React.createElement("p", { className: styles.text, "data-testid": "neighborhood-match-description", "data-is-loading": isLoading }, t(neighborhoodName ? "descriptionWithNeighborhood" : "description", {
|
|
7
7
|
neighborhoodName,
|
|
8
8
|
interpolation: { escapeValue: false },
|
|
9
9
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Description/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,SAAS,GAAG,KAAK,EACjB,gBAAgB,GAIjB,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAElD,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Description/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,SAAS,GAAG,KAAK,EACjB,gBAAgB,GAIjB,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAElD,OAAO,CACL,2BACE,SAAS,EAAE,MAAM,CAAC,IAAI,iBACV,gCAAgC,qBAC3B,SAAS,IAEzB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,aAAa,EAAE;QACnE,gBAAgB;QAChB,aAAa,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;KACtC,CAAC,CACA,CACL,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Description/index.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { describe, it, expect, vi } from "vitest";
|
|
3
|
+
import { render } from "@testing-library/react";
|
|
4
|
+
import { Description } from "./index";
|
|
5
|
+
vi.mock("react-i18next", () => ({
|
|
6
|
+
useTranslation: () => ({
|
|
7
|
+
t: (key) => key,
|
|
8
|
+
}),
|
|
9
|
+
}));
|
|
10
|
+
describe("Description", () => {
|
|
11
|
+
it("uses the neighborhood-specific translation key when a name is provided", () => {
|
|
12
|
+
const { getByTestId } = render(React.createElement(Description, { neighborhoodName: "Downtown" }));
|
|
13
|
+
expect(getByTestId("neighborhood-match-description")).toHaveTextContent("descriptionWithNeighborhood");
|
|
14
|
+
});
|
|
15
|
+
it("uses the generic translation key when no name is provided", () => {
|
|
16
|
+
const { getByTestId } = render(React.createElement(Description, null));
|
|
17
|
+
expect(getByTestId("neighborhood-match-description")).toHaveTextContent("description");
|
|
18
|
+
});
|
|
19
|
+
it("is not marked as loading by default", () => {
|
|
20
|
+
const { getByTestId } = render(React.createElement(Description, null));
|
|
21
|
+
expect(getByTestId("neighborhood-match-description")).toHaveAttribute("data-is-loading", "false");
|
|
22
|
+
});
|
|
23
|
+
it("is marked as loading when isLoading is true", () => {
|
|
24
|
+
const { getByTestId } = render(React.createElement(Description, { isLoading: true }));
|
|
25
|
+
expect(getByTestId("neighborhood-match-description")).toHaveAttribute("data-is-loading", "true");
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Description/index.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;QACrB,CAAC,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;KACxB,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,WAAW,IAAC,gBAAgB,EAAC,UAAU,GAAG,CAAC,CAAC;QAE5E,MAAM,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC,CAAC,iBAAiB,CACrE,6BAA6B,CAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,WAAW,OAAG,CAAC,CAAC;QAEhD,MAAM,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC,CAAC,iBAAiB,CACrE,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,WAAW,OAAG,CAAC,CAAC;QAEhD,MAAM,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC,CAAC,eAAe,CACnE,iBAAiB,EACjB,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,WAAW,IAAC,SAAS,SAAG,CAAC,CAAC;QAE1D,MAAM,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC,CAAC,eAAe,CACnE,iBAAiB,EACjB,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Neighborhoods/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,wBAAgB,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Neighborhoods/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,wBAAgB,aAAa,sBA4G5B"}
|
|
@@ -40,7 +40,7 @@ export function Neighborhoods() {
|
|
|
40
40
|
React.createElement("span", null))))))));
|
|
41
41
|
}
|
|
42
42
|
return (React.createElement(CardList.Root, { isLoading: isLoading }, similarNeighborhoods.map((neighborhood, index) => (React.createElement(CardList.Card, { key: `similar-neighborhood-card-${neighborhood.id}`, onClick: handleCardClickEvent(index), url: neighborhood.redirect_url, imageSrc: neighborhood.thumbnail_url, expanded: hasAffordabilityIndex },
|
|
43
|
-
typeof neighborhood.affordabilityComparison !== "undefined" && (React.createElement("div", { className: styles.tag },
|
|
43
|
+
typeof neighborhood.affordabilityComparison !== "undefined" && (React.createElement("div", { className: styles.tag, "data-testid": "neighborhood-match-affordability-tag" },
|
|
44
44
|
React.createElement(Tag, { isTopLeftRounded: false, isTopRightRounded: false, isVisible: !hideAffordabilityTags &&
|
|
45
45
|
!!neighborhood.affordabilityComparison, variant: neighborhood.affordabilityComparison }, t(`tags.${neighborhood.affordabilityComparison}`)))),
|
|
46
46
|
React.createElement("div", { className: styles.cardDataContent },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Neighborhoods/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAE5D,MAAM,UAAU,aAAa;IAC3B,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EACJ,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,GAAG,oBAAoB,EAAE,CAAC;IAE3B,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,GAAG,EAAE;QACtD,QAAQ,CAAC,SAAS,CAAC;YACjB,SAAS,EAAE,sBAAsB,CAAC,yBAAyB;YAC3D,eAAe,EAAE;gBACf;oBACE,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,QAAQ;iBACf;aACF;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,mBAAmB,CAAC;YAC3B,SAAS,EAAE,eAAe,CAAC,yBAAyB;YACpD,eAAe,EAAE;gBACf,kBAAkB,EAAE,QAAQ;aAC7B;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,SAAS,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,oBAAC,aAAa,IAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAI,CAAC;IAC9C,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,oBAAC,QAAQ,CAAC,IAAI,IAAC,SAAS,UACrB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3B,oBAAC,QAAQ,CAAC,IAAI,IAAC,GAAG,EAAE,sCAAsC,KAAK,EAAE;YAC/D,6BAAK,SAAS,EAAE,MAAM,CAAC,eAAe;gBACpC,oBAAC,QAAQ,CAAC,KAAK,iBAAwB;gBAEvC,oBAAC,aAAa,CAAC,IAAI;oBACjB,iCAAa,CACM,CACjB,CACQ,CACjB,CAAC,CACY,CACjB,CAAC;IACJ,CAAC;IAED,OAAO,CACL,oBAAC,QAAQ,CAAC,IAAI,IAAC,SAAS,EAAE,SAAS,IAChC,oBAAoB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,CACjD,oBAAC,QAAQ,CAAC,IAAI,IACZ,GAAG,EAAE,6BAA6B,YAAY,CAAC,EAAE,EAAE,EACnD,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,EACpC,GAAG,EAAE,YAAY,CAAC,YAAY,EAC9B,QAAQ,EAAE,YAAY,CAAC,aAAa,EACpC,QAAQ,EAAE,qBAAqB;QAE9B,OAAO,YAAY,CAAC,uBAAuB,KAAK,WAAW,IAAI,CAC9D,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Neighborhoods/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Neighborhoods/index.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { describe, beforeEach, it, expect, vi } from "vitest";
|
|
3
|
+
import { render, fireEvent } from "@testing-library/react";
|
|
4
|
+
import { Neighborhoods } from "./index";
|
|
5
|
+
import { TrackingPipelineEvents, AnalyticsEvents, } from "~/sdks/NeighborhoodMatch/types";
|
|
6
|
+
vi.mock("react-i18next", () => ({
|
|
7
|
+
useTranslation: () => ({
|
|
8
|
+
t: (key) => key,
|
|
9
|
+
}),
|
|
10
|
+
}));
|
|
11
|
+
const { postEventMock, trackAnalyticsEventMock } = vi.hoisted(() => ({
|
|
12
|
+
postEventMock: vi.fn(),
|
|
13
|
+
trackAnalyticsEventMock: vi.fn(),
|
|
14
|
+
}));
|
|
15
|
+
vi.mock("~/tracking", () => ({
|
|
16
|
+
useTracking: () => ({
|
|
17
|
+
postEvent: postEventMock,
|
|
18
|
+
trackAnalyticsEvent: trackAnalyticsEventMock,
|
|
19
|
+
}),
|
|
20
|
+
}));
|
|
21
|
+
const { useNeighborhoodMatchMock } = vi.hoisted(() => ({
|
|
22
|
+
useNeighborhoodMatchMock: vi.fn(),
|
|
23
|
+
}));
|
|
24
|
+
vi.mock("~/sdks/NeighborhoodMatch/context", () => ({
|
|
25
|
+
useNeighborhoodMatch: useNeighborhoodMatchMock,
|
|
26
|
+
}));
|
|
27
|
+
vi.mock("../CardList", () => ({
|
|
28
|
+
Root: ({ isLoading, children, }) => (React.createElement("div", { "data-testid": "card-list", "data-is-loading": String(isLoading) }, children)),
|
|
29
|
+
// Mirror the real Card: onClick only fires when there is a url to navigate to.
|
|
30
|
+
Card: ({ url, imageSrc, expanded, onClick, children, }) => (React.createElement("div", { "data-testid": "card", "data-url": url, "data-image": imageSrc, "data-expanded": String(expanded), onClick: url ? onClick : undefined }, children)),
|
|
31
|
+
Title: ({ children }) => (React.createElement("div", { "data-testid": "card-title" }, children)),
|
|
32
|
+
}));
|
|
33
|
+
vi.mock("@local-logic/design-system", () => ({
|
|
34
|
+
Tag: ({ children, variant, isVisible, }) => (React.createElement("span", { "data-testid": "tag", "data-variant": variant, "data-visible": String(isVisible) }, children)),
|
|
35
|
+
}));
|
|
36
|
+
vi.mock("~/components/NoDataContent", () => ({
|
|
37
|
+
NoDataContent: ({ text }) => (React.createElement("div", { "data-testid": "no-data" }, text)),
|
|
38
|
+
}));
|
|
39
|
+
vi.mock("~/components/ScoreCardList", () => ({
|
|
40
|
+
Root: ({ children }) => (React.createElement("div", { "data-testid": "score-list" }, children)),
|
|
41
|
+
Card: ({ title, value, scoreKey, }) => (React.createElement("div", { "data-testid": "score-card", "data-score-key": scoreKey, "data-value": String(value) }, title)),
|
|
42
|
+
}));
|
|
43
|
+
const baseContext = {
|
|
44
|
+
isFetched: true,
|
|
45
|
+
isLoading: false,
|
|
46
|
+
similarNeighborhoods: [],
|
|
47
|
+
hasAffordabilityIndex: false,
|
|
48
|
+
hideAffordabilityTags: false,
|
|
49
|
+
};
|
|
50
|
+
describe("Neighborhoods", () => {
|
|
51
|
+
beforeEach(() => {
|
|
52
|
+
vi.clearAllMocks();
|
|
53
|
+
useNeighborhoodMatchMock.mockReturnValue(Object.assign({}, baseContext));
|
|
54
|
+
});
|
|
55
|
+
it("renders the no-data message when fetched with no results", () => {
|
|
56
|
+
useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { isFetched: true, similarNeighborhoods: [] }));
|
|
57
|
+
const { getByTestId } = render(React.createElement(Neighborhoods, null));
|
|
58
|
+
expect(getByTestId("no-data")).toHaveTextContent("noData");
|
|
59
|
+
});
|
|
60
|
+
it("renders four loading skeleton cards while loading", () => {
|
|
61
|
+
useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { isFetched: false, isLoading: true, similarNeighborhoods: [] }));
|
|
62
|
+
const { getByTestId, getAllByTestId } = render(React.createElement(Neighborhoods, null));
|
|
63
|
+
expect(getByTestId("card-list")).toHaveAttribute("data-is-loading", "true");
|
|
64
|
+
expect(getAllByTestId("card")).toHaveLength(4);
|
|
65
|
+
});
|
|
66
|
+
it("renders a card for each similar neighborhood with its url, image and expanded state", () => {
|
|
67
|
+
useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { hasAffordabilityIndex: true, similarNeighborhoods: [
|
|
68
|
+
{
|
|
69
|
+
id: "1",
|
|
70
|
+
name: "Alpha",
|
|
71
|
+
redirect_url: "https://example.com/alpha",
|
|
72
|
+
thumbnail_url: "https://example.com/alpha.jpg",
|
|
73
|
+
scores: {},
|
|
74
|
+
},
|
|
75
|
+
{ id: "2", name: "Beta", scores: {} },
|
|
76
|
+
] }));
|
|
77
|
+
const { getAllByTestId } = render(React.createElement(Neighborhoods, null));
|
|
78
|
+
const cards = getAllByTestId("card");
|
|
79
|
+
expect(cards).toHaveLength(2);
|
|
80
|
+
expect(cards[0]).toHaveAttribute("data-url", "https://example.com/alpha");
|
|
81
|
+
expect(cards[0]).toHaveAttribute("data-image", "https://example.com/alpha.jpg");
|
|
82
|
+
expect(cards[0]).toHaveAttribute("data-expanded", "true");
|
|
83
|
+
expect(getAllByTestId("card-title")[0]).toHaveTextContent("Alpha");
|
|
84
|
+
});
|
|
85
|
+
it("renders a score card for each score with a non-negative value", () => {
|
|
86
|
+
useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { similarNeighborhoods: [
|
|
87
|
+
{
|
|
88
|
+
id: "1",
|
|
89
|
+
name: "Alpha",
|
|
90
|
+
scores: {
|
|
91
|
+
pedestrian_friendly: 5,
|
|
92
|
+
transit_friendly: 0,
|
|
93
|
+
groceries: -1,
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
] }));
|
|
97
|
+
const { getAllByTestId } = render(React.createElement(Neighborhoods, null));
|
|
98
|
+
expect(getAllByTestId("score-card")).toHaveLength(2);
|
|
99
|
+
});
|
|
100
|
+
it("renders a visible affordability tag when a comparison is present", () => {
|
|
101
|
+
useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { hideAffordabilityTags: false, similarNeighborhoods: [
|
|
102
|
+
{
|
|
103
|
+
id: "1",
|
|
104
|
+
name: "Alpha",
|
|
105
|
+
scores: {},
|
|
106
|
+
affordabilityComparison: "positive",
|
|
107
|
+
},
|
|
108
|
+
] }));
|
|
109
|
+
const { getByTestId } = render(React.createElement(Neighborhoods, null));
|
|
110
|
+
expect(getByTestId("neighborhood-match-affordability-tag")).toBeInTheDocument();
|
|
111
|
+
expect(getByTestId("tag")).toHaveAttribute("data-variant", "positive");
|
|
112
|
+
expect(getByTestId("tag")).toHaveAttribute("data-visible", "true");
|
|
113
|
+
});
|
|
114
|
+
it("hides the affordability tag content when affordability tags are hidden", () => {
|
|
115
|
+
useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { hideAffordabilityTags: true, similarNeighborhoods: [
|
|
116
|
+
{
|
|
117
|
+
id: "1",
|
|
118
|
+
name: "Alpha",
|
|
119
|
+
scores: {},
|
|
120
|
+
affordabilityComparison: "positive",
|
|
121
|
+
},
|
|
122
|
+
] }));
|
|
123
|
+
const { getByTestId } = render(React.createElement(Neighborhoods, null));
|
|
124
|
+
expect(getByTestId("tag")).toHaveAttribute("data-visible", "false");
|
|
125
|
+
});
|
|
126
|
+
it("does not render an affordability tag when there is no comparison", () => {
|
|
127
|
+
useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { similarNeighborhoods: [{ id: "1", name: "Alpha", scores: {} }] }));
|
|
128
|
+
const { queryByTestId } = render(React.createElement(Neighborhoods, null));
|
|
129
|
+
expect(queryByTestId("neighborhood-match-affordability-tag")).toBeNull();
|
|
130
|
+
});
|
|
131
|
+
it("tracks a card click with its position in the set", () => {
|
|
132
|
+
useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { similarNeighborhoods: [
|
|
133
|
+
{
|
|
134
|
+
id: "1",
|
|
135
|
+
name: "Alpha",
|
|
136
|
+
scores: {},
|
|
137
|
+
redirect_url: "https://example.com/alpha",
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
id: "2",
|
|
141
|
+
name: "Beta",
|
|
142
|
+
scores: {},
|
|
143
|
+
redirect_url: "https://example.com/beta",
|
|
144
|
+
},
|
|
145
|
+
] }));
|
|
146
|
+
const { getAllByTestId } = render(React.createElement(Neighborhoods, null));
|
|
147
|
+
fireEvent.click(getAllByTestId("card")[1]);
|
|
148
|
+
expect(postEventMock).toHaveBeenCalledWith({
|
|
149
|
+
eventType: TrackingPipelineEvents.NEIGHBORHOOD_CARD_CLICKED,
|
|
150
|
+
eventAttributes: [{ label: "position_in_set", data: 1 }],
|
|
151
|
+
});
|
|
152
|
+
expect(trackAnalyticsEventMock).toHaveBeenCalledWith({
|
|
153
|
+
eventName: AnalyticsEvents.NEIGHBORHOOD_CARD_CLICKED,
|
|
154
|
+
eventAttributes: { ll_position_in_set: 1 },
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Neighborhoods/index.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/PaginationButton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/PaginationButton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,eAAO,MAAM,gBAAgB,gCAiE5B,CAAC"}
|
|
@@ -52,7 +52,7 @@ export const PaginationButton = () => {
|
|
|
52
52
|
if (!(breakpoints === null || breakpoints === void 0 ? void 0 : breakpoints.lg) || (!hasMore && limit === minimumLimit)) {
|
|
53
53
|
return null;
|
|
54
54
|
}
|
|
55
|
-
return (React.createElement("div", { className: styles.container },
|
|
55
|
+
return (React.createElement("div", { className: styles.container, "data-testid": "neighborhood-match-pagination" },
|
|
56
56
|
React.createElement(Button, { variant: "secondary", onClick: handleClick },
|
|
57
57
|
hasMore && t("pagination.next"),
|
|
58
58
|
!hasMore && limit > minimumLimit && t("pagination.previous"))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/PaginationButton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,gCAAgC,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GACxD,oBAAoB,EAAE,CAAC;IACzB,MAAM,WAAW,GAAG,wBAAwB,EAAE,CAAC;IAE/C,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,SAAS,CAAC;gBACjB,SAAS,EAAE,sBAAsB,CAAC,kBAAkB;gBACpD,eAAe,EAAE;oBACf;wBACE,KAAK,EAAE,wBAAwB;wBAC/B,IAAI,EAAE,WAAW;qBAClB;iBACF;aACF,CAAC,CAAC;YAEH,QAAQ,CAAC,mBAAmB,CAAC;gBAC3B,SAAS,EAAE,eAAe,CAAC,kBAAkB;gBAC7C,eAAe,EAAE;oBACf,yBAAyB,EAAE,WAAW;iBACvC;aACF,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;YACrC,QAAQ,CAAC,SAAS,CAAC;gBACjB,SAAS,EAAE,sBAAsB,CAAC,kBAAkB;gBACpD,eAAe,EAAE;oBACf;wBACE,KAAK,EAAE,wBAAwB;wBAC/B,IAAI,EAAE,WAAW;qBAClB;iBACF;aACF,CAAC,CAAC;YAEH,QAAQ,CAAC,mBAAmB,CAAC;gBAC3B,SAAS,EAAE,eAAe,CAAC,kBAAkB;gBAC7C,eAAe,EAAE;oBACf,yBAAyB,EAAE,WAAW;iBACvC;aACF,CAAC,CAAC;YAEH,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,CAAA,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,KAAK,YAAY,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/PaginationButton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,gCAAgC,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GACxD,oBAAoB,EAAE,CAAC;IACzB,MAAM,WAAW,GAAG,wBAAwB,EAAE,CAAC;IAE/C,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,SAAS,CAAC;gBACjB,SAAS,EAAE,sBAAsB,CAAC,kBAAkB;gBACpD,eAAe,EAAE;oBACf;wBACE,KAAK,EAAE,wBAAwB;wBAC/B,IAAI,EAAE,WAAW;qBAClB;iBACF;aACF,CAAC,CAAC;YAEH,QAAQ,CAAC,mBAAmB,CAAC;gBAC3B,SAAS,EAAE,eAAe,CAAC,kBAAkB;gBAC7C,eAAe,EAAE;oBACf,yBAAyB,EAAE,WAAW;iBACvC;aACF,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;YACrC,QAAQ,CAAC,SAAS,CAAC;gBACjB,SAAS,EAAE,sBAAsB,CAAC,kBAAkB;gBACpD,eAAe,EAAE;oBACf;wBACE,KAAK,EAAE,wBAAwB;wBAC/B,IAAI,EAAE,WAAW;qBAClB;iBACF;aACF,CAAC,CAAC;YAEH,QAAQ,CAAC,mBAAmB,CAAC;gBAC3B,SAAS,EAAE,eAAe,CAAC,kBAAkB;gBAC7C,eAAe,EAAE;oBACf,yBAAyB,EAAE,WAAW;iBACvC;aACF,CAAC,CAAC;YAEH,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,CAAA,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,KAAK,YAAY,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,6BACE,SAAS,EAAE,MAAM,CAAC,SAAS,iBACf,+BAA+B;QAE3C,oBAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,WAAW;YAC7C,OAAO,IAAI,CAAC,CAAC,iBAAiB,CAAC;YAC/B,CAAC,OAAO,IAAI,KAAK,GAAG,YAAY,IAAI,CAAC,CAAC,qBAAqB,CAAC,CACtD,CACL,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/PaginationButton/index.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { describe, beforeEach, it, expect, vi } from "vitest";
|
|
3
|
+
import { render, fireEvent } from "@testing-library/react";
|
|
4
|
+
import { PaginationButton } from "./index";
|
|
5
|
+
import { TrackingPipelineEvents, AnalyticsEvents, } from "~/sdks/NeighborhoodMatch/types";
|
|
6
|
+
vi.mock("react-i18next", () => ({
|
|
7
|
+
useTranslation: () => ({
|
|
8
|
+
t: (key) => key,
|
|
9
|
+
}),
|
|
10
|
+
}));
|
|
11
|
+
const { postEventMock, trackAnalyticsEventMock } = vi.hoisted(() => ({
|
|
12
|
+
postEventMock: vi.fn(),
|
|
13
|
+
trackAnalyticsEventMock: vi.fn(),
|
|
14
|
+
}));
|
|
15
|
+
vi.mock("~/tracking", () => ({
|
|
16
|
+
useTracking: () => ({
|
|
17
|
+
postEvent: postEventMock,
|
|
18
|
+
trackAnalyticsEvent: trackAnalyticsEventMock,
|
|
19
|
+
}),
|
|
20
|
+
}));
|
|
21
|
+
const { useNeighborhoodMatchMock } = vi.hoisted(() => ({
|
|
22
|
+
useNeighborhoodMatchMock: vi.fn(),
|
|
23
|
+
}));
|
|
24
|
+
vi.mock("~/sdks/NeighborhoodMatch/context", () => ({
|
|
25
|
+
useNeighborhoodMatch: useNeighborhoodMatchMock,
|
|
26
|
+
}));
|
|
27
|
+
const { breakpointsMock } = vi.hoisted(() => ({ breakpointsMock: vi.fn() }));
|
|
28
|
+
vi.mock("~/hooks/useResponsiveBreakpoints", () => ({
|
|
29
|
+
useResponsiveBreakpoints: breakpointsMock,
|
|
30
|
+
}));
|
|
31
|
+
vi.mock("@local-logic/design-system", () => ({
|
|
32
|
+
Button: ({ children, onClick, }) => (React.createElement("button", { "data-testid": "pagination-button", onClick: onClick }, children)),
|
|
33
|
+
}));
|
|
34
|
+
describe("PaginationButton", () => {
|
|
35
|
+
beforeEach(() => {
|
|
36
|
+
vi.clearAllMocks();
|
|
37
|
+
breakpointsMock.mockReturnValue({ lg: true });
|
|
38
|
+
useNeighborhoodMatchMock.mockReturnValue({
|
|
39
|
+
limit: 4,
|
|
40
|
+
minimumLimit: 4,
|
|
41
|
+
hasMore: true,
|
|
42
|
+
viewMore: vi.fn(),
|
|
43
|
+
viewLess: vi.fn(),
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
it("does not render below the lg breakpoint", () => {
|
|
47
|
+
breakpointsMock.mockReturnValue({ lg: false });
|
|
48
|
+
const { queryByTestId } = render(React.createElement(PaginationButton, null));
|
|
49
|
+
expect(queryByTestId("neighborhood-match-pagination")).toBeNull();
|
|
50
|
+
});
|
|
51
|
+
it("does not render when there is nothing more to show and nothing to collapse", () => {
|
|
52
|
+
useNeighborhoodMatchMock.mockReturnValue({
|
|
53
|
+
limit: 4,
|
|
54
|
+
minimumLimit: 4,
|
|
55
|
+
hasMore: false,
|
|
56
|
+
viewMore: vi.fn(),
|
|
57
|
+
viewLess: vi.fn(),
|
|
58
|
+
});
|
|
59
|
+
const { queryByTestId } = render(React.createElement(PaginationButton, null));
|
|
60
|
+
expect(queryByTestId("neighborhood-match-pagination")).toBeNull();
|
|
61
|
+
});
|
|
62
|
+
it("shows the next label when there are more results", () => {
|
|
63
|
+
const { getByTestId } = render(React.createElement(PaginationButton, null));
|
|
64
|
+
expect(getByTestId("pagination-button")).toHaveTextContent("pagination.next");
|
|
65
|
+
});
|
|
66
|
+
it("shows the previous label when expanded past the minimum with nothing more", () => {
|
|
67
|
+
useNeighborhoodMatchMock.mockReturnValue({
|
|
68
|
+
limit: 8,
|
|
69
|
+
minimumLimit: 4,
|
|
70
|
+
hasMore: false,
|
|
71
|
+
viewMore: vi.fn(),
|
|
72
|
+
viewLess: vi.fn(),
|
|
73
|
+
});
|
|
74
|
+
const { getByTestId } = render(React.createElement(PaginationButton, null));
|
|
75
|
+
expect(getByTestId("pagination-button")).toHaveTextContent("pagination.previous");
|
|
76
|
+
});
|
|
77
|
+
it("calls viewMore and tracks a view_more event when there are more results", () => {
|
|
78
|
+
const viewMore = vi.fn();
|
|
79
|
+
const viewLess = vi.fn();
|
|
80
|
+
useNeighborhoodMatchMock.mockReturnValue({
|
|
81
|
+
limit: 4,
|
|
82
|
+
minimumLimit: 4,
|
|
83
|
+
hasMore: true,
|
|
84
|
+
viewMore,
|
|
85
|
+
viewLess,
|
|
86
|
+
});
|
|
87
|
+
const { getByTestId } = render(React.createElement(PaginationButton, null));
|
|
88
|
+
fireEvent.click(getByTestId("pagination-button"));
|
|
89
|
+
expect(viewMore).toHaveBeenCalledTimes(1);
|
|
90
|
+
expect(viewLess).not.toHaveBeenCalled();
|
|
91
|
+
expect(postEventMock).toHaveBeenCalledWith({
|
|
92
|
+
eventType: TrackingPipelineEvents.PAGINATION_CLICKED,
|
|
93
|
+
eventAttributes: [{ label: "pagination_action_type", data: "view_more" }],
|
|
94
|
+
});
|
|
95
|
+
expect(trackAnalyticsEventMock).toHaveBeenCalledWith({
|
|
96
|
+
eventName: AnalyticsEvents.PAGINATION_CLICKED,
|
|
97
|
+
eventAttributes: { ll_pagination_action_type: "view_more" },
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
it("calls viewLess and tracks a view_less event when collapsing", () => {
|
|
101
|
+
const viewMore = vi.fn();
|
|
102
|
+
const viewLess = vi.fn();
|
|
103
|
+
useNeighborhoodMatchMock.mockReturnValue({
|
|
104
|
+
limit: 8,
|
|
105
|
+
minimumLimit: 4,
|
|
106
|
+
hasMore: false,
|
|
107
|
+
viewMore,
|
|
108
|
+
viewLess,
|
|
109
|
+
});
|
|
110
|
+
const { getByTestId } = render(React.createElement(PaginationButton, null));
|
|
111
|
+
fireEvent.click(getByTestId("pagination-button"));
|
|
112
|
+
expect(viewLess).toHaveBeenCalledTimes(1);
|
|
113
|
+
expect(viewMore).not.toHaveBeenCalled();
|
|
114
|
+
expect(postEventMock).toHaveBeenCalledWith({
|
|
115
|
+
eventType: TrackingPipelineEvents.PAGINATION_CLICKED,
|
|
116
|
+
eventAttributes: [{ label: "pagination_action_type", data: "view_less" }],
|
|
117
|
+
});
|
|
118
|
+
expect(trackAnalyticsEventMock).toHaveBeenCalledWith({
|
|
119
|
+
eventName: AnalyticsEvents.PAGINATION_CLICKED,
|
|
120
|
+
eventAttributes: { ll_pagination_action_type: "view_less" },
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/PaginationButton/index.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/addAffordabilityComparisonToNeighborhood/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { addAffordabilityComparisonToNeighborhood } from "./index";
|
|
3
|
+
const makeNeighborhood = (affordabilityIndex) => ({
|
|
4
|
+
id: "g30_test",
|
|
5
|
+
name: "Test Neighborhood",
|
|
6
|
+
affordability_index: affordabilityIndex,
|
|
7
|
+
});
|
|
8
|
+
describe("addAffordabilityComparisonToNeighborhood", () => {
|
|
9
|
+
it("returns the neighborhood unchanged when the base affordability index is missing", () => {
|
|
10
|
+
const neighborhood = makeNeighborhood(100);
|
|
11
|
+
const result = addAffordabilityComparisonToNeighborhood(undefined, neighborhood);
|
|
12
|
+
expect(result).toBe(neighborhood);
|
|
13
|
+
expect(result.affordabilityComparison).toBeUndefined();
|
|
14
|
+
});
|
|
15
|
+
it("returns the neighborhood unchanged when the compared neighborhood has no affordability index", () => {
|
|
16
|
+
const neighborhood = makeNeighborhood(null);
|
|
17
|
+
const result = addAffordabilityComparisonToNeighborhood(100, neighborhood);
|
|
18
|
+
expect(result).toBe(neighborhood);
|
|
19
|
+
expect(result.affordabilityComparison).toBeUndefined();
|
|
20
|
+
});
|
|
21
|
+
it("flags the comparison as neutral when the indices are within 5%", () => {
|
|
22
|
+
// |1 - 100 / 102| ~= 0.0196, which is under the 0.05 threshold.
|
|
23
|
+
const result = addAffordabilityComparisonToNeighborhood(100, makeNeighborhood(102));
|
|
24
|
+
expect(result.affordabilityComparison).toBe("neutral");
|
|
25
|
+
});
|
|
26
|
+
it("flags the comparison as negative when the base index is higher than the compared one", () => {
|
|
27
|
+
const result = addAffordabilityComparisonToNeighborhood(200, makeNeighborhood(100));
|
|
28
|
+
expect(result.affordabilityComparison).toBe("negative");
|
|
29
|
+
});
|
|
30
|
+
it("flags the comparison as positive when the base index is lower than the compared one", () => {
|
|
31
|
+
const result = addAffordabilityComparisonToNeighborhood(100, makeNeighborhood(200));
|
|
32
|
+
expect(result.affordabilityComparison).toBe("positive");
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../../../src/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/addAffordabilityComparisonToNeighborhood/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,wCAAwC,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,gBAAgB,GAAG,CAAC,kBAAkC,EAAgB,EAAE,CAC5E,CAAC;IACC,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,mBAAmB;IACzB,mBAAmB,EAAE,kBAAkB;CACxC,CAA4B,CAAC;AAEhC,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACxD,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,wCAAwC,CACrD,SAAS,EACT,YAAY,CACb,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,aAAa,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8FAA8F,EAAE,GAAG,EAAE;QACtG,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,wCAAwC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAE3E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,aAAa,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,gEAAgE;QAChE,MAAM,MAAM,GAAG,wCAAwC,CACrD,GAAG,EACH,gBAAgB,CAAC,GAAG,CAAC,CACtB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,MAAM,GAAG,wCAAwC,CACrD,GAAG,EACH,gBAAgB,CAAC,GAAG,CAAC,CACtB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;QAC7F,MAAM,MAAM,GAAG,wCAAwC,CACrD,GAAG,EACH,gBAAgB,CAAC,GAAG,CAAC,CACtB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|