diff --git a/src/Components/AvailableBidder/AvailableBidderStats/AvailableBidderStats.jsx b/src/Components/AvailableBidder/AvailableBidderStats/AvailableBidderStats.jsx index 018b09c794..15f16ee058 100644 --- a/src/Components/AvailableBidder/AvailableBidderStats/AvailableBidderStats.jsx +++ b/src/Components/AvailableBidder/AvailableBidderStats/AvailableBidderStats.jsx @@ -5,7 +5,7 @@ import FA from 'react-fontawesome'; import { Cell, Pie, PieChart, Tooltip } from 'recharts'; import InteractiveElement from 'Components/InteractiveElement'; import LoadingText from 'Components/LoadingText'; -import { getAvatarColor } from 'utilities'; +import { getAvatarColor, sortGrades } from 'utilities'; import Picky from 'react-picky'; import { Row } from '../../Layout'; @@ -15,19 +15,26 @@ const AvailableBidderStats = () => { const statOptions = [ 'Bureau', + 'CDO', 'Grade', + 'OC Bureau', 'Post', 'Skill', 'Status', - 'TED', ]; // App state const biddersData = useSelector(state => state.availableBiddersFetchDataSuccess); const availableBiddersIsLoading = useSelector(state => state.availableBiddersFetchDataLoading); - const stats = get(biddersData.stats, selectedStat) || []; - const statsSum = get(biddersData.stats, 'Sum', {})[selectedStat]; + let stats = get(biddersData, 'stats', {})[selectedStat] || []; + const statsSum = get(biddersData, 'stats.Sum', {})[selectedStat] || 0; + + // sorting grades to maintain consistency across the site + if (selectedStat === 'Grade') { + stats = stats.map(grade => ({ ...grade, code: grade.name })); + stats.sort(sortGrades); + } // adding colors const stats$ = stats.map(m => { @@ -92,7 +99,12 @@ const AvailableBidderStats = () => { className="legend-square" style={{ backgroundColor: m.color }} /> -
{`(${m.value}) ${m.name} ${m.percent}`}
+
+ {`(${m.value}) ${m.name}`} + + {`${m.percent}`} + +
)) } diff --git a/src/Components/AvailableBidder/AvailableBidderStats/AvailableBiddersStats.test.jsx b/src/Components/AvailableBidder/AvailableBidderStats/AvailableBiddersStats.test.jsx new file mode 100644 index 0000000000..1dc14e82e2 --- /dev/null +++ b/src/Components/AvailableBidder/AvailableBidderStats/AvailableBiddersStats.test.jsx @@ -0,0 +1,18 @@ +import TestUtils from 'react-dom/test-utils'; +import { Provider } from 'react-redux'; +import { MemoryRouter } from 'react-router-dom'; +import configureStore from 'redux-mock-store'; +import thunk from 'redux-thunk'; +import AvailableBidderStats from './AvailableBidderStats'; + +const middlewares = [thunk]; +const mockStore = configureStore(middlewares); + +describe('AvailableBidderStats', () => { + it('is defined', () => { + const wrapper = TestUtils.renderIntoDocument( + + ); + expect(wrapper).toBeDefined(); + }); +}); diff --git a/src/sass/_availableBidders.scss b/src/sass/_availableBidders.scss index 0582c4a24f..9ac1a11f50 100644 --- a/src/sass/_availableBidders.scss +++ b/src/sass/_availableBidders.scss @@ -64,6 +64,11 @@ margin: auto .8em; } + .percent-text { + font-weight: bold; + margin-left: .4em; + } + .chart-container { margin-right: auto;