Skip to content

Commit a2f86fa

Browse files
committed
fix: PR reviews again
1 parent 341f79f commit a2f86fa

File tree

3 files changed

+63
-48
lines changed

3 files changed

+63
-48
lines changed

src/components/EnterpriseApp/index.jsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,6 @@ EnterpriseApp.propTypes = {
214214
enableAnalyticsScreen: PropTypes.bool,
215215
enableReportingConfigurationsScreen: PropTypes.bool,
216216
enablePortalLearnerCreditManagementScreen: PropTypes.bool,
217-
enterpriseGroupsV2: PropTypes.bool,
218217
error: PropTypes.instanceOf(Error),
219218
loading: PropTypes.bool,
220219
};

src/components/PeopleManagement/index.jsx

Lines changed: 35 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import React, { useContext } from 'react';
22
import { Helmet } from 'react-helmet';
33
import { useIntl, FormattedMessage } from '@edx/frontend-platform/i18n';
44
import {
5-
ActionRow, Button, Card, Icon, IconButtonWithTooltip, useToggle,
5+
ActionRow, Button, Card, useToggle,
66
} from '@openedx/paragon';
7-
import { Add, InfoOutline } from '@openedx/paragon/icons';
7+
import { Add } from '@openedx/paragon/icons';
88

99
import cardImage from './images/ZeroStateImage.svg';
1010
import Hero from '../Hero';
@@ -19,60 +19,47 @@ const PeopleManagementPage = () => {
1919
description: 'Title for the people management page.',
2020
});
2121

22-
const {
23-
enterpriseSubsidyTypes,
24-
} = useContext(EnterpriseSubsidiesContext);
22+
const { enterpriseSubsidyTypes } = useContext(EnterpriseSubsidiesContext);
2523

26-
const hasLearnerCredit = enterpriseSubsidyTypes.includes(SUBSIDY_TYPES.budget);
24+
const hasLearnerCredit = enterpriseSubsidyTypes.includes(
25+
SUBSIDY_TYPES.budget,
26+
);
2727
const hasOtherSubsidyTypes = enterpriseSubsidyTypes.includes(SUBSIDY_TYPES.license)
2828
|| enterpriseSubsidyTypes.includes(SUBSIDY_TYPES.coupon);
2929

3030
// eslint-disable-next-line @typescript-eslint/no-unused-vars
3131
const [isModalOpen, openModal, closeModal] = useToggle(false);
3232

33-
const tooltipContent = (
34-
<FormattedMessage
35-
id="admin.portal.people.management.page.tooltip.content"
36-
defaultMessage="Only available for Learner Credit"
37-
description="Tooltip to say this is only available for Learner Credit (not codes or subscriptions)."
38-
/>
39-
);
40-
4133
return (
4234
<>
4335
<Helmet title={PAGE_TITLE} />
4436
<Hero title={PAGE_TITLE} />
45-
{hasLearnerCredit && (
4637
<div className="mx-3 mt-4">
4738
<ActionRow className="mb-4">
4839
<span className="flex-column">
4940
<span className="d-flex">
5041
<h3 className="mt-2">
5142
<FormattedMessage
5243
id="admin.portal.people.management.page.title"
53-
defaultMessage="Your Learner Credit groups"
44+
defaultMessage="Your organization's groups"
5445
description="Title for people management zero state."
5546
/>
5647
</h3>
57-
{hasLearnerCredit && hasOtherSubsidyTypes && (
58-
<IconButtonWithTooltip
59-
key="primary"
60-
tooltipPlacement="top"
61-
tooltipContent={tooltipContent}
62-
src={InfoOutline}
63-
iconAs={Icon}
64-
alt="Info Popup"
65-
onClick={() => {}}
66-
variant="primary"
67-
className="ml-1"
68-
/>
69-
)}
7048
</span>
71-
<FormattedMessage
72-
id="admin.portal.people.management.page.subtitle"
73-
defaultMessage="Monitor group learning progress, assign more courses, and invite members to new Learner Credit budgets."
74-
description="Subtitle for people management zero state."
75-
/>
49+
{hasLearnerCredit && (
50+
<FormattedMessage
51+
id="admin.portal.people.management.page.subtitle.lc"
52+
defaultMessage="Monitor group learning progress, assign more courses, and invite members to new Learner Credit budgets."
53+
description="Subtitle for people management with learner credit."
54+
/>
55+
)}
56+
{!hasLearnerCredit && hasOtherSubsidyTypes && (
57+
<FormattedMessage
58+
id="admin.portal.people.management.page.subtitle.noLc"
59+
defaultMessage="Monitor group learning progress."
60+
description="Subtitle for people management without learner credit."
61+
/>
62+
)}
7663
</span>
7764
<ActionRow.Spacer />
7865
<Button iconBefore={Add} onClick={openModal}>
@@ -98,16 +85,24 @@ const PeopleManagementPage = () => {
9885
/>
9986
</h2>
10087
<p className="mx-2">
101-
<FormattedMessage
102-
id="admin.portal.people.management.page.zerostate.card.subtitle"
103-
defaultMessage="Once a group is created, you can track members' progress, assign extra courses, and invite them to additional budgets."
104-
description="Detail message shown to admin benefits of creating a group."
105-
/>
88+
{hasLearnerCredit && (
89+
<FormattedMessage
90+
id="admin.portal.people.management.page.zerostate.card.subtitle.lc"
91+
defaultMessage="Once a group is created, you can track members' progress, assign extra courses, and invite them to additional budgets."
92+
description="Detail message shown to admin benefits of creating a group with learner credit."
93+
/>
94+
)}
95+
{!hasLearnerCredit && hasOtherSubsidyTypes && (
96+
<FormattedMessage
97+
id="admin.portal.people.management.page.zerostate.card.subtitle.noLc"
98+
defaultMessage="Once a group is created, you can track members' progress."
99+
description="Detail message shown to admin benefits of creating a group without learner credit."
100+
/>
101+
)}
106102
</p>
107103
</span>
108104
</Card>
109105
</div>
110-
)}
111106
</>
112107
);
113108
};

