diff --git a/src/containers/CourseCard/components/CourseCardActions/UpgradeButton.jsx b/src/containers/CourseCard/components/CourseCardActions/UpgradeButton.jsx deleted file mode 100644 index ca55ec9..0000000 --- a/src/containers/CourseCard/components/CourseCardActions/UpgradeButton.jsx +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; - -import { Locked } from '@openedx/paragon/icons'; -import { useIntl } from '@edx/frontend-platform/i18n'; - -import track from 'tracking'; -import { reduxHooks } from 'hooks'; -import useActionDisabledState from '../hooks'; - -import ActionButton from './ActionButton'; -import messages from './messages'; - -export const UpgradeButton = ({ cardId }) => { - const { formatMessage } = useIntl(); - - const { upgradeUrl } = reduxHooks.useCardCourseRunData(cardId); - const { disableUpgradeCourse } = useActionDisabledState(cardId); - - const trackUpgradeClick = reduxHooks.useTrackCourseEvent( - track.course.upgradeClicked, - cardId, - upgradeUrl, - ); - - const enabledProps = { - as: 'a', - href: upgradeUrl, - onClick: trackUpgradeClick, - }; - return ( - - {formatMessage(messages.upgrade)} - - ); -}; -UpgradeButton.propTypes = { - cardId: PropTypes.string.isRequired, -}; -export default UpgradeButton; diff --git a/src/containers/CourseCard/components/CourseCardActions/index.test.jsx b/src/containers/CourseCard/components/CourseCardActions/index.test.jsx index 5819a9b..3294672 100644 --- a/src/containers/CourseCard/components/CourseCardActions/index.test.jsx +++ b/src/containers/CourseCard/components/CourseCardActions/index.test.jsx @@ -3,7 +3,6 @@ import { shallow } from '@edx/react-unit-test-utils'; import { reduxHooks } from 'hooks'; import CourseCardActionSlot from 'plugin-slots/CourseCardActionSlot'; -import UpgradeButton from './UpgradeButton'; import SelectSessionButton from './SelectSessionButton'; import BeginCourseButton from './BeginCourseButton'; import ResumeButton from './ResumeButton'; @@ -21,7 +20,6 @@ jest.mock('hooks', () => ({ })); jest.mock('plugin-slots/CourseCardActionSlot', () => 'CustomActionButton'); -jest.mock('./UpgradeButton', () => 'UpgradeButton'); jest.mock('./SelectSessionButton', () => 'SelectSessionButton'); jest.mock('./ViewCourseButton', () => 'ViewCourseButton'); jest.mock('./BeginCourseButton', () => 'BeginCourseButton'); @@ -59,19 +57,7 @@ describe('CourseCardActions', () => { }); }); describe('output', () => { - describe('Exec Ed course', () => { - it('does not render upgrade button', () => { - mockHooks({ isExecEd2UCourse: true }); - render(); - expect(el.instance.findByType(UpgradeButton).length).toEqual(0); - }); - }); describe('entitlement course', () => { - it('does not render upgrade button', () => { - mockHooks({ isEntitlement: true }); - render(); - expect(el.instance.findByType(UpgradeButton).length).toEqual(0); - }); it('renders ViewCourseButton if fulfilled', () => { mockHooks({ isEntitlement: true, isFulfilled: true }); render(); @@ -83,22 +69,15 @@ describe('CourseCardActions', () => { expect(el.instance.findByType(SelectSessionButton)[0].props.cardId).toEqual(cardId); }); }); - describe('verified course', () => { - it('does not render upgrade button', () => { - mockHooks({ isVerified: true }); - render(); - expect(el.instance.findByType(UpgradeButton).length).toEqual(0); - }); - }); describe('not entitlement, verified, or exec ed', () => { - it('renders UpgradeButton and ViewCourseButton for archived courses', () => { + it('renders CourseCardActionSlot and ViewCourseButton for archived courses', () => { mockHooks({ isArchived: true }); render(); expect(el.instance.findByType(CourseCardActionSlot)[0].props.cardId).toEqual(cardId); expect(el.instance.findByType(ViewCourseButton)[0].props.cardId).toEqual(cardId); }); describe('unstarted courses', () => { - it('renders UpgradeButton and BeginCourseButton', () => { + it('renders CourseCardActionSlot and BeginCourseButton', () => { mockHooks(); render(); expect(el.instance.findByType(CourseCardActionSlot)[0].props.cardId).toEqual(cardId); @@ -106,7 +85,7 @@ describe('CourseCardActions', () => { }); }); describe('active courses (started, and not archived)', () => { - it('renders UpgradeButton and ResumeButton', () => { + it('renders CourseCardActionSlot and ResumeButton', () => { mockHooks({ hasStarted: true }); render(); expect(el.instance.findByType(CourseCardActionSlot)[0].props.cardId).toEqual(cardId); diff --git a/src/tracking/trackers/course.js b/src/tracking/trackers/course.js index 1edba26..8513692 100644 --- a/src/tracking/trackers/course.js +++ b/src/tracking/trackers/course.js @@ -2,13 +2,6 @@ import { createEventTracker, createLinkTracker } from 'data/services/segment/uti import { categories, eventNames } from '../constants'; import * as module from './course'; -export const upsellOptions = { - linkName: 'course_dashboard_green', - linkType: 'button', - pageName: 'course_dashboard', - linkCategory: 'green_update', -}; - // Utils/Helpers /** * Generate a segement event tracker for a given course event.