lk/resume button url (#56)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`CourseCardMenu enrolled, share enabled snapshot 1`] = `
|
||||
exports[`CourseCardMenu enrolled, share enabled, email setting enable snapshot 1`] = `
|
||||
<Fragment>
|
||||
<Dropdown>
|
||||
<Dropdown.Toggle
|
||||
@@ -28,8 +28,9 @@ exports[`CourseCardMenu enrolled, share enabled snapshot 1`] = `
|
||||
</Dropdown.Item>
|
||||
<Dropdown.Item>
|
||||
<TwitterShareButton
|
||||
title="I'm taking test-course-name online with facebook-social-brand. Check it out!"
|
||||
url="facebook-share-url"
|
||||
className="w-100 text-left"
|
||||
title="I'm taking test-course-name online with twitter-social-brand. Check it out!"
|
||||
url="twitter-share-url"
|
||||
>
|
||||
Share to Twitter
|
||||
</TwitterShareButton>
|
||||
@@ -77,8 +78,9 @@ exports[`CourseCardMenu masquerading snapshot 1`] = `
|
||||
</Dropdown.Item>
|
||||
<Dropdown.Item>
|
||||
<TwitterShareButton
|
||||
title="I'm taking test-course-name online with facebook-social-brand. Check it out!"
|
||||
url="facebook-share-url"
|
||||
className="w-100 text-left"
|
||||
title="I'm taking test-course-name online with twitter-social-brand. Check it out!"
|
||||
url="twitter-share-url"
|
||||
>
|
||||
Share to Twitter
|
||||
</TwitterShareButton>
|
||||
@@ -98,7 +100,7 @@ exports[`CourseCardMenu masquerading snapshot 1`] = `
|
||||
</Fragment>
|
||||
`;
|
||||
|
||||
exports[`CourseCardMenu not enrolled, share disabled snapshot 1`] = `
|
||||
exports[`CourseCardMenu not enrolled, share disabled, email setting disabled snapshot 1`] = `
|
||||
<Fragment>
|
||||
<Dropdown>
|
||||
<Dropdown.Toggle
|
||||
@@ -109,25 +111,12 @@ exports[`CourseCardMenu not enrolled, share disabled snapshot 1`] = `
|
||||
src={[MockFunction icons.MoreVert]}
|
||||
variant="primary"
|
||||
/>
|
||||
<Dropdown.Menu>
|
||||
<Dropdown.Item
|
||||
data-testid="emailSettingsModalToggle"
|
||||
disabled={false}
|
||||
onClick={[MockFunction emailSettingShow]}
|
||||
>
|
||||
Email settings
|
||||
</Dropdown.Item>
|
||||
</Dropdown.Menu>
|
||||
<Dropdown.Menu />
|
||||
</Dropdown>
|
||||
<UnenrollConfirmModal
|
||||
cardId="test-card-id"
|
||||
closeModal={[MockFunction unenrollHide]}
|
||||
show={false}
|
||||
/>
|
||||
<EmailSettingsModal
|
||||
cardId="test-card-id"
|
||||
closeModal={[MockFunction emailSettingHide]}
|
||||
show={false}
|
||||
/>
|
||||
</Fragment>
|
||||
`;
|
||||
|
||||
@@ -17,7 +17,7 @@ export const CourseCardMenu = ({ cardId }) => {
|
||||
const emailSettingsModal = useEmailSettings();
|
||||
const unenrollModal = useUnenrollData();
|
||||
const { courseName } = appHooks.useCardCourseData(cardId);
|
||||
const { isEnrolled } = appHooks.useCardEnrollmentData(cardId);
|
||||
const { isEnrolled, isEmailEnabled } = appHooks.useCardEnrollmentData(cardId);
|
||||
const {
|
||||
// facebook,
|
||||
twitter,
|
||||
@@ -46,13 +46,15 @@ export const CourseCardMenu = ({ cardId }) => {
|
||||
{formatMessage(messages.unenroll)}
|
||||
</Dropdown.Item>
|
||||
)}
|
||||
<Dropdown.Item
|
||||
disabled={isMasquerading}
|
||||
onClick={emailSettingsModal.show}
|
||||
data-testid="emailSettingsModalToggle"
|
||||
>
|
||||
{formatMessage(messages.emailSettings)}
|
||||
</Dropdown.Item>
|
||||
{isEmailEnabled && (
|
||||
<Dropdown.Item
|
||||
disabled={isMasquerading}
|
||||
onClick={emailSettingsModal.show}
|
||||
data-testid="emailSettingsModalToggle"
|
||||
>
|
||||
{formatMessage(messages.emailSettings)}
|
||||
</Dropdown.Item>
|
||||
)}
|
||||
{/* Disabled pending PM decision on missing quote param in updated FB api.
|
||||
{facebook.isEnabled && (
|
||||
<Dropdown.Item>
|
||||
@@ -76,6 +78,7 @@ export const CourseCardMenu = ({ cardId }) => {
|
||||
courseName,
|
||||
socialBrand: twitter.socialBrand,
|
||||
})}
|
||||
className="w-100 text-left"
|
||||
>
|
||||
{formatMessage(messages.shareToTwitter)}
|
||||
</ReactShare.TwitterShareButton>
|
||||
@@ -88,11 +91,13 @@ export const CourseCardMenu = ({ cardId }) => {
|
||||
closeModal={unenrollModal.hide}
|
||||
cardId={cardId}
|
||||
/>
|
||||
<EmailSettingsModal
|
||||
show={emailSettingsModal.isVisible}
|
||||
closeModal={emailSettingsModal.hide}
|
||||
cardId={cardId}
|
||||
/>
|
||||
{isEmailEnabled && (
|
||||
<EmailSettingsModal
|
||||
show={emailSettingsModal.isVisible}
|
||||
closeModal={emailSettingsModal.hide}
|
||||
cardId={cardId}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -42,8 +42,8 @@ const defaultSocialShare = {
|
||||
},
|
||||
twitter: {
|
||||
isEnabled: true,
|
||||
shareUrl: 'facebook-share-url',
|
||||
socialBrand: 'facebook-social-brand',
|
||||
shareUrl: 'twitter-share-url',
|
||||
socialBrand: 'twitter-social-brand',
|
||||
},
|
||||
};
|
||||
const courseName = 'test-course-name';
|
||||
@@ -56,10 +56,10 @@ describe('CourseCardMenu', () => {
|
||||
useUnenrollData.mockReturnValue(defaultUnenrollModal);
|
||||
appHooks.useCardSocialSettingsData.mockReturnValue(defaultSocialShare);
|
||||
appHooks.useCardCourseData.mockReturnValue({ courseName });
|
||||
appHooks.useCardEnrollmentData.mockReturnValue({ isEnrolled: true });
|
||||
appHooks.useCardEnrollmentData.mockReturnValue({ isEnrolled: true, isEmailEnabled: true });
|
||||
appHooks.useMasqueradeData.mockReturnValue({ isMasquerading: false });
|
||||
});
|
||||
describe('enrolled, share enabled', () => {
|
||||
describe('enrolled, share enabled, email setting enable', () => {
|
||||
beforeEach(() => {
|
||||
wrapper = shallow(<CourseCardMenu {...props} />);
|
||||
});
|
||||
@@ -68,7 +68,9 @@ describe('CourseCardMenu', () => {
|
||||
});
|
||||
it('renders share buttons', () => {
|
||||
// expect(wrapper.find('FacebookShareButton').length).toEqual(1);
|
||||
expect(wrapper.find('TwitterShareButton').length).toEqual(1);
|
||||
el = wrapper.find('TwitterShareButton');
|
||||
expect(el.length).toEqual(1);
|
||||
expect(el.prop('url')).toEqual('twitter-share-url');
|
||||
});
|
||||
it('renders enabled unenroll modal toggle', () => {
|
||||
el = wrapper.find({ 'data-testid': 'unenrollModalToggle' });
|
||||
@@ -78,21 +80,25 @@ describe('CourseCardMenu', () => {
|
||||
el = wrapper.find({ 'data-testid': 'emailSettingsModalToggle' });
|
||||
expect(el.props().disabled).toEqual(false);
|
||||
});
|
||||
it('renders enabled email settings modal toggle', () => {
|
||||
el = wrapper.find({ 'data-testid': 'emailSettingsModalToggle' });
|
||||
expect(el.props().disabled).toEqual(false);
|
||||
});
|
||||
});
|
||||
describe('not enrolled, share disabled', () => {
|
||||
describe('not enrolled, share disabled, email setting disabled', () => {
|
||||
beforeEach(() => {
|
||||
appHooks.useCardSocialSettingsData.mockReturnValueOnce({
|
||||
...defaultSocialShare,
|
||||
twitter: { ...defaultSocialShare.twitter, isEnabled: false },
|
||||
// facebook: { ...defaultSocialShare.facebook, isEnabled: false },
|
||||
});
|
||||
appHooks.useCardEnrollmentData.mockReturnValueOnce({ isEnrolled: false });
|
||||
appHooks.useCardEnrollmentData.mockReturnValueOnce({ isEnrolled: false, isEmailEnabled: false });
|
||||
wrapper = shallow(<CourseCardMenu {...props} />);
|
||||
});
|
||||
test('snapshot', () => {
|
||||
expect(wrapper).toMatchSnapshot();
|
||||
});
|
||||
it('renders share buttons', () => {
|
||||
it('does not renders share buttons', () => {
|
||||
// expect(wrapper.find('FacebookShareButton').length).toEqual(0);
|
||||
expect(wrapper.find('TwitterShareButton').length).toEqual(0);
|
||||
});
|
||||
@@ -100,9 +106,9 @@ describe('CourseCardMenu', () => {
|
||||
el = wrapper.find({ 'data-testid': 'unenrollModalToggle' });
|
||||
expect(el.length).toEqual(0);
|
||||
});
|
||||
it('renders enabled email settings modal toggle', () => {
|
||||
it('does not render email settings modal toggle', () => {
|
||||
el = wrapper.find({ 'data-testid': 'emailSettingsModalToggle' });
|
||||
expect(el.props().disabled).toEqual(false);
|
||||
expect(el.length).toEqual(0);
|
||||
});
|
||||
});
|
||||
describe('masquerading', () => {
|
||||
@@ -115,7 +121,9 @@ describe('CourseCardMenu', () => {
|
||||
});
|
||||
it('renders share buttons', () => {
|
||||
// expect(wrapper.find('FacebookShareButton').length).toEqual(1);
|
||||
expect(wrapper.find('TwitterShareButton').length).toEqual(1);
|
||||
el = wrapper.find('TwitterShareButton');
|
||||
expect(el.length).toEqual(1);
|
||||
expect(el.prop('url')).toEqual('twitter-share-url');
|
||||
});
|
||||
it('renders disabled unenroll modal toggle', () => {
|
||||
el = wrapper.find({ 'data-testid': 'unenrollModalToggle' });
|
||||
|
||||
Reference in New Issue
Block a user