Skip to content

Commit

Permalink
Merge pull request #3503 from bcgov/NDT-486-Update-CCBC-total-fields-…
Browse files Browse the repository at this point in the history
…for-communities

Ndt 486 update ccbc total fields for communities
  • Loading branch information
RRanath authored Aug 29, 2024
2 parents 68a2f88 + 2fecef7 commit b8f19e1
Show file tree
Hide file tree
Showing 8 changed files with 59 additions and 61 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
## [1.186.4](https://github.com/bcgov/CONN-CCBC-portal/compare/v1.186.3...v1.186.4) (2024-08-29)

## [1.186.3](https://github.com/bcgov/CONN-CCBC-portal/compare/v1.186.2...v1.186.3) (2024-08-28)

### Bug Fixes
Expand Down
4 changes: 3 additions & 1 deletion app/components/Review/fields/ReviewFieldTemplate.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,9 @@ const ReviewFieldTemplate: React.FC<FieldTemplateProps> = ({
)}
</StyledColError>
) : (
<StyledColRight id={`${id}-value`}>{children}</StyledColRight>
<StyledColRight data-testid={`${id}-value`}>
{children}
</StyledColRight>
)}
</tr>
{after}
Expand Down
19 changes: 12 additions & 7 deletions app/formSchema/analyst/summary/counts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,33 @@ const counts: RJSFSchema = {
type: 'object',
required: [
'communities',
'benefitingCommunities',
'indigenousCommunities',
'nonIndigenousCommunities',
'benefitingCommunities',
'benefitingIndigenousCommunities',
'totalHouseholdsImpacted',
'numberOfIndigenousHouseholds',
],
properties: {
communities: {
type: 'number',
title: 'Communities',
title: 'Total number of communities benefitting',
},
benefitingCommunities: {
indigenousCommunities: {
type: 'number',
title: 'Benefiting Communities',
title: 'Number of Indigenous Communities benefitting',
},
indigenousCommunities: {
nonIndigenousCommunities: {
type: 'number',
title: 'Indigenous Communities',
title: 'Number of Non-Indigenous Communities benefitting',
},
benefitingIndigenousCommunities: {
type: 'number',
title: 'Benefiting Indigenous Communities',
title: 'List of Indigenous communities benefitting',
},
benefitingCommunities: {
type: 'number',
title: 'List of Non-Indigenous communities benefitting',
},
totalHouseholdsImpacted: {
type: 'number',
Expand Down
18 changes: 11 additions & 7 deletions app/formSchema/uiSchema/summary/countsUiSchema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,23 @@ const countsUiSchema = {
'ui:title': 'Counts',
communities: {
'ui:widget': 'NumberWidget',
'ui:label': 'Communities',
},
benefitingCommunities: {
'ui:widget': 'LinkArrayWidget',
'ui:label': 'Benefiting Communities',
'ui:label': 'Total number of communities benefitting',
},
indigenousCommunities: {
'ui:widget': 'NumberWidget',
'ui:label': 'Indigenous Communities',
'ui:label': 'Number of Indigenous Communities benefitting',
},
nonIndigenousCommunities: {
'ui:widget': 'NumberWidget',
'ui:label': 'Number of Non-Indigenous Communities benefitting',
},
benefitingIndigenousCommunities: {
'ui:widget': 'LinkArrayWidget',
'ui:label': 'Benefiting Indigenous Communities',
'ui:label': 'List of Indigenous communities benefitting',
},
benefitingCommunities: {
'ui:widget': 'LinkArrayWidget',
'ui:label': 'List of Non-Indigenous communities benefitting',
},
totalHouseholdsImpacted: {
'ui:widget': 'NumberWidget',
Expand Down
57 changes: 14 additions & 43 deletions app/lib/helpers/ccbcSummaryGenerateFormData.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -128,57 +128,26 @@ const getCommunities = (communities) => {
};
};

const getSowErrors = (sowData, communitiesData) => {
// error on benefiting communities
const errors = {
counts: {
benefitingCommunities: {},
benefitingIndigenousCommunities: {},
},
};
const communitiesNumber =
sowData?.nodes[0]?.sowTab8SBySowId?.nodes[0]?.jsonData?.communitiesNumber;
const indigenousCommunitiesNumber =
sowData?.nodes[0]?.sowTab8SBySowId?.nodes[0]?.jsonData
?.indigenousCommunitiesNumber;
if (communitiesNumber !== communitiesData?.totalBenefitingCommunities) {
errors.counts.benefitingCommunities = {
__errors: [
`Communities count mismatch ${communitiesNumber} and ${communitiesData.totalBenefitingCommunities}`,
],
errorColor: '#f8e78f',
};
// error on benefiting indigenous communities
}
if (
indigenousCommunitiesNumber !==
communitiesData?.totalBenefitingIndigenousCommunities
) {
errors.counts.benefitingIndigenousCommunities = {
__errors: [
`Indigenous communities count mismatch ${indigenousCommunitiesNumber} and ${communitiesData.totalBenefitingIndigenousCommunities}`,
],
errorColor: '#f8e78f',
};
}
return errors;
};

const getSowData = (sowData, baseSowData) => {
const communitiesData = getCommunities(
sowData?.nodes[0]?.sowTab8SBySowId?.nodes[0]?.jsonData?.geoNames
);
const errors = getSowErrors(sowData, communitiesData);
const errors = {}; // errors may get added later
const communities =
sowData?.nodes[0]?.sowTab8SBySowId?.nodes[0]?.jsonData?.communitiesNumber;
const indigenousCommunities =
sowData?.nodes[0]?.sowTab8SBySowId?.nodes[0]?.jsonData
?.indigenousCommunitiesNumber;
return {
formData: {
counts: {
communities:
sowData?.nodes[0]?.sowTab8SBySowId?.nodes[0]?.jsonData
?.communitiesNumber,
communities,
benefitingCommunities: communitiesData?.benefitingCommunities,
indigenousCommunities:
sowData?.nodes[0]?.sowTab8SBySowId?.nodes[0]?.jsonData
?.indigenousCommunitiesNumber,
indigenousCommunities,
nonIndigenousCommunities:
communities && indigenousCommunities
? communities - indigenousCommunities
: communities,
benefitingIndigenousCommunities:
communitiesData?.benefitingIndigenousCommunities,
totalHouseholdsImpacted:
Expand Down Expand Up @@ -222,6 +191,7 @@ const getSowData = (sowData, baseSowData) => {
communities: 'SOW',
benefitingCommunities: 'SOW',
indigenousCommunities: 'SOW',
nonIndigenousCommunities: 'SOW',
benefitingIndigenousCommunities: 'SOW',
totalHouseholdsImpacted: 'SOW',
numberOfIndigenousHouseholds: 'SOW',
Expand Down Expand Up @@ -272,6 +242,7 @@ const getFormDataFromApplication = (applicationData, allIntakes) => {
communities: null,
benefitingCommunities: null,
indigenousCommunities: null,
nonIndigenousCommunities: null,
benefitingIndigenousCommunities: null,
totalHouseholdsImpacted:
applicationData?.formData?.jsonData?.benefits?.numberOfHouseholds,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -620,7 +620,7 @@ const mockQueryPayloadAgreementSigned = {
},
],
communitiesNumber: 4,
indigenousCommunitiesNumber: 0,
indigenousCommunitiesNumber: 1,
},
sowId: 4,
},
Expand Down Expand Up @@ -738,9 +738,22 @@ describe('The Summary page', () => {
expect(screen.getByText('Somewhere')).toBeInTheDocument();
// benefiting indigenous communities
expect(screen.getByText('Here')).toBeInTheDocument();
// indigenous communities
expect(
screen.getByTestId('root_counts_indigenousCommunities-value')
).toHaveTextContent('1');
// communities
expect(
screen.getByTestId('root_counts_communities-value')
).toHaveTextContent('4');
// non-indigenous communities
expect(
screen.getByTestId('root_counts_nonIndigenousCommunities-value')
).toHaveTextContent('3');

// milestone
expect(screen.getByText('24%')).toBeInTheDocument();
// application source
expect(screen.getAllByText('(SOW)')).toHaveLength(15);
expect(screen.getAllByText('(SOW)')).toHaveLength(16);
});
});
1 change: 1 addition & 0 deletions db/sqitch.plan
Original file line number Diff line number Diff line change
Expand Up @@ -652,3 +652,4 @@ mutations/edit_cbc_project_communities 2024-08-21T15:16:56Z Anthony Bushara <ant
@1.186.2 2024-08-28T15:58:56Z CCBC Service Account <[email protected]> # release v1.186.2
tables/communities_source_data_001_service_account 2024-08-28T16:32:48Z Rafael Solorzano <[email protected]> # grants service account to communities source data table
@1.186.3 2024-08-28T17:01:51Z CCBC Service Account <[email protected]> # release v1.186.3
@1.186.4 2024-08-29T17:49:49Z CCBC Service Account <[email protected]> # release v1.186.4
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "CONN-CCBC-portal",
"version": "1.186.3",
"version": "1.186.4",
"main": "index.js",
"repository": "https://github.com/bcgov/CONN-CCBC-portal.git",
"author": "Romer, Meherzad CITZ:EX <[email protected]>",
Expand Down

0 comments on commit b8f19e1

Please sign in to comment.