Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…n-portal into bilalqamar95/frontend-build-upgrade
  • Loading branch information
BilalQamar95 committed Nov 21, 2022
2 parents cf6ffe7 + 5c052b9 commit 83eb04b
Show file tree
Hide file tree
Showing 3 changed files with 197 additions and 139 deletions.
33 changes: 28 additions & 5 deletions src/components/EnterpriseApp/EnterpriseAppContextProvider.test.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,46 @@ import {
screen,
} from '@testing-library/react';
import '@testing-library/jest-dom/extend-expect';
import * as hooks from './data/hooks';
import EnterpriseAppContextProvider from './EnterpriseAppContextProvider';
import * as subsidyRequestsContext from '../subsidy-requests/SubsidyRequestsContext';
import * as enterpriseSubsidiesContext from '../EnterpriseSubsidiesContext';

const TEST_ENTERPRISE_UUID = 'test-enterprise-uuid';
const TEST_ENTERPRISE_NAME = 'test-enterprise-name';

jest.mock('./data/hooks');

describe('<EnterpriseAppContextProvider />', () => {
it.each([{
isLoadingEnterpriseSubsidies: true,
isLoadingSubsidyRequests: false,
isLoadingEnterpriseCuration: false,
},
{
isLoadingEnterpriseSubsidies: false,
isLoadingSubsidyRequests: true,
isLoadingEnterpriseCuration: false,
},
{
isLoadingEnterpriseSubsidies: true,
isLoadingEnterpriseSubsidies: false,
isLoadingSubsidyRequests: false,
isLoadingEnterpriseCuration: true,
},
{
isLoadingEnterpriseSubsidies: false,
isLoadingSubsidyRequests: false,
isLoadingEnterpriseSubsidies: true,
isLoadingSubsidyRequests: true,
isLoadingEnterpriseCuration: false,
},
])('renders <EnterpriseAppSkeleton /> if loading', async ({
{
isLoadingEnterpriseSubsidies: true,
isLoadingSubsidyRequests: true,
isLoadingEnterpriseCuration: true,
},
])('renders <EnterpriseAppSkeleton /> when: %s', async ({
isLoadingEnterpriseSubsidies,
isLoadingSubsidyRequests,
isLoadingEnterpriseCuration,
}) => {
const mockUseEnterpriseSubsidiesContext = jest.spyOn(enterpriseSubsidiesContext, 'useEnterpriseSubsidiesContext').mockReturnValue({
isLoading: isLoadingEnterpriseSubsidies,
Expand All @@ -36,6 +53,11 @@ describe('<EnterpriseAppContextProvider />', () => {
isLoading: isLoadingSubsidyRequests,
},
);
const mockUseEnterpriseCurationContext = jest.spyOn(hooks, 'useEnterpriseCurationContext').mockReturnValue(
{
isLoading: isLoadingEnterpriseCuration,
},
);

render(
<EnterpriseAppContextProvider
Expand All @@ -50,8 +72,9 @@ describe('<EnterpriseAppContextProvider />', () => {
await waitFor(() => {
expect(mockUseSubsidyRequestsContext).toHaveBeenCalled();
expect(mockUseEnterpriseSubsidiesContext).toHaveBeenCalled();
expect(mockUseEnterpriseCurationContext).toHaveBeenCalled();

if (isLoadingEnterpriseSubsidies || isLoadingSubsidyRequests) {
if (isLoadingEnterpriseSubsidies || isLoadingSubsidyRequests || isLoadingEnterpriseCuration) {
expect(screen.getByText('Loading...'));
} else {
expect(screen.getByText('children'));
Expand Down
14 changes: 12 additions & 2 deletions src/components/EnterpriseApp/data/hooks/useEnterpriseCuration.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {
useCallback, useEffect, useState,
} from 'react';
import { logError } from '@edx/frontend-platform/logging';
import { getConfig } from '@edx/frontend-platform/config';
import { camelCaseObject } from '@edx/frontend-platform/utils';

import EnterpriseCatalogApiService from '../../../../data/services/EnterpriseCatalogApiService';
Expand All @@ -16,6 +17,8 @@ function useEnterpriseCuration({ enterpriseId, curationTitleForCreation }) {
const [fetchError, setFetchError] = useState(null);
const [enterpriseCuration, setEnterpriseCuration] = useState(null);

const config = getConfig();

const createEnterpriseCuration = useCallback(async () => {
try {
const response = await EnterpriseCatalogApiService.createEnterpriseCurationConfig(enterpriseId, {
Expand Down Expand Up @@ -61,8 +64,15 @@ function useEnterpriseCuration({ enterpriseId, curationTitleForCreation }) {
}
};

getOrCreateConfiguration();
}, [enterpriseId, getEnterpriseCuration, createEnterpriseCuration]);
if (config.FEATURE_CONTENT_HIGHLIGHTS) {
getOrCreateConfiguration();
}
}, [
enterpriseId,
getEnterpriseCuration,
createEnterpriseCuration,
config,
]);

return {
isLoading,
Expand Down
Loading

0 comments on commit 83eb04b

Please sign in to comment.