Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "feat: create zero state for bnr (#1179)" #1181

Merged
merged 1 commit into from
Mar 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Button, Card } from '@edx/paragon';
import {
formatDate, formatPrice, useBudgetId, usePathToCatalogTab, useSubsidyAccessPolicy,
} from './data';
import nameYourLearner from './assets/reading.svg';
import nameYourLearner from './assets/nameYourLearners.svg';

const AssignMoreCoursesEmptyStateMinimal = () => {
const { subsidyAccessPolicyId } = useBudgetId();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ import { Stack, Skeleton } from '@edx/paragon';
import BudgetDetailRedemptions from './BudgetDetailRedemptions';
import BudgetDetailAssignments from './BudgetDetailAssignments';
import { useBudgetDetailActivityOverview, useBudgetId, useSubsidyAccessPolicy } from './data';
import NoAssignableBudgetActivity from './empty-state/NoAssignableBudgetActivity';
import NoBnEBudgetActivity from './empty-state/NoBnEBudgetActivity';
import NoBudgetActivityEmptyState from './NoBudgetActivityEmptyState';

const BudgetDetailActivityTabContents = ({ enterpriseUUID, enterpriseFeatures }) => {
const isTopDownAssignmentEnabled = enterpriseFeatures.topDownAssignmentRealTimeLcm;
Expand All @@ -33,22 +32,19 @@ const BudgetDetailActivityTabContents = ({ enterpriseUUID, enterpriseFeatures })
);
}

const hasSpentTransactions = budgetActivityOverview.spentTransactions?.count > 0;
const hasContentAssignments = budgetActivityOverview.contentAssignments?.count > 0;

if (!isTopDownAssignmentEnabled || !subsidyAccessPolicy?.isAssignable) {
return (
<>
{!hasSpentTransactions && (<NoBnEBudgetActivity />)}
<BudgetDetailRedemptions />
</>
);
return <BudgetDetailRedemptions />;
}

const hasContentAssignments = !!budgetActivityOverview.contentAssignments?.count > 0;
const hasSpentTransactions = !!budgetActivityOverview.spentTransactions?.count > 0;

// If there is no activity whatsoever (no assignments, no spent transactions), show the
// full empty state.
if (!hasContentAssignments && !hasSpentTransactions) {
return <NoAssignableBudgetActivity />;
return (
<NoBudgetActivityEmptyState />
);
}

// Otherwise, render the contents of the "Activity" tab.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ import { sendEnterpriseTrackEvent } from '@edx/frontend-enterprise-utils';
import { Link } from 'react-router-dom';
import { connect } from 'react-redux';

import { useIsLargeOrGreater, usePathToCatalogTab } from '../data';
import findTheRightCourse from '../assets/phoneScroll.svg';
import nameYourLearners from '../assets/reading.svg';
import confirmSpend from '../assets/wallet.svg';
import EVENT_NAMES from '../../../eventTracking';
import { useIsLargeOrGreater, usePathToCatalogTab } from './data';
import nameYourLearners from './assets/nameYourLearners.svg';
import findTheRightCourse from './assets/findTheRightCourse.svg';
import confirmSpend from './assets/confirmSpend.svg';
import EVENT_NAMES from '../../eventTracking';

const FindTheRightCourseIllustration = (props) => (
<img data-testid="find-the-right-course-illustration" src={findTheRightCourse} alt="" {...props} />
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -445,7 +445,7 @@ describe('<BudgetDetailPage />', () => {
it.each([
{ isLargeViewport: true },
{ isLargeViewport: false },
])('displays assignable budget activity overview empty state', async ({ isLargeViewport }) => {
])('displays budget activity overview empty state', async ({ isLargeViewport }) => {
useIsLargeOrGreater.mockReturnValue(isLargeViewport);
useParams.mockReturnValue({
enterpriseSlug: 'test-enterprise-slug',
Expand All @@ -472,39 +472,6 @@ describe('<BudgetDetailPage />', () => {
await waitFor(() => expect(sendEnterpriseTrackEvent).toHaveBeenCalledTimes(1));
});

it.each([
{ isLargeViewport: true },
{ isLargeViewport: false },
])('displays bnr budget activity overview empty state', async ({ isLargeViewport }) => {
useIsLargeOrGreater.mockReturnValue(isLargeViewport);
useParams.mockReturnValue({
enterpriseSlug: 'test-enterprise-slug',
enterpriseAppPage: 'test-enterprise-page',
budgetId: 'a52e6548-649f-4576-b73f-c5c2bee25e9c',
activeTabKey: 'activity',
});
useSubsidyAccessPolicy.mockReturnValue({
isInitialLoading: false,
data: mockPerLearnerSpendLimitSubsidyAccessPolicy,
});
useBudgetDetailActivityOverview.mockReturnValue({
isLoading: false,
data: mockEmptyStateBudgetDetailActivityOverview,
});
useBudgetRedemptions.mockReturnValue({
isLoading: false,
budgetRedemptions: mockEmptyBudgetRedemptions,
fetchBudgetRedemptions: jest.fn(),
});
renderWithRouter(<BudgetDetailPageWrapper />);

// Overview empty state (no content assignments, no spent transactions)
expect(screen.getByText('No budget activity yet? Invite members to browse the catalog and enroll!')).toBeInTheDocument();
const illustrationTestIds = ['name-your-members-illustration', 'members-browse-illustration', 'enroll-and-spend-illustration'];
illustrationTestIds.forEach(testId => expect(screen.getByTestId(testId)).toBeInTheDocument());
expect(screen.getByText('Get started', { selector: 'a' })).toBeInTheDocument();
});

it.each([
{
budgetId: mockEnterpriseOfferId,
Expand Down
Loading