Thunk Removal Proof-of-concept (#98)

This commit is contained in:
Ben Warzeski
2023-01-19 10:13:48 -05:00
committed by GitHub
parent 82268b4f37
commit b2e8621e5c
115 changed files with 1409 additions and 1601 deletions

View File

@@ -1,10 +1,10 @@
import { hooks as appHooks } from 'data/redux';
import { reduxHooks } from 'hooks';
export const useProgramData = ({
cardId,
}) => ({
courseTitle: appHooks.useCardCourseData(cardId).title,
relatedPrograms: appHooks.useCardRelatedProgramsData(cardId).list,
courseTitle: reduxHooks.useCardCourseData(cardId).title,
relatedPrograms: reduxHooks.useCardRelatedProgramsData(cardId).list,
});
export default useProgramData;

View File

@@ -7,7 +7,7 @@ import {
Container, Row, Col, ModalDialog,
} from '@edx/paragon';
import { hooks } from 'data/redux';
import { reduxHooks } from 'hooks';
import ProgramCard from './components/ProgramCard';
import messages from './messages';
import './index.scss';
@@ -18,8 +18,8 @@ export const RelatedProgramsModal = ({
cardId,
}) => {
const { formatMessage } = useIntl();
const { courseName } = hooks.useCardCourseData(cardId);
const relatedPrograms = hooks.useCardRelatedProgramsData(cardId).list;
const { courseName } = reduxHooks.useCardCourseData(cardId);
const relatedPrograms = reduxHooks.useCardRelatedProgramsData(cardId).list;
return (
<ModalDialog
title={formatMessage(messages.header)}

View File

@@ -1,12 +1,12 @@
import React from 'react';
import { shallow } from 'enzyme';
import { hooks } from 'data/redux';
import { reduxHooks } from 'hooks';
import RelatedProgramsModal from '.';
jest.mock('./components/ProgramCard', () => 'ProgramCard');
jest.mock('data/redux', () => ({
hooks: {
jest.mock('hooks', () => ({
reduxHooks: {
useCardCourseData: jest.fn(),
useCardRelatedProgramsData: jest.fn(),
},
@@ -41,13 +41,13 @@ const props = {
describe('RelatedProgramsModal', () => {
beforeEach(() => {
hooks.useCardCourseData.mockReturnValueOnce(courseData);
hooks.useCardRelatedProgramsData.mockReturnValueOnce(programData);
reduxHooks.useCardCourseData.mockReturnValueOnce(courseData);
reduxHooks.useCardRelatedProgramsData.mockReturnValueOnce(programData);
});
it('initializes hooks with cardId', () => {
shallow(<RelatedProgramsModal {...props} />);
expect(hooks.useCardCourseData).toHaveBeenCalledWith(cardId);
expect(hooks.useCardRelatedProgramsData).toHaveBeenCalledWith(cardId);
expect(reduxHooks.useCardCourseData).toHaveBeenCalledWith(cardId);
expect(reduxHooks.useCardRelatedProgramsData).toHaveBeenCalledWith(cardId);
});
test('snapshot: open', () => {
expect(shallow(<RelatedProgramsModal {...props} />)).toMatchSnapshot();