fix: [AA-1018] api refactor
This is the first step toward clearing out the redundant metadata from the coursewareMetadata and getting it from a common source - the courseHomeMetadata. remove username from coursewareMetadata Remove courseAccess from coursewareMetadata. Fix all unit tests Modify classes that use metadataModel to use courseHomeMetadata for common data. metadataModel still exists as a mechanism to distinguish if a component is under courseware or courseHome, and it will be renamed or removed in a later refactor.
This commit is contained in:
@@ -5,9 +5,9 @@ import { Factory } from 'rosie'; // eslint-disable-line import/no-extraneous-dep
|
||||
import './tab.factory';
|
||||
|
||||
export default new Factory()
|
||||
.sequence('id', (i) => `course-v1:edX+DemoX+Demo_Course_${i}`)
|
||||
.option('host')
|
||||
.attrs({
|
||||
id: 'course-v1:edX+DemoX+Demo_Course_1',
|
||||
is_staff: false,
|
||||
original_user_is_staff: false,
|
||||
number: 'DemoX',
|
||||
|
||||
@@ -58,7 +58,7 @@ function StreakModal({
|
||||
if (!isStreakCelebrationOpen) {
|
||||
return null;
|
||||
}
|
||||
const { org, celebrations, username } = useModel(metadataModel, courseId);
|
||||
const { org, celebrations, username } = useModel('courseHomeMeta', courseId);
|
||||
const factoid = getRandomFactoid(intl, streakLengthToCelebrate);
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const [randomFactoid, setRandomFactoid] = useState(factoid); // Don't change factoid on re-render
|
||||
@@ -155,7 +155,7 @@ function StreakModal({
|
||||
title={title}
|
||||
onClose={() => {
|
||||
closeStreakCelebration();
|
||||
recordModalClosing(metadataModel, celebrations, org, courseId, dispatch);
|
||||
recordModalClosing('courseHomeMeta', celebrations, org, courseId, dispatch);
|
||||
}}
|
||||
isOpen={isStreakCelebrationOpen}
|
||||
isFullscreenScroll
|
||||
|
||||
@@ -23,6 +23,7 @@ describe('Loaded Tab Page', () => {
|
||||
let axiosMock;
|
||||
const calculateUrl = `${getConfig().ECOMMERCE_BASE_URL}/api/v2/baskets/calculate/?code=ZGY11119949&sku=8CF08E5&username=MockUser`;
|
||||
const courseMetadata = Factory.build('courseMetadata', { celebrations: { streak_length_to_celebrate: 3 } });
|
||||
const courseHomeMetadata = Factory.build('courseHomeMetadata', { id: courseMetadata.id, courseId: courseMetadata.courseId });
|
||||
|
||||
function setDiscount(percent) {
|
||||
mockData.streakDiscountCouponEnabled = true;
|
||||
@@ -51,7 +52,7 @@ describe('Loaded Tab Page', () => {
|
||||
verifiedMode: camelCaseObject(courseMetadata.verified_mode),
|
||||
};
|
||||
|
||||
testStore = await initializeTestStore({ courseMetadata }, false);
|
||||
testStore = await initializeTestStore({ courseMetadata, courseHomeMetadata }, false);
|
||||
axiosMock = new MockAdapter(getAuthenticatedHttpClient());
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user