diff --git a/src/components/groupImpactComponents/GroupGoalNotification.stories.jsx b/src/components/groupImpactComponents/GroupGoalNotification.stories.jsx index ccef6627..2463455f 100644 --- a/src/components/groupImpactComponents/GroupGoalNotification.stories.jsx +++ b/src/components/groupImpactComponents/GroupGoalNotification.stories.jsx @@ -34,4 +34,3 @@ startedWithDate.args = { impactCountPerMetric: 3, dateStarted: '2020-01-10T10:00:00.000Z', } - diff --git a/src/components/groupImpactComponents/GroupImpactSidebar.js b/src/components/groupImpactComponents/GroupImpactSidebar.js index 8fbf24f2..bd04b52b 100644 --- a/src/components/groupImpactComponents/GroupImpactSidebar.js +++ b/src/components/groupImpactComponents/GroupImpactSidebar.js @@ -437,7 +437,9 @@ const GroupImpactSidebar = ({ precision={3} renderer={({ hours, days }) => ( - {`${days > 0 ? `${days} Days` : ``} ${hours > 0 ? `${hours} Hours` : ``} ${days > 0 || hours > 0 ? ` Left`: ``}`} + {`${days > 0 ? `${days} Days` : ``} ${ + hours > 0 ? `${hours} Hours` : `` + } ${days > 0 || hours > 0 ? ` Left` : ``}`} )} /> diff --git a/src/components/groupImpactComponents/__tests__/GroupImpact.test.js b/src/components/groupImpactComponents/__tests__/GroupImpact.test.js index d5077522..8f96a1d9 100644 --- a/src/components/groupImpactComponents/__tests__/GroupImpact.test.js +++ b/src/components/groupImpactComponents/__tests__/GroupImpact.test.js @@ -382,4 +382,77 @@ describe('GroupImpact component', () => { const wrapper = mount() expect(wrapper.find(GroupGoalNotification).exists()).toEqual(false) }) + + it('displays values correctly if timeboxed', () => { + const GroupImpact = + require('src/components/groupImpactComponents/GroupImpact').default + const mockProps = { + user: { + id: 'user-id', + cause: { + groupImpactMetric: { + id: 'abcd', + dollarProgress: 250, + dollarProgressFromSearch: 125, + dollarGoal: 600, + impactMetric: { + impactTitle: 'impact-title', + whyValuableDescription: 'why-valuable-description', + impactCountPerMetric: 5, + }, + dateStarted: '2023-09-19T10:00:00.000Z', + dateExpires: '2023-09-23T10:00:00.000Z', + }, + }, + }, + } + + localstorageManager.getNumericItem.mockReturnValue(0) + localstorageGroupImpactManager.getLastSeenGroupImpactMetric.mockReturnValue( + mockProps.user.cause.groupImpactMetric + ) + const wrapper = mount() + expect( + wrapper.find(GroupGoalNotification).first().prop('dateStarted') + ).toEqual(mockProps.user.cause.groupImpactMetric.dateStarted) + expect(wrapper.find(GroupImpactSidebar).prop('dateExpires')).toEqual( + mockProps.user.cause.groupImpactMetric.dateExpires + ) + }) + + it('displays values correctly if not timeboxed', () => { + const GroupImpact = + require('src/components/groupImpactComponents/GroupImpact').default + const mockProps = { + user: { + id: 'user-id', + cause: { + groupImpactMetric: { + id: 'abcd', + dollarProgress: 250, + dollarProgressFromSearch: 125, + dollarGoal: 600, + impactMetric: { + impactTitle: 'impact-title', + whyValuableDescription: 'why-valuable-description', + impactCountPerMetric: 5, + }, + dateStarted: '2023-09-19T10:00:00.000Z', + }, + }, + }, + } + + localstorageManager.getNumericItem.mockReturnValue(0) + localstorageGroupImpactManager.getLastSeenGroupImpactMetric.mockReturnValue( + mockProps.user.cause.groupImpactMetric + ) + const wrapper = mount() + expect( + wrapper.find(GroupGoalNotification).first().prop('dateStarted') + ).toEqual(null) + expect(wrapper.find(GroupImpactSidebar).prop('dateExpires')).toEqual( + undefined + ) + }) }) diff --git a/src/components/groupImpactComponents/__tests__/GroupImpactSidebar.test.js b/src/components/groupImpactComponents/__tests__/GroupImpactSidebar.test.js index 548adadd..4f327bb8 100644 --- a/src/components/groupImpactComponents/__tests__/GroupImpactSidebar.test.js +++ b/src/components/groupImpactComponents/__tests__/GroupImpactSidebar.test.js @@ -12,8 +12,8 @@ import { shopLandingURL } from 'src/utils/urls' import { windowOpenTop } from 'src/utils/navigation' import SearchIcon from '@material-ui/icons/Search' import TabIcon from '@material-ui/icons/Tab' -import GroupImpactLeaderboard from '../GroupImpactLeaderboard' import Countdown from 'react-countdown' +import GroupImpactLeaderboard from '../GroupImpactLeaderboard' jest.mock('ga-gtag') jest.mock('src/utils/navigation') @@ -502,7 +502,9 @@ describe('GroupImpactSidebar component', () => { } const wrapper = shallow() expect(wrapper.find(Countdown).exists()).toEqual(true) - expect(wrapper.find(Countdown).prop('dateExpires')).toEqual(mockProps.dateExpires) + expect(wrapper.find(Countdown).prop('dateExpires')).toEqual( + mockProps.dateExpires + ) expect(wrapper.find(Typography).first().text()).toEqual('WEEKLY GROUP GOAL') })