src/components/PeopleManagement/tests/PeopleManagementPage.test.jsx

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import {
2-
render, screen,
3-
} from '@testing-library/react';
1+
import { render, screen } from '@testing-library/react';
42
import '@testing-library/jest-dom/extend-expect';
53
import thunk from 'redux-thunk';
64
import configureMockStore from 'redux-mock-store';
@@ -11,7 +9,7 @@ import { EnterpriseSubsidiesContext } from '../../EnterpriseSubsidiesContext';
119
import PeopleManagementPage from '..';
1210

1311
const mockStore = configureMockStore([thunk]);
14-
const getMockStore = store => mockStore(store);
12+
const getMockStore = (store) => mockStore(store);
1513
const enterpriseSlug = 'test-enterprise';
1614
const enterpriseUUID = '1234';
1715
const initialStoreState = {
@@ -23,7 +21,12 @@ const initialStoreState = {
2321
};
2422

2523
const defaultEnterpriseSubsidiesContextValue = {
26-
enterpriseSubsidyTypes: ['budget', 'license'],
24+
enterpriseSubsidyTypes: ['budget'],
25+
isLoading: false,
26+
};
27+
28+
const subsEnterpriseSubsidiesContextValue = {
29+
enterpriseSubsidyTypes: ['license'],
2730
isLoading: false,
2831
};
2932

@@ -46,9 +49,27 @@ const PeopleManagementPageWrapper = ({
4649
describe('<PeopleManagementPage >', () => {
4750
it('renders the PeopleManagementPage zero state', () => {
4851
render(<PeopleManagementPageWrapper />);
52+
expect(document.querySelector('h3').textContent).toEqual("Your organization's groups");
53+
expect(screen.getByText("You don't have any groups yet.")).toBeInTheDocument();
54+
expect(screen.getByText(
55+
'Monitor group learning progress, assign more courses, and invite members to new Learner Credit budgets.',
56+
)).toBeInTheDocument();
57+
});
58+
it('renders the PeopleManagementPage zero state without LC', () => {
59+
const store = getMockStore(initialStoreState);
60+
render(
61+
<IntlProvider locale="en">
62+
<Provider store={store}>
63+
<EnterpriseSubsidiesContext.Provider value={subsEnterpriseSubsidiesContextValue}>
64+
<PeopleManagementPage />
65+
</EnterpriseSubsidiesContext.Provider>
66+
</Provider>
67+
</IntlProvider>,
68+
);
4969
expect(document.querySelector('h3').textContent).toEqual(
50-
'Your Learner Credit groups',
70+
"Your organization's groups",
5171
);
52-
expect(screen.getByText('You don\'t have any groups yet.')).toBeInTheDocument();
72+
expect(screen.getByText("You don't have any groups yet.")).toBeInTheDocument();
73+
expect(screen.getByText("Once a group is created, you can track members' progress.")).toBeInTheDocument();
5374
});
5475
});

0 commit comments

Comments
 (0